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

Douglas Garstang dgarstang at oneeighty.com
Thu Aug 3 11:45:16 MST 2006


> -----Original Message-----
> From: Kevin P. Fleming [mailto:kpfleming at digium.com]
> Sent: Thursday, August 03, 2006 12:29 PM
> To: Asterisk Developers Mailing List
> Subject: Re: [asterisk-dev] 'IAX2 call variable passing 
> between servers
> '
> 
> 
> ----- Douglas Garstang <dgarstang at oneeighty.com> wrote:
> > > CDR(ACCOUNTCODE) on the receiving server. The value that was 
> > > in CDR(ACCOUNTCODE) on the sending server is never 
> > > transferred and will not be visible on the receiving server.
> > 
> > So... are you saying that CDR's are passed through IAX2?
> > I inspected the value of ${CDR(accountcode)} at the remote Asterisk
> > system, but still got 'default'
> 
> Did you read the last three lines of the quoted text?

Realised after my post that I'd misread it. 

We need to pass variables through IAX2. If user A calls user B, and user B is on a different Asterisk system, when the second Asterisk system receives the call, the accountcode, dnid, rdnis etc are completely gone. 

Also, If user B, who is on a SIP phone, transfers or forwards a call at that point, when Asterisk re-enters the dial plan to process the transfered/forwarded call, it does so with a type of IAX2 still, not 'Local' or SIP. It appears as if the initial trunk is overriding in some way all subsequent calls that the second Asterisk system processes, and it doesn't matter what protocol we're using, we are limited by IAX2. 

For example, when user B forwards a call, the rdnis variable is set. If the phone is communicating with Asterisk via SIP, and Asterisk executes an AGI script, the rdnis variable is passed to it, and the call type is 'SIP. However, in the case where user B is on a second Asterisk system and forwards a call, rdnis us 'unknown' and the call type is 'IAX2', eventhough it's a SIP call! This is really breaking things.

Doug.



More information about the asterisk-dev mailing list