[Asterisk-Dev] Transfer of variables in app_dial

John Todd jtodd at loligo.com
Tue Apr 20 12:46:36 MST 2004


At 6:15 PM +0200 on 4/20/04, Olle E. Johansson wrote:
>In some cases, you want channel variables to be transferred from the 
>caller to the callee.
>This works for VXML_URL but not for other channels.
>
>There's a patch that transfers all variables in
>http://bugs.digium.com/bug_view_page.php?bug_id=0000928
>
>I discussed this with Mark and we agreed upon a solution that we want feedback
>on:
>
>* Not transfer all variables by default (as in the current patch)
>* Transfer all variables that begin with "_" (underscore) once and
>   remove the underscore in the new channel leg
>* Transfer all variables that begin with "__" (two underscore)
>   without removing anything, making it stay even if the new leg
>   is transferred to a third leg
>
>Any feedback?
>
>/Olle

Hmmm... sounds like a very reasonable plan.  There are two concepts 
here, of course: the transfer of values within Asterisk during a 
Local transfer (which I think is already handled by using or not 
using the /n option in Dial, IIRC) but then there is the more 
significant and vexing problem of transferring values OUT of a 
particular server to a remote server.

I am uncertain how this should be created, actually.  How do you hand 
things off in SIP?  How about IAX2?  MGCP?  Zap?(1) How do you read 
them from the other side?  How do you refuse them?(2)  Can you get a 
list of the attached values at the other end?(3)

The code in that patch is confusing to me, but I'll assume Olle is 
talking about a totally new method of passing values between channels 
(on the same * server, or on a distant * server.)

This would be _TREMENDOUSLY_ powerful if it could be well designed 
and had even basic functionality in SIP and IAX2.  Think of this very 
small variable name example: "__caller-is-ceo"

JT


(1) Maybe using the UUI PRI definable headers which have been 
discussed here before.

(2) This could be handled by simply leaving the "_" as the first 
letter of the variable name, and then "distrusting" any value with 
"_" as the first character.

(3) Maybe app_listvars?  Whew - gets complex!




More information about the asterisk-dev mailing list