[asterisk-dev] AGI script fails on IAX channels (from call file).

Jonas Arndt jonas_arndt at comcast.net
Wed Sep 12 09:27:56 CDT 2007

Jonas Arndt wrote:
> The first time I tried to send this I hit the "too big message limit".
> Retrying...
> Hi Guys,
> I am sorry if this is not the right list. I am developing AGI scripts on
> Asterisk and have run into some very strange behaviour and I think this
> is a bug, but I am not completely sure. Any suggestions are highly
> appreciated.
> This will be a longer email. Let me first state the ground here
> Facts
>    1. I am on asterisk 1.4.11
>    2. What I am trying to do works on SIP phones and SIP channels
>    3. What I am trying to do FAILS on IAX phone (iaxy) and IAX channels
> Having stated this let's now only focus on the IAX channel. To avoid
> lengthy code reading I will state the problem first and then later the code.
> I have an AGI scrip that takes a single input parameter. You can call it
> from the dial plan like
> exten => *66,2,AGI(test.agi|670507)
> This AGI script starts with a "SAY DIGITS" on the parameter "670507".
> Then it gives you a choice with some "STREAM FILE" and finally a "GET
> DATA". Once you have made your choice the AGI script tells you what you
> chose and hangs up.
> That's it. Really handy little script, right. This is obviously made
> just to demonstrate the problem I am having. Note again, only for IAX.
> Problem
>    1. This does work when the the IAX based phone executes the script
>       from the dial plan. Then there is no problem what so ever replying
>       to with DTMF from the phone.
>    2. This DOES NOT work if I execute the AGI script from a call file. I
>       get the phone call to the IAX based phone and the streams work
>       fine. I just CANNOT reply with DTMF in the "GET DATA" part. It
>       just times out.
> Tracing with
>> iax2 set debug on
> Reveals that I get a "/Rx-Frame Retry[ No] -- OSeqno: 006 ISeqno: 004
> Type: DTMF_E"/ every time I press a key in both cases (execution from
> the dial plan or call file), but it times out when it is executed from a
> call file.
> Now some data: I am sorry if there is some garbage in the traces. I have
> tried to cut out stuff that shouldn't be of any concern, but I was
> scared to cut too much.
> Call File
> =================== Call File ==========================
> channel: Local/3455 at internal
> maxretries: 3
> retrytime: 60
> waittime: 60
> callerid: "Test" <*66>
> application: AGI
> data: test.agi|670507
> ================= End Call File ========================
Hi Guys,

Any thoughts around this? Is more information required or am I missing
something (note that the original post included the code and traces)?
Why would the IAX channel behave differently than a SIP channel? Why
wont the IAX channel accept DTMF when instantiated from a call file?

I am new to this mailing list. Please let me know if I have stepped out
of what is considered a good way of approaching the list.


// Jonas

More information about the asterisk-dev mailing list