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

Andrew Kohlsmith akohlsmith-asterisk at benshaw.com
Mon Aug 14 13:54:24 MST 2006


On Monday 14 August 2006 16:30, Douglas Garstang wrote:
> I appreciate the help, especially from Andrew.
> However, at this point, I've dropped IAX2 and gone with SIP. Reasons
> not-withstanding, IAX2 just wasn't able to handle the task.

I'm really curious to hear your reasons for why IAX2 isn't working.  I think 
we've managed to establish that pbxA -> pbxB can be IAX2 with the var passing 
code, and that RDNIS/DNID does not need to be passed between these two 
servers for this particular application, as it is entirely up to pbxB to get 
the call to the right destination if the first try fails (redirect, etc.)

Remember that there is no such thing as an "IAX2 call" or a "SIP call" -- 
there are two legs, and each leg can be of any supported technology type.  If 
both legs happen to be the same type, then Asterisk might be able to step out 
of the media path, if certain other conditions are met.

In the case of an incoming IAX2 call going to SIP and getting redirected...  
well that's still just an incoming IAX2 leg trying to (and failing to) 
connect to a SIP leg.  Consider this dialplan fragment:

[ooga]
exten => 500,1,Dial(IAX2/${EXTEN})
exten => _X.,1,Dial(SIP/${EXTEN})

pbxA calls pbxB via IAX2 to reach extension 333.  333 sends back a 
"temporarily moved" message to 500.  The call path looks like this:

IAX2 -> pbxB -> SIP/333  (one leg IAX2, one leg SIP), fails due to 302:
IAX2 -> pbxB -> IAX2/500 (both legs are now IAX2)

would you consider the call type to be IAX2 now?  It tried SIP first!  Or what 
if the same dialplan, but the channel tech was SIP between pbxA and pbxB:

SIP -> pbxB -> SIP/333 (both are SIP), fails due to 302:
SIP -> pbxB -> IAX2/500 (now one is SIP and one is IAX2)

Is this a SIP call or an IAX2 call?  Depends on where you're standing...  :-)  
If you're SIP/333 all calls are SIP.  If you're IAX2/500 all calls are IAX2.  
If you're pbxB the calls can be mixed, or both legs can be of one type, which 
simplifies the media routing....

-A.



More information about the asterisk-dev mailing list