Alan Lord
2007-Oct-18 13:36 UTC
[asterisk-users] IAX2: Calls answered before extension is tested?
[Sorry if this arrives more than once. I have sent this twice and it never arrived, despite other messages getting to the list O.K.] ----------- Hello, I would like an incoming caller to be able to choose from the menu options in my extension.conf below. Once They have dialled the appropriate digit, * should call two extensions simultaneously: one SIP phone on this * server, and one over a working IAX2 link. If either party answers, great. If neither party answers or both are busy/unavailable go to relevant voicemail box. This *almost* works... ;-) The issue is the call that goes down the IAX2 channel always seems to get answered, then cleared down almost straight away. It looks like the remote * server is accepting the incoming call sending a connected message back, thereby completing the Macro, and only *then* checking if the extension is actually available. Here's the last bit of the log (I've edited the IP address) - we are both deliberately NOT answering our phones... Executing [s at tolc:1] Macro("SIP/101-081d1050", "belllord|SIP/101&IAX2/alanb/201|tolc") in new stack -- Executing [s at macro-belllord:1] Dial("SIP/101-081d1050", "SIP/101&IAX2/alanb/201|10|tr") in new stack -- Called 101 -- Called alanb/201 [Oct 17 16:09:47] WARNING[2836]: channel.c:2634 ast_indicate_data: Unable to handle indication 3 for 'SIP/101-081d1050' -- SIP/101-081d4fc0 is ringing -- Call accepted by 80.XXX.XX.XX (format alaw) -- Format for call is alaw -- IAX2/alanb-3 answered SIP/101-081d1050 [Oct 17 16:09:47] NOTICE[2836]: cdr.c:434 ast_cdr_free: CDR on channel 'SIP/101-081d4fc0' not posted [Oct 17 16:09:47] DEBUG[1419]: chan_iax2.c:7435 socket_process: Immediately destroying 3, having received hangup [Oct 17 16:09:47] DEBUG[2836]: chan_iax2.c:3176 iax2_hangup: We're hanging up IAX2/alanb-3 now... [Oct 17 16:09:47] DEBUG[2836]: chan_iax2.c:3191 iax2_hangup: Really destroying IAX2/alanb-3 now... -- Hungup 'IAX2/alanb-3' == Spawn extension (macro-belllord, s, 1) exited non-zero on 'SIP/101-081d1050' in macro 'belllord' == Spawn extension (macro-belllord, s, 1) exited non-zero on 'SIP/101-081d1050' And here's the relevant bits of my extension.conf [globals] ALANL=SIP/101 ; My Soft Phone ALANB=IAX2/alanb/201 ; Alan's Extension [main_menu] ; Test Dialplan for IVR exten => s,1,Answer() exten => s,n,Set(TIMEOUT(digit)=5) ; Max time between digits exten => s,n,Set(TIMEOUT(response)=15) ; Max time to wait exten => s,n,Wait(1) exten => s,n,Background(welcome-to-bell-lord) exten => s,n(resume),Background(press-3-for-tolc) ; Short dialogues, exten => s,n,Background(press-4-for-fondoo) ; rather than one long one exten => s,n,Background(press-5-for-arrowtees) ; might need to change exten => s,n,Background(press-6-for-gen-enq) ; frequently. exten => s,n,WaitExten() exten => 3,1,Goto(tolc,s,1) ; Dial 3 For The Open Learning Centre exten => 4,1,Goto(fondoo,s,1) ; Dial 4 for Fondoo Internet exten => 5,1,Goto(arrowtees,s,1) ; Dial 5 for ArrowTees exten => 6,1,Goto(gen_enq,s,1) ; For all other enquiries press 6 exten => i,1,Playback(pbx-invalid) exten => i,n,Goto(resume) exten => t,1,Playback(vm-goodbye) exten => t,n,Hangup() ; Might change this section to go to [gen_enq] voicemail rather than just hangup. [tolc] exten => s,1,Macro(belllord,${ALANL}&${ALANB},${CONTEXT}) ; Calls the belllord Macro with the channel(s) to dial and the current context (for business voicemail) [fondoo] exten => s,1,Macro(belllord,${ALANL}&${ALANB},${CONTEXT}) [arrowtees] exten => s,1,Macro(belllord,${ALANL},${CONTEXT}) [gen_enq] exten => s,1,Macro(belllord,${ALANL}&${ALANB},${CONTEXT}) ; Call with Macro(belllord,channel,vmbox) [macro-belllord] ; Uses macro and DIALSTATUS for local devices exten => s,1,Dial(${ARG1},10,tr) exten => s,n,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,Voicemail(${ARG2}@business,u) ; business is the voicemail context, ${ARG2} is the context from which this call came exten => s-BUSY,1,Voicemail(${ARG2}@business,b) exten => _s-.,1,Goto(s-NOANSWER,1) ============================= Can anyone see where the problem is? Or suggest a better way? Many thanks. Alan -- The way out is open! http://www.theopensourcerer.com -- The way out is open! http://www.theopensourcerer.com
joakimsen at gmail.com
2007-Oct-19 01:13 UTC
[asterisk-users] IAX2: Calls answered before extension is tested?
So your problem is: -- IAX2/alanb-3 answered SIP/101-081d1050 Except the remote end didn't actually answer the call? The problem is your remote end... its answering the call. All the IAX hardphones I've seen don't seem to be the highest of quality honestly.