Hello,
I am currently using Asterisk a centralized voicemail server for around 15 PBXs. Several times now we have seen an issue where otherwise hung-up calls hang on the system in VoiceMailMain() or Voicemail() applications. After a few of these channels, voicemail stops working entirely and all calls hang, leading to upwards of 70-100 orphaned channels that are stuck open, e.g.
Channel Context Extension Prio State Application Data CallerID Duration Accountcode PeerAccount BridgeID SIP/tp-asterisk-0000 macro-voicemail s 3 Up VoiceMail 3113@default,u +1XXXXXXXXXX 00:26:10 tp SIP/pg-asterisk-0000 macro-vmadmin myvm 1 Up VoiceMailMai 2720@default 2720 00:48:55 pg
Has anyone had a similar experience or suggested resolution? My voicemail dialplans are pasted below for reference:
[central-voicemail] include => central-vmadmin exten => _vm.,1,NoOp(-->Incoming Voicemail Call from Remote-->) exten => _vm.,n,Set(VMEXTEN=${EXTEN:3}) exten => _vm.,n,Set(ORIG_DIALSTATUS=${IF($["${EXTEN:2:1}"="b"]?BUSY:UNAVAIL)}) exten => _vm.,n,NoOp(Remote Extension: ${VMEXTEN}, Dialstatus on Remote PBX: ${ORIG_DIALSTATUS}) exten => _vm.,n,Macro(voicemail,${VMEXTEN},${ORIG_DIALSTATUS}) [macro-voicemail] exten => s,1,NoOp(Dialing Voicemail for ${ARG1}) exten => s,n,GotoIf($["${VM_INFO(${ARG1},exists)}"="0"]?nomailbox,1) exten => s,n,ExecIf($["${ARG2}"="BUSY"]?VoiceMail(${ARG1}@default,b)) exten => s,n,ExecIf($["${ARG2}"!="BUSY"]?VoiceMail(${ARG1}@default,u)) exten => s,n,Playback(goodbye) exten => s,n,Hangup() exten => nomailbox,1,NoOp(*****No Mailbox for ${ARG1}*****) exten => nomailbox,n,Playback(vm-no&ha/mailbox&for&extension) exten => nomailbox,n,SayDigits(${ARG1}) exten => nomailbox,n,Playback(goodbye) exten => nomailbox,n,Hangup() [central-vmadmin] exten => _va.,1,NoOp(-->Incoming Voicemail Check from Remote-->) exten => _va.,n,Set(VMEXTEN=${EXTEN:2}) exten => _va.,n,ExecIf($["${VMEXTEN}"="98"]?Macro(vmadmin)) exten => _va.,n,ExecIf($["${VMEXTEN}"!="98"]?Macro(vmadmin,${VMEXTEN})) [macro-vmadmin] exten => s,1,NoOp(*****Accessing Voicemail System*****) exten => s,n,Answer() exten => s,n,Set(MAILBOX=${ARG1}) exten => s,n,Set(VMCONTEXT=${ARG2}) exten => s,n,ExecIf($["${VMCONTEXT}"=""]?Set(VMCONTEXT=default)) exten => s,n,GotoIf($["${MAILBOX}"=""]?general,1) exten => s,n,Goto(myvm,1)Thanks!