I have my Asterisk server behind a fax machine which uses distinctive ring (i.e. PSTN-fax-Asterisk-phones). This is working fine - the fax is set to not answer before Asterisk has a chance to process a voice call.
The problem I have is when a call is completed, and another call comes in immediately afterwards, the fax tone is heard right away (from the calling side), then the caller is hung up. On the Asterisk side, I see the following:
-- Starting simple switch on 'Zap/1-1'
[Apr 15 10:25:11] WARNING[4059]: chan_zap.c:6499 ss_thread: CallerID returned with error on channel ‘Zap/1-1’
– Executing [s@incoming:1] Wait(“Zap/1-1”, “5”) in new stack
– Starting simple switch on ‘Zap/3-1’
– Executing [s@incoming:2] Answer(“Zap/1-1”, “”) in new stack
– Executing [s@incoming:3] Goto(“Zap/1-1”, “internal|6002|1”) in new stack
– Goto (internal,6002,1)
– Executing [6002@internal:1] Macro(“Zap/1-1”, “voicemail|Zap/3”) in new stack
– Executing [s@macro-voicemail:1] Dial(“Zap/1-1”, “Zap/3|20”) in new stack
[Apr 15 10:25:16] WARNING[4059]: app_dial.c:1106 dial_exec_full: Unable to create channel of type ‘Zap’ (cause 17 - User busy)
It appears to me that the Zap channel is taking some time to fully hang-up and therefore the following call is being affected. When the call drops (at the caller’s side), Asterisk continues to process the call, ringing the extension (with CallerID unknown) even though the call was dropped (by the Asterisk side).
To be clear, the second call is being dialled a few seconds after the first call is completed.
My dialplan looks like this for Zap coming in:
[incoming]
;
; Incoming calls from the FXO port are directed to this context from zapata.conf
;
exten => s,1,Wait(3)
exten => s,n,Answer()
exten => s,n,Goto(internal,6002,1)
[internal]
;
; Main context for extensions
;
exten => 6002,1,Macro(voicemail,Zap/3)
;
; Voicemail setup macro (from *: TFOT)
;
[macro-voicemail]
exten => s,1,Dial(${ARG1},20)
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(${MACRO_EXTEN},u)
exten => s-NOANSWER,n,Goto(incoming,s,1)
exten => s-BUSY,1,Voicemail(${MACRO_EXTEN},b)
exten => s-BUSY,n,Goto(incoming,s,1)
exten => _s-.,1,Goto(s-NOANSWER,1)
;
I’d appreciate any assistance in amending the configuration to resolve this.
Thanks,
Des