Hi!

With latest 1.4-trunk (revision 48358) i have note that Read application is work tragically different with unspecified filename parameter.

//
Just to remember
Read(variable[|filename[&filename2...]][|maxdigits][|option][|attempts][|timeout])
//

For example, let's take following context

context mainmenu {
s=> {jump start;};
start => {
Set(levelup=mainmenu);
Answer();
Read(NUM||1|n|1|3);
MusicOnHold();
Hangup();
};

When some incoming call routed to this context the log says:

-- Executing [EMAIL PROTECTED]:1] Goto("H323/ip$192.168.1.1:63443/4149", "start|1") in new stack
   -- Goto (mainmenu,start,1)
-- Executing [EMAIL PROTECTED]:1] Set("H323/ip$192.168.1.1:63443/4149", "levelup=mainmenu") in new stack -- Executing [EMAIL PROTECTED]:2] Answer("H323/ip$192.168.1.1:63443/4149", "") in new stack -- Executing [EMAIL PROTECTED]:3] Read("H323/ip$192.168.1.1:63443/4149", "NUM||1|n|1|3") in new stack
   -- Accepting a maximum of 1 digits.
   -- User disconnected

== Spawn extension (mainmenu, start, 3) exited non-zero on 'H323/ip$192.168.1.1:63443/4149'

And call is terminated before end user can send any DTMF digit.

But if we replace Read(NUM||1|n|1|3) with same call, but filename parameter specified, incoming call will be processed as assumed (short beep, user can send DTMF or wait for read timeout, after all music on hold is starting).

Following context

context mainmenu {
s=> {jump start;};
start => {
Set(levelup=mainmenu);
Answer();
Read(NUM|beep|1|n|1|3);
MusicOnHold();
Hangup();
};

produce logs

-- Executing [EMAIL PROTECTED]:1] Goto("H323/ip$192.168.1.1:65355/4150", "start|1") in new stack
   -- Goto (mainmenu,start,1)
-- Executing [EMAIL PROTECTED]:1] Set("H323/ip$192.168.1.1:65355/4150", "levelup=mainmenu") in new stack -- Executing [EMAIL PROTECTED]:2] Answer("H323/ip$192.168.1.1:65355/4150", "") in new stack -- Executing [EMAIL PROTECTED]:3] Read("H323/ip$192.168.1.1:65355/4150", "NUM|beep|1|n|1|3") in new stack
   -- Accepting a maximum of 1 digits.
   -- Playing 'beep' (language 'en')

   -- User entered '5'
-- Executing [EMAIL PROTECTED]:4] MusicOnHold("H323/ip$192.168.1.1:65355/4150", "") in new stack -- Started music on hold, class 'default', on H323/ip$192.168.1.1:65355/4150

   -- Stopped music on hold on H323/ip$192.168.1.1:65355/4150
== Spawn extension (mainmenu, start, 4) exited non-zero on 'H323/ip$192.168.1.1:65355/4150'

It seems to be, that filename=NULL processed incorrectly somewhere inside app_read.c.

--
С уважением,
Волков Алексей


_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to