[asterisk-dev] 'IAX2 call variable passing between servers '

Douglas Garstang dgarstang at oneeighty.com
Fri Aug 11 13:43:33 MST 2006


> -----Original Message-----
> From: Andrew Kohlsmith [mailto:akohlsmith-asterisk at benshaw.com]
> Sent: Friday, August 11, 2006 2:10 PM
> To: asterisk-dev at lists.digium.com
> Subject: Re: [asterisk-dev] 'IAX2 call variable passing 
> between servers
> '
> 
> 
> On Friday 11 August 2006 15:00, Douglas Garstang wrote:
> > It's my understanding that rdnis comes from the phone. When someone
> > forwards their calls, the phone sends back the 'Moved 
> Temporarily' message
> > to Asterisk. Asterisk interprets the SIP message and passes 
> rdnis, dnid and
> > extension back to the dial plan when it re-enters it. It 
> tries to dial the
> > new extension. My original DIAL() command has 'g' in it... 
> which I guess is
> > what causes Asterisk to re-enter the dial plan as it does, 
> and try to find
> > a match for the new extension.
> 
> Asterisk doesn't "re-enter" the dialplan, it CONTINUES along the SAME 
> extension, at the next priority when option 'g' is used for Dial().
> 
> e.g.
> 
> [ooga]
> exten => 500,1,Dial(SIP/500,,)
> exten => 500,n,NoOp(After trying 500...)
> exten => 501,1,Dial(SIP/501,,g)
> exten => 501,n,NoOp(After trying 501...)
> exten => 501,n,Goto(${RDNIS},1)
> 
> (this is all untested, I don't have a SIP phone handy.)
> 
> In this example, if 500 has a redirect, Asterisk will 
> (should) send back a 
> CHANUNAVAIL to whoever tried to call 500.  However, whomever 
> called 501 
> (which has the same redirect) should get "another kick at the 
> cat" with 
> whatever the RDNIS was set to.

I don't know if I'd call it a continuation of the dial plan. The relevant context here has _X. in it, so there's nowhere else to go after it executes that. Therefore, it must be matching _X. again.

ooga looks good... of course the problem here is that if you trunked the call from pbxA to pbxB via IAX, you don't get rdnis. :(



More information about the asterisk-dev mailing list