BryantZ at zktech.com Guest
|
Posted: Thu Mar 31, 2016 6:29 pm Post subject: [asterisk-users] Asterisk 13 - Call Bridge issue. |
|
|
Even when using the U option just issuing the Answer does not seem to always work. I end up having to play a prompt of some sort to force the answer.. There has to be some kind of bug going on here.
Thanks Bryant
From: "Bryant Zimmerman" <BryantZ@zktech.com> Sent: Thursday, March 31, 2016 6:54 PM To: bryantz@zktech.com, "Asterisk Users Mailing List - Non-Commercial Discussion" <asterisk-users@lists.digium.com> Subject: re: [asterisk-users] Asterisk 13 - Call Bridge issue.
Quote: |
From: "Bryant Zimmerman" <BryantZ@zktech.com> Sent: Thursday, March 31, 2016 6:33 PM To: asterisk-users@lists.digium.com Subject: [asterisk-users] Asterisk 13 - Call Bridge issue.
I have the following scenario.
Call file calls 1st party.
When connected give called party option to connect to second party.
Issue Dial to second party. Caller answers and the two are bridged together.
My issue is that 4 out of 5 calls fail to bridge the audio.
Am I missing something or is there some kind of bug? Here is my test dialplan
;Dialer Base Code Files. ;Variables are sent in from .call file [calluser-intake] exten => s,1,NoOp(Start Call Intake) exten => s,2,NoOp(Setup any vars) exten => s,n,Set(_g_pmtPath=/vapp/dialerprompts/) exten => s,n,NoOp(What is Path = ${g_pmtPath}) exten => s,n,NoOp(Read Call File Vars) exten => s,n,NoOp(Dial To - ${l_DialTo}) exten => s,n,NoOp(Proxy - Proxy.${l_Proxy}) exten => s,n,NoOp(Carrier Trunk - ${l_Carrier}) exten => s,n,Set(_l_CallerIDnum=${CALLERID(num)}) exten => s,n,Set(CALLERID(num)=${g_SIPUser}) exten => s,n,Dial(PJSIP/${l_DialTo}@proxy_${l_Proxy},30,b(dialer-header^s^1)G(dialer-playmsg^s^1 ([email]PJSIP/${l_DialTo}@proxy_${l_Proxy},30,b(dialer-header^s^1)G(dialer-playmsg^s^1[/email])))
[dialer-header] exten => s,1,Set(PJSIP_HEADER(add,X-Carrier)=${l_Carrier}) same => n,Set(PJSIP_HEADER(add,X-CallerID)=${l_CallerIDnum}) same => n,NoOp(X-Carrier = ${PJSIP_HEADER(read,X-Carrier)}) same => n,Set(CONNECTEDLINE(number,i)=vap_002) same => n,DumpChan(1) same => n,Return()
[dialer-playmsg] exten => s,1,Goto(hold,1) same => n,NoOp(Enter Play Message) same => n,NoOp(Path = ${g_pmtPath}) same => n,SayAlpha(${g_SIPUser}) same => n,BackGround(${g_pmtPath}Intro) same => n,WaitExten(60)
exten => 2,1,NoOp(Dial Through) same => n,Set(_l_CallerIDnum=6168310000) same => n,Set(_l_Carrier=0001) same => n,Set(l_DialTo=6167761066) same => n,Set(l_Proxy=002) same => n,Dial(PJSIP/${l_DialTo}@proxy_001,30,b(dialer-header^s^1 ([email]PJSIP/${l_DialTo}@proxy_001,30,b(dialer-header^s^1[/email])))
exten => _X,1,NoOp(Digit Entry) exten => _X,n,NoOp(Log Response) exten => _X,n,Playback(${g_pmtPath}YouPressed) exten => _X,n,SayNumber(${EXTEN})
exten => hold,1,NoOp(Park Called) exten => hold,n,While($[1 < 5]) exten => hold,n,Wait(90) exten => hold,n,EndWhile
Any ideas on why the media would not flowing after it sates they bridge has completed
Another point. If I use a b option in the second dial. to call another context on connect of the second call. I get audio played on that both caller and callee channels.
Thanks Bryant
| Ok it appears that the channel is not answering when it bridges the two calls together.
If I use the U option to gosub to a context to force an Answer() before the bridge then things seem to work. I also tried the lower case "a" option to force the answer and nothing happens with it appears to be ignored. .. So the U option with a gosub to an Answer seems to be the only way to get this to work...
This seems like a bug. Should the called channel answer when a call is made with the Dial() function? Can anyone chime in on this one.
Note: Current systems are on Asterisk 13.5.0 (So if this was a bug has it been fixed in the latest release.) I did not see anything in the change logs that I would attribute to this.
Thanks
Bryant |
|