[asterisk-users] Inserting a wait in a sip dial SOLVED (kind of)

David Gibbons dave at videon-central.com
Tue Jan 12 15:31:10 CST 2010


<snip>
Going foward, is there any way to programmatically inject DTMF tones into an already-bridged channel?
</snip>

Well, due to the lack of responses, either I missed something obvious or nobody cares. I'm really hoping I didn't miss something obvious... :).

In any event, I got curious of my own old question and hacked out a work around:

0. Assume your extension is dumped into context 'mycontext'
1. You dial an internal extension
2. * Dials an external number (presumably another PBX device)
3. When the remote device answers, both parties are dumped into the DTMFworkaround context
4. The called party has its DTMF mode set to inband so that the tones are played out loud
4.5. Meanwhile, the calling party is dumped into an empty meeting conference that is used soley to bridge these two legs
5. When the tones are done, the called party is dumped into the bridged conference.
6. When the caller hangs up, the conference boots the callee

<code>
[dtmfworkaround]
exten => 6534,1,Goto(dtmfworkaround|6536|1)
exten => 6534,2,Goto(dtmfworkaround|6535|1)
exten => 6535,1,Answer()
exten => 6535,n,Wait(1)
exten => 6535,n,SIPDTMFMode(inband)
exten => 6535,n,SendDTMF(1234)
exten => 6535,n,MeetMe(101|MFqx|1234)
exten => 6536,1,Answer()
exten => 6536,n,MeetMe(101|MFqxA|1234)

[mycontext]
exten => 658,1,Dial(SIP/486,15,rG(dtmfworkaround^6534^1))
</code>

-Dave



More information about the asterisk-users mailing list