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

Douglas Garstang dgarstang at oneeighty.com
Mon Aug 7 13:02:58 MST 2006


> -----Original Message-----
> From: Steven Critchfield [mailto:critch at basesys.com]
> Sent: Monday, August 07, 2006 1:52 PM
> To: Asterisk Developers Mailing List
> Subject: RE: [asterisk-dev] 'IAX2 call variable passing 
> between servers
> '
> 
> 
> On Mon, 2006-08-07 at 13:33 -0600, Douglas Garstang wrote:
> > > -----Original Message-----
> > > From: Kevin P. Fleming [mailto:kpfleming at digium.com]
> > > Sent: Monday, August 07, 2006 12:45 PM
> > > To: Asterisk Developers Mailing List
> > > Subject: Re: [asterisk-dev] 'IAX2 call variable passing 
> > > between servers
> > > '
> > > 
> > > 
> > > ----- Douglas Garstang <dgarstang at oneeighty.com> wrote:
> > > > The endpoint, UA-B, is a sip phone. How can an IAX2 call be 
> > > placed to
> > > > the new destination?
> > > 
> > > Please ask questions that make a little more sense... if the 
> > > new destination is (for example) extension 3001 in the SIP 
> > > peer's dialing context, and that extension ends up pointing 
> > > to an IAX2 endpoint, then of course the outbound call that 
> > > will be placed will be an IAX2 call.
> > 
> > I'm having a little trouble understanding how a Polycom 601 
> phone that
> > has no knowledge of IAX can receive an IAX call. It may make perfect
> > sense to you, but it doesn't to me. 
> 
> In your example, this is very easy. 
> 
> Sip-1 ---> SIP call --> Asterisk 1 --> IAX2 --> Asterisk 2

Steven, at the request of a few people last week, I posted a diagram of what I was working with. Then, there was absolute silence. No a single response. Here's a cut down version.

UA-A ---> Asterisk-1 ---> IAX2 ---> Asterisk-2 ---> UA-B
 
> At asterisk 2, you are IAX2. You don't know about the other side, and
> you shouldn't care about the otherside. Any call from asterisk 2 out
> won't know that the link on the otherside of asterisk1 is and 
> shouldn't
> care.

The call from Asterisk-2 to UA-B has to be a SIP call, because UA-B only talks SIP. It doesn't know anything about IAX2. I ABSOLUTELY do care about the other side, because when Asterisk-2 calls my AGI script that dials UA-B, it sets agi_type to IAX2, not SIP. If that UA-B transfers or forwards a call, and sends a 'Moved Temporarily' SIP message back to Asterisk-2, Asterisk-2 re-enters the dial plan again with agi_type set to IAX2 again, not SIP. Because the type is IAX2, we've lost our rdnis value which is essential for forwarding calls, and we've lost dnid which is essential for transferring calls.

> 
> I'm assuming that some where you are hoping to get a transfer 
> done that
> will get your asterisk machines out of the loop as well as your other
> stated problems. Without using the same transport from end to end, it
> won't happen.

Well, that seems to be the problem. IAX, from what I understood was supposed to be exactly designed for this kind of thing. As soon as I changed to SIP between the Asterisk boxes, these problems went away. 



More information about the asterisk-dev mailing list