[asterisk-users] Re : Re : Re : Controlling calls

Steve Edwards asterisk.org at sedwards.com
Mon Jun 7 14:45:21 CDT 2010


On Mon, 7 Jun 2010, Adil Zaaraoui wrote:

> Yes you were right, the " exten=> 777,1, 
> Goto(absolute-timeout-test,777,1)" was not in the context 200, Now here 
> is the output:
> 
>  -- Accepting AUTHENTICATED call from 192.168.1.34:
>        > requested format = ulaw,
>        > requested prefs = (),
>        > actual format = ulaw,
>        > host prefs = (ulaw|alaw),
>        > priority = mine
>     -- Executing [777 at IAX:1] Goto("IAX2/200-11946", "absolute-timeout-test|777|1") in new stack
>     -- Goto (absolute-timeout-test,777,1)
>     -- Executing [777 at absolute-timeout-test:1] Verbose("IAX2/200-11946", "1|[absolute-timeout-test:777]") in new stack
>  [absolute-timeout-test:777]
>     -- Executing [777 at absolute-timeout-test:2] Set("IAX2/200-11946", "TIMEOUT(absolute)=10") in new stack
>     -- Channel will hangup at 2010-06-07 21:16:11 UTC.
>     -- Executing [777 at absolute-timeout-test:3] Dial("IAX2/200-11946", "IAX2/400") in new stack
>     -- Called 400
>     -- Call accepted by 192.168.1.33 (format ulaw)
>     -- Format for call is ulaw
>     -- IAX2/400-13689 is ringing
>     -- IAX2/400-13689 answered IAX2/200-11946
>     -- Channel 'IAX2/200-11946' ready to transfer
>     -- Channel 'IAX2/400-13689' ready to transfer
>     -- Releasing IAX2/400-13689 and IAX2/200-11946

Now that we have simplified the environment, eliminated the AGI, and have 
some console output, we can see the problem.

Your Asterisk server is optimizing itself out of the path so IAX2/400 and 
IAX2/200 are talking directly to each other.

> But the communication is still up, we hear each other :( .

Packets are being exchanged directly between the two end points.

Your Asterisk server is no longer in control of the call and cannot hangup 
the call. If you wish to retain control, you need to disable transfer in 
iax.conf. Gee, who knew? It would be nice if Asterisk would warn you 
before it optimized itself out and there was a timer (absolute or S(x)) 
pending.

> I tried the S option and the L one, it stops the call, it just bip in 
> the callee and the call is terminated. Here is how i used it : exten => 
> 777,1,Dial(IAX2/400,S(10))

Please look at the dial command documentation. The second parameter is the 
timeout, the third is the options.

-- 
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards       sedwards at sedwards.com      Voice: +1-760-468-3867 PST
Newline                                              Fax: +1-760-731-3000


More information about the asterisk-users mailing list