Summary:ASTERISK-16332: app_echo causing failures in dialplan?
Reporter:John Todd (jtodd)Labels:
Date Opened:2010-07-08 01:23:22Date Closed:2011-06-07 14:05:13
Versions:Frequency of
I suspect this is my own brain fart, but I'm not able to get past any priorities that call app_echo.  Is this a problem with "Echo"?



exten => _[a-z].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN})
exten => _[a-z].,2,Hangup

If I dial "operator@mit.edu" it functions correctly.


exten => _[a-z].,1,Echo(this is all busted up)
exten => _[a-z].,2,Dial(SIP/${EXTEN}@${SIPDOMAIN})
exten => _[a-z].,3,Hangup

Same dialed extension, but the Echo debug log appears on the screen and then... everything stops.  Interestingly, the SIP INVITE keeps re-sending from the client, like the 100 Trying from Asterisk isn't being seen.  However, I really really don't think this is a SIP problem on the client since the addition of the Echo is the ONLY modification between the two dialplan examples.

Debug output:

*CLI>     -- Executing [operator@from-droid:1] Echo("SIP/2209-0000000b", "this is all busted up") in new stack
 == Spawn extension (from-droid, operator, 1) exited non-zero on 'SIP/2209-0000000b'
   -- Executing [h@from-droid:1] Hangup("SIP/2209-0000000b", "") in new stack
 == Spawn extension (from-droid, h, 1) exited non-zero on 'SIP/2209-0000000b'
[Jul  8 06:20:00] WARNING[32177]: chan_sip.c:3253 retrans_pkt: Maximum retries exceeded on transmission 573752591014@ for seqno 2 (Critical Response) -- See doc/sip-retransmit.txt.

Comments:By: Paul Belanger (pabelanger) 2010-07-08 07:53:05

Unless I'm missing something, don't you want to use app_verbose?

Echos back any audio, video or DTMF frames read from the calling  channel
back to itself. Note: If '#' detected application exits

So, without answering the channel I don't believe it will work.

By: Leif Madsen (lmadsen) 2010-07-08 08:04:53

I think pabelanger is right here... I think you're using the wrong application for what you want:

app_echo is not like the bash command "echo" -- it's meant to answer the channel and "echo" back the audio that it receives back to the caller in order to determine if they have bi-directional audio / low latency.

app_verbose is for writing logging information to the console.

By: Russell Bryant (russell) 2010-07-08 08:06:21

or NoOp() :-)

By: John Todd (jtodd) 2010-07-08 09:55:40

Yeah, you're right, I'm totally on crack.  This is what I get for too much shell programming before diving into Dialplan.

By: John Todd (jtodd) 2010-07-08 09:56:11

John needs to have more sleep when doing dialplan routines.