Am trying to create an inbound calling application where in a caller calls Asterisk , the caller channel identifies an extension to dial from an DB , then Asterisk originates a call to that extension and which inturn creates a conference and the caller is looped into the conference. Am using the Originate application and the ConfBridge. The challenge I am facing is: 1)the variable identified in the caller channel is not inherited to the calle(extension) channel ,inspite of using the __ prefix to my variable. 2)I then decided to use the Asterisk DB. By using the ${UNIQUEID} as the key to store my values and thereby retrieve the variables in different channels. This proved futile since - upon using the Originate application for my second channel , the UNIQUEID also varies.
Below is a simplied version of my application(Approach1):
[local]
exten = main,1,Answer()
exten = main,n,Set(__operator=201005)
exten = main,n,GoSub(operator,logintoconf,1)
exten = main,n,GoSub(caller,logintoconf,1)
[caller]
exten = logintoconf,1,ConfBridge(${operator},escalationbridge,caller)
exten = logintoconf,n,Return()
[operator]
exten = logintoconf,1,Originate(SIP/201005,exten,handler-callee,callee,1)
exten = logintoconf,n,NoOp("Call complete" ${DIALSTATUS} )
exten = logintoconf,n,Return()
[handler-callee]
exten = callee,1,Set(CHANNEL(hangup_handler_push)=hangup-callee,s,1)
exten = callee,n,NoOp(handler-callee................)
exten = callee,n,ConfBridge(${operator},escalationbridge,operator)
[hangup-caller]
exten = s,1,NoOp("Hangup caller" ${CHANNEL} )
exten = s,n,Hangup
exten = s,n,Return()
[hangup-callee]
exten = s,1,NoOp("Calleee Hangup " ${CHANNEL} )
exten = s,n,Hangup
exten = s,n,Return()
in the above the __operator , does n't inherit the values to the operator channel.
Appreciate any inputs that can help me share the variables using the Dialplan.
Thanks.