Incoming calls dropped when going to voicemail

katse
Posts: 37
Member Since:
2006-10-16

Trixbox v2.2.3

Problem: asterisk drops calls when they reach voicemail from a specific route.

Inbound route workflow:

incoming -> from-pstn -> business hours time condition -> ring group -> queue -> dial by name directory -> select name -> confirm -> ring extension -> voicemail

The incoming call follows the route correctly throught the ring group (the group times out), falls over to the queue, the caller selects the dial by name directory, dials the recipient, and the recipient's phone rings, then it is supposed to fall over to voicemail. At that point the call is disconnected. I've also received feedback from callers that this occurs through other routes as well, but always from the dial by name directory.

The log is below

Quote:
(removed debug log)

What is going on here?

Edit: sorry about the formatting, I used the CODE bbcode tag which is the proper thing to do. . .
Edit2: changed the code tag to the quote tag
Edit3: removed debug log



katse
Posts: 37
Member Since:
2006-10-16
OK now I have updated to

OK now I have updated to FreePBX 2.3.1.3 and updated all installed modules, and it did not make any difference. Any ideas?

(using the quote tag this time so it doesn't push out of the board)

Quote:
(removed debug log)

Removed debug log and posted event log per Chris's request. Thanks for responding to this thread, Chris!



katse
Posts: 37
Member Since:
2006-10-16
OK I did more testing. I

OK I did more testing. I switched the queue breakout menu to be the nighttime IVR, which normally falls over to voicemail perfectly. It results in the same behavior.

Anyway here is the workflow:

Incoming call
|
Time condition -> off hours IVR -> voicemail or queue depending on selection
|
Ring group
|
Queue -> breakout to IVR by hitting #
|
General voicemail

Any ideas? This is driving me nuts - we're missing voicemails during the day.



katse
Posts: 37
Member Since:
2006-10-16
~bump~ Any ideas?

~bump~

Any ideas?



katse
Posts: 37
Member Since:
2006-10-16
Hi all, First, a rant I

Hi all,

First, a rant

I just want to mention something: I really wonder if Fonality cares at all about the Trixbox project. I mean, there are a lot of unanswered threads here. If they're going to ignore this project, why did they buy this project to begin with? Just to put their name on it? Given that they ignore this forum, no amount of Fonality logos will ever convince me to buy their products. I posted this thread over a week ago, I gave detailed information and am willing to provide more info, but there is nary a response.

Back on topic

ANYWAY to get back on topic. . .

I tried another path - this time eliminating the ring group. Instead, I used a queue with no breakout allowed, and that falls over to another queue if there is no answer.

Incoming call
   |
Time condition (no match)-> off hours IVR -> voicemail or queue depending on selection (this path works fine)
   |
(time condition matched)
   |
Queue (no breakout allowed)
   |
Queue -> # -> dial by name -> # -> user's voicemail
   |
General voicemail

. . . and still I get the same result. The user's extension is rung, and when it falls over to voicemail the call is disconnected. I have ensured that all the extension voicemail recordings do exist and that permissions on the voicemail directory are correct.



katse
Posts: 37
Member Since:
2006-10-16
bump

bump



cvander
Posts: 637
Member Since:
2006-06-26
Why not try posting an

Why not try posting an asterisk log of the event instead of a debug log, you may have more success:

asterisk -r
set verbose 10

then return the results here.

-Chris



katse
Posts: 37
Member Since:
2006-10-16
thanks Chris I will do that

thanks Chris I will do that



katse
Posts: 37
Member Since:
2006-10-16
OK I see something

OK I see something interesting here. This is not the entire log but I will highlight what I see following:

Quote:
dialparties.agi: Starting New Dialparties.agi
== Parsing '/etc/asterisk/manager.conf': Found
== Parsing '/etc/asterisk/manager_additional.conf': Found
== Parsing '/etc/asterisk/manager_custom.conf': Found
== Manager 'admin' logged on from 127.0.0.1
dialparties.agi: Caller ID name is 'WEB:KIMBER' number is '5085555555'
dialparties.agi: USE_CONFIRMATION: 'FALSE'
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is 'none'
-- dialparties.agi: Added extension 1002 to extension map
-- dialparties.agi: Extension 1002 cf is disabled
-- dialparties.agi: Extension 1002 do not disturb is disabled
> dialparties.agi: extnum 1002 has: cw: 1; hascfb: 0 [] hascfu: 0 []
> dialparties.agi: ExtensionState: 0
-- dialparties.agi: dbset CALLTRACE/1002 to 5085555555
> dialparties.agi: NODEST: 9001 blkvm enabled macro already in dialopts: trM(auto-blkvm)
> dialparties.agi: NODEST: 9001 blkvm enabled macro already in dialopts: trM(auto-blkvm)
== Manager 'admin' logged off from 127.0.0.1
-- AGI Script dialparties.agi completed, returning 0
-- Executing Dial("Local/1002@from-internal-a418,2", "SIP/1002|15|trM(auto-blkvm)") in new stack
-- Called 1002
-- Local/1002@from-internal-a418,1 is ringing
-- SIP/1002-09e09508 is ringing
-- User pressed digit: #
-- Stopped music on hold on Zap/1-1
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1004@from-internal-0101,2' in macro 'dial'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1004@from-internal-0101,2' in macro 'exten-vm'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1004@from-internal-0101,2'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1003@from-internal-8a7c,2' in macro 'dial'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1003@from-internal-8a7c,2' in macro 'exten-vm'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1003@from-internal-8a7c,2'
-- Executing Macro("Local/1003@from-internal-8a7c,2", "hangupcall") in new stack
-- Executing ResetCDR("Local/1003@from-internal-8a7c,2", "w") in new stack
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1002@from-internal-a418,2' in macro 'dial'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1002@from-internal-a418,2' in macro 'exten-vm'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1002@from-internal-a418,2'
-- Executing Macro("Local/1002@from-internal-a418,2", "hangupcall") in new stack
-- Executing ResetCDR("Local/1002@from-internal-a418,2", "w") in new stack
-- Executing Goto("Zap/1-1", "app-directory|#|1") in new stack
-- Executing Macro("Local/1004@from-internal-0101,2", "hangupcall") in new stack
-- Executing ResetCDR("Local/1004@from-internal-0101,2", "w") in new stack
-- Goto (app-directory,#,1)
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1001@from-internal-90ac,2' in macro 'dial'
-- Executing Answer("Zap/1-1", "") in new stack
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1001@from-internal-90ac,2' in macro 'exten-vm'
-- Executing Wait("Zap/1-1", "1") in new stack
== Spawn extension (macro-dial, s, 10) exited non-zero on 'Local/1001@from-internal-90ac,2'
-- Executing Macro("Local/1001@from-internal-90ac,2", "hangupcall") in new stack
-- Executing ResetCDR("Local/1001@from-internal-90ac,2", "w") in new stack
-- Executing NoCDR("Local/1003@from-internal-8a7c,2", "") in new stack
-- Executing GotoIf("Local/1003@from-internal-8a7c,2", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing GotoIf("Local/1003@from-internal-8a7c,2", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing GotoIf("Local/1003@from-internal-8a7c,2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing Hangup("Local/1003@from-internal-8a7c,2", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1003@from-internal-8a7c,2' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1003@from-internal-8a7c,2'
== End MixMonitor Recording Local/1003@from-internal-8a7c,2
-- Executing NoCDR("Local/1002@from-internal-a418,2", "") in new stack
-- Executing GotoIf("Local/1002@from-internal-a418,2", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing GotoIf("Local/1002@from-internal-a418,2", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing GotoIf("Local/1002@from-internal-a418,2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing Hangup("Local/1002@from-internal-a418,2", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1002@from-internal-a418,2' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1002@from-internal-a418,2'
== End MixMonitor Recording Local/1002@from-internal-a418,2
-- Executing NoCDR("Local/1004@from-internal-0101,2", "") in new stack
-- Executing GotoIf("Local/1004@from-internal-0101,2", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing GotoIf("Local/1004@from-internal-0101,2", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing GotoIf("Local/1004@from-internal-0101,2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing Hangup("Local/1004@from-internal-0101,2", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1004@from-internal-0101,2' in macro 'hangupcall'
-- Executing NoCDR("Local/1001@from-internal-90ac,2", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1004@from-internal-0101,2'
-- Executing GotoIf("Local/1001@from-internal-90ac,2", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
== End MixMonitor Recording Local/1004@from-internal-0101,2
-- Executing GotoIf("Local/1001@from-internal-90ac,2", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing GotoIf("Local/1001@from-internal-90ac,2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing Hangup("Local/1001@from-internal-90ac,2", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1001@from-internal-90ac,2' in macro 'hangupcall'
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'Local/1001@from-internal-90ac,2'
== End MixMonitor Recording Local/1001@from-internal-90ac,2
-- Executing AGI("Zap/1-1", "directory||from-did-direct|le") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/directory
directory||from-did-direct|le: Notice: vm-context not specified. Using 'default'
-- Playing 'dir-intro' (language 'en')
== directory||from-did-direct|le: Found /var/spool/asterisk/voicemail/default/1002/greet.wav
directory||from-did-direct|le: -- Playing 'dir-instr' (language 'en')
-- Playing 'digits/1' (language 'en')
-- Playing 'digits/0' (language 'en')
-- Playing 'digits/0' (language 'en')
-- Playing 'digits/2' (language 'en')
-- AGI Script directory completed, returning 0
-- Executing Macro("Zap/1-1", "exten-vm|1002|1002") in new stack
-- Executing Macro("Zap/1-1", "user-callerid") in new stack
-- Executing NoOp("Zap/1-1", "user-callerid: WEB:KIMBER 5085555555") in new stack
-- Executing Set("Zap/1-1", "AMPUSER=5085555555") in new stack
-- Executing GotoIf("Zap/1-1", "0?report") in new stack
-- Executing GotoIf("Zap/1-1", "1?start") in new stack
-- Goto (macro-user-callerid,s,6)
-- Executing NoOp("Zap/1-1", "REALCALLERIDNUM is 5085555555") in new stack
-- Executing Set("Zap/1-1", "AMPUSER=") in new stack
-- Executing Set("Zap/1-1", "AMPUSERCIDNAME=") in new stack
-- Executing GotoIf("Zap/1-1", "1?report") in new stack
-- Goto (macro-user-callerid,s,13)
-- Executing NoOp("Zap/1-1", "TTL: 63 ARG1: 1002") in new stack
-- Executing GotoIf("Zap/1-1", "0?continue") in new stack
-- Executing Set("Zap/1-1", "__TTL=62") in new stack
-- Executing GotoIf("Zap/1-1", "1?continue") in new stack
-- Goto (macro-user-callerid,s,23)
-- Executing NoOp("Zap/1-1", "Using CallerID "WEB:KIMBER" ") in new stack
-- Executing Set("Zap/1-1", "FROMCONTEXT=exten-vm") in new stack
-- Executing Set("Zap/1-1", "VMBOX=1002") in new stack
-- Executing Set("Zap/1-1", "EXTTOCALL=1002") in new stack
-- Executing Set("Zap/1-1", "CFUEXT=") in new stack
-- Executing Set("Zap/1-1", "CFBEXT=") in new stack
-- Executing Set("Zap/1-1", "RT=15") in new stack
-- Executing Macro("Zap/1-1", "record-enable|1002|IN") in new stack
-- Executing GotoIf("Zap/1-1", "0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing AGI("Zap/1-1", "recordingcheck|20080207-182254|1202426508.6513") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20080207-182254|1202426508.6513: Inbound recording enabled.
recordingcheck|20080207-182254|1202426508.6513: CALLFILENAME=20080207-182254-1202426508.6513
-- AGI Script recordingcheck completed, returning 0
-- Executing MixMonitor("Zap/1-1", "20080207-182254-1202426508.6513.wav") in new stack
-- Executing Macro("Zap/1-1", "dial|15|trM(auto-blkvm)|1002") in new stack
-- Executing GotoIf("Zap/1-1", "0?dial") in new stack
-- Executing SetMusicOnHold("Zap/1-1", "default") in new stack
-- Executing AGI("Zap/1-1", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
== Begin MixMonitor Recording Zap/1-1
dialparties.agi: Starting New Dialparties.agi
== Parsing '/etc/asterisk/manager.conf': Found
== Parsing '/etc/asterisk/manager_additional.conf': Found
== Parsing '/etc/asterisk/manager_custom.conf': Found
== Manager 'admin' logged on from 127.0.0.1
dialparties.agi: Caller ID name is 'WEB:KIMBER' number is '5085555555'
dialparties.agi: USE_CONFIRMATION: 'FALSE'
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is 'none'
-- dialparties.agi: Added extension 1002 to extension map
-- dialparties.agi: Extension 1002 cf is disabled
-- dialparties.agi: Extension 1002 do not disturb is disabled
> dialparties.agi: extnum 1002 has: cw: 1; hascfb: 0 [] hascfu: 0 []
> dialparties.agi: ExtensionState: 0
-- dialparties.agi: dbset CALLTRACE/1002 to 5085555555
> dialparties.agi: NODEST: 9001 blkvm enabled macro already in dialopts: trM(auto-blkvm)
> dialparties.agi: NODEST: 9001 blkvm enabled macro already in dialopts: trM(auto-blkvm)
== Manager 'admin' logged off from 127.0.0.1
-- AGI Script dialparties.agi completed, returning 0
-- Executing Dial("Zap/1-1", "SIP/1002|15|trM(auto-blkvm)") in new stack
-- Called 1002
-- SIP/1002-b7209948 is ringing
-- Nobody picked up in 15000 ms
-- Executing Set("Zap/1-1", "DIALSTATUS=NOANSWER") in new stack
-- Executing Set("Zap/1-1", "SV_DIALSTATUS=NOANSWER") in new stack
-- Executing GosubIf("Zap/1-1", "0?docfu|1") in new stack
-- Executing GosubIf("Zap/1-1", "0?docfb|1") in new stack
-- Executing Set("Zap/1-1", "DIALSTATUS=NOANSWER") in new stack
-- Executing NoOp("Zap/1-1", "Voicemail is 1002") in new stack
-- Executing GotoIf("Zap/1-1", "0?s-NOANSWER|1") in new stack
-- Executing NoOp("Zap/1-1", "Sending to Voicemail box 1002") in new stack
-- Executing Macro("Zap/1-1", "vm|1002|NOANSWER") in new stack
-- Executing Macro("Zap/1-1", "user-callerid|SKIPTTL") in new stack
-- Executing NoOp("Zap/1-1", "user-callerid: WEB:KIMBER 5085555555") in new stack
-- Executing Set("Zap/1-1", "AMPUSER=5085555555") in new stack
-- Executing GotoIf("Zap/1-1", "0?report") in new stack
-- Executing GotoIf("Zap/1-1", "1?start") in new stack
-- Goto (macro-user-callerid,s,6)
-- Executing NoOp("Zap/1-1", "REALCALLERIDNUM is 5085555555") in new stack
-- Executing Set("Zap/1-1", "AMPUSER=") in new stack
-- Executing Set("Zap/1-1", "AMPUSERCIDNAME=") in new stack
-- Executing GotoIf("Zap/1-1", "1?report") in new stack
-- Goto (macro-user-callerid,s,13)
-- Executing NoOp("Zap/1-1", "TTL: 62 ARG1: SKIPTTL") in new stack
-- Executing GotoIf("Zap/1-1", "1?continue") in new stack
-- Goto (macro-user-callerid,s,23)
-- Executing NoOp("Zap/1-1", "Using CallerID "WEB:KIMBER" ") in new stack
-- Executing Set("Zap/1-1", "VMGAIN=") in new stack
-- Executing GotoIf("Zap/1-1", "0?vmx|1") in new stack
-- Executing NoOp("Zap/1-1", "CAME FROM: 9001 - Blocking VM cause of key: ") in new stack
-- Executing Hangup("Zap/1-1", "") in new stack
== Spawn extension (from-did-direct, 1002, 2) exited non-zero on 'Zap/1-1'
-- Hungup 'Zap/1-1'
== End MixMonitor Recording Zap/1-1
== End MixMonitor Recording Zap/1-1

In this section is it that the queue is 9001 (begins with a 9) messing it up?

Quote:
-- Executing Set("Zap/1-1", "VMGAIN=") in new stack
-- Executing GotoIf("Zap/1-1", "0?vmx|1") in new stack
-- Executing NoOp("Zap/1-1", "CAME FROM: 9001 - Blocking VM cause of key: ") in new stack
-- Executing Hangup("Zap/1-1", "") in new stack
== Spawn extension (from-did-direct, 1002, 2) exited non-zero on 'Zap/1-1'
-- Hungup 'Zap/1-1'


katse
Posts: 37
Member Since:
2006-10-16
OK I just tried replacing

OK I just tried replacing queue 9001 with queue 7001 just to rule out the "don't start an extension with 9" issue. It made no difference.



cvander
Posts: 637
Member Since:
2006-06-26
Just a quick question....

Just a quick question.... does this extension have VMX Locator turned on? If so have you tried turning it off. I'm not sure but it looks like VMX may have an issue routing to VM from queues....

This is just a shot in the dark. It definitely seems to be a FreePBX issue, you may have more luck posting in the forum over at freepbx.org Phillipe really knows his stuff and could probably tell you exactly what it happening...

Either way, just let me know if the VMX thing is the issue or not.

Good Luck,

Chris



katse
Posts: 37
Member Since:
2006-10-16
Hi Chris, VMX Locator is

Hi Chris,

VMX Locator is disabled on the extensions - in fact it's never been enabled. We didn't have the feature until I applied the updates the other day.



cvander
Posts: 637
Member Since:
2006-06-26
Maybe try enabling VMX and

Maybe try enabling VMX and see if there is a different result?



katse
Posts: 37
Member Since:
2006-10-16
That does not resolve the

That does not resolve the issue. I tried enabling it, and then disabling it. :(



cvander
Posts: 637
Member Since:
2006-06-26
Sorry, I'm a bit at a loss

Sorry, I'm a bit at a loss as I don't really use queues.... I'm assuming that your voicemail works fine from the outside so long as you don't take that path (i.e. direct to extension...no answer....voicemail). Either way I'd take it to the FreePBX forums, Phillipe is very knowledgeable and can probably get you straightened out.

-Chris



katse
Posts: 37
Member Since:
2006-10-16
Thank you Chris I will try

Thank you Chris I will try that. I appreciate your time!



scotts
Posts: 2
Member Since:
2008-08-29
Having a similar problem - Now resolved

Well perhaps more of a workaround.

Calls to busy extensions were re-routed to voicemail which rang once and then the call was dropped.

I disabled Voicemail for that user - pressed submit - re-enabled the voicemail = pressed submit - reloaded configuration. Works ok now.

This is a simple workaround for small deployments.

Simon...



admin@OALLC
Posts: 17
Member Since:
2008-10-31
partail Remedy

Try to make inbound routes and set the destination in the deserving or what extension you want to be ring in calling certain sip number. it in the extension. With this solve the problem. But once in a while the phone got stuck and need to be monitor every time and reboot the ip phone.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.