[asterisk-users] Dial application "b" subroutine arguments not passing?

Mitch Claborn mitch_ml at claborn.net
Fri Aug 2 12:57:33 CDT 2013


Asterisk 11.1.0

I'm trying to use the "b" subroutine of the Dial application so that I 
can do some stuff with our internal applications that need to have 
access to the called channel information.  I can see that the subroutine 
is being executed, but the arguments I pass don't see to make it to the 
subroutine.

[callmenow]
exten => s,1,NoOp(callmenow: Queue without answer)
   same =>n,Queue(sales,tc)

[dial-to-customer]
exten => s,1,NoOp(to-customer)
   same =>n,Wait(1)
   same =>n,Playback(custom/callmenow-announce)
   same =>n,GoSub(sub-outbound_caller_id,start,1)
   same 
=>n,Dial(${TOLL}/${MMCUSTOMER_NUMBER},,*b(dial-to-customer-sub,s,1,${MMCUSTOMER_NUMBER},${MEMBERINTERFACE},${MEMBERNAME})*) 


[dial-to-customer-sub]
; this runs on the customer's channel
exten =>s,1,NoOp()
   same =>n,Set(OPERATORID=${ODBC_OPERATORID_FROM_ADDRESS(${ARG2})})
   same =>n,Verbose(2, dial-to-customer-sub interface ${ARG2} name 
${ARG3} customer number ${ARG1} operatoriod ${OPERATORID} channel name 
${CHANNEL(name)} unique ID ${CHANNEL(uniqueid)} )
   same =>n,Return()

The whole thing is kicked off by an AMI request:
Action: Originate
Channel: Local/s at callmenow
Context: dial-to-customer
Exten: s
Priority: 1
Async: true
Callerid: Call Me Now <777>
Variable: MMCUSTOMER_NUMBER=9995551212
Timeout: 999999

Output from the subroutine:
-- Executing [s at dial-to-customer-sub:3] Verbose("SIP/voipms-0000001e", 
"2, dial-to-customer-sub interface name  customer number  operatoriod  
channel name SIP/voipms-0000001e unique ID mlcx500-1375465508.61 ") in 
new stack

The "U" subroutine seems to work OK
same 
=>n,Dial(${TOLL}/${MMCUSTOMER_NUMBER},,U(dial-to-customer-sub,${MMCUSTOMER_NUMBER},${MEMBERINTERFACE},${MEMBERNAME})) 


I want the "b" subroutine, because it is call before attempting to 
connect the remote end.  This gives me plenty of time to notify my 
application and have it look up the customer's record while the call is 
being placed.  The "U" subroutine is called after the call is connected.

Am I missing something, or is it broke?

(This whole thing is development for a "call me now" feature from the 
web site.)

-- 

Mitch

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20130802/b82bd430/attachment.htm>


More information about the asterisk-users mailing list