No voicemail picks up -- Keeps ringing forever

The additional modules I installed are Google Voice Chan Motif and OSS EndPoint Manager.

Can you do the same thing on the new box you did with the old box? sip_additional, extensions_addition, voicemail conf files for the extension you created.

Deleted test PBX VM and recreated with ZERO changes (I didn’t install any additional modules, just made the admin account and logged in). Same installer (asterisk 11).

  • Clicked Extensions
  • Extension 123
  • Display Name: Test
  • Secret: Cisco123
  • Voicemail: OFF
  • Submit and Apply Config

extensions_additional contains:

exten => 123,n,Macro(exten-vm,novm,123,0,0,0)

There is also no entry for the line in voicemail.conf. Looks good so far. Went back to the extension and edited the Voicemail settings to turn it ON and extensions_additional contains:

exten => 123,n,Macro(exten-vm,novm,123,0,0,0)

Hmm. Not right. However there is now an entry in voicemail.conf for said extension:

[default]
123 => 1234,Test,,,attach=no|saycid=no|envelope=no|delete=no

Issued a fwconsole restart and it didn’t change the extension, still has novm.

Went back to the extension, turned Voicemail OFF, applied config:

exten => 123,n,Macro(exten-vm,123,123,0,0,0)

As expected, there is once again no entry in voicemail.conf for said line.

This definitely strikes me as a bug.

  • A new extension with voicemail turned off (by default) appears correct in extensions_additional
  • Turning Voicemail ON in the extension and applying the config will update voicemail.conf properly, but it doesn’t enable it for the line in extensions_additional.conf
  • Turning Voicemail OFF in the extension and applying the config will update voicemail.conf properly, but it DOES enable Voicemail in the extensions_additional.conf file, the opposite behavior as expected.

Can you try Asterisk 13? It’s the better option anyway.

Originally I was trying to use Asterisk 13 but ran into an issue with my Cisco 7960 devices not registering properly where as it works fantastically on v11. I think it has to do with chan_sip being on port 5060 in v11, but in v13 pjsip is on that port. I tried adjusting the ports in the configs but the changes wouldn’t stick, and my phones kept wanting to communicate on 5060.

Based on my preliminary look at this issue and adding some debug statements to the config.php file:

$exten = \FreePBX::Core()->getUser(123);
$vm = ((($exten['voicemail'] == "novm") || ($exten['voicemail'] == "disabled") || ($exten['voicemail'] == "")) ? "novm" : $exten['extension']);
echo $vm;

When Voicemail is OFF echo $vm will output 123 (my extension). When I turn Voicemail back ON echo $vm will output novm. Considering this appears to be the exact same logic used to write the file (I grabbed it from modules/core/functions.inc.php) it’s not a small wonder the settings are’t correct inside of the config file.

Seems like a rabbit hole, so I’ll give v13 another shot and see if I can get my phones to authenticate properly again.

Thanks for your assistance debugging this problem!

You can turn off PJSIP and just use Chan_SIP in the Advanced Settings. It will require a restart, all port changes need a restart to make them bind properly. It’s simpler to fix that then this issue.

Building a v13 VM and trying this now!

Ok, fresh Asterisk 13 version of FreePBX setup. Created 3 text extensions:

  • 201: Voicemail Enabled
  • 202: Voicemail Enabled
  • 203: Voicemail Disabled

Here is my extensions_additional.conf file ext-local section:

[ext-local]
include => ext-local-custom
exten => *203,1,Macro(vm,203,DIRECTDIAL,${IVR_RETVM})
exten => *203,n,Goto(vmret,1)

exten => 201,1,Set(__RINGTIMER=${IF($["${DB(AMPUSER/201/ringtimer)}" > "0"]?${DB(AMPUSER/201/ringtimer)}:${RINGTIMER_DEFAULT})})
exten => 201,n,Macro(exten-vm,novm,201,0,0,0)
exten => 201,n(dest),Set(__PICKUPMARK=)
exten => 201,n,Goto(${IVR_CONTEXT},return,1)
exten => 201,hint,SIP/201&Custom:DND201,CustomPresence:201

exten => 202,1,Set(__RINGTIMER=${IF($["${DB(AMPUSER/202/ringtimer)}" > "0"]?${DB(AMPUSER/202/ringtimer)}:${RINGTIMER_DEFAULT})})
exten => 202,n,Macro(exten-vm,novm,202,0,0,0)
exten => 202,n(dest),Set(__PICKUPMARK=)
exten => 202,n,Goto(${IVR_CONTEXT},return,1)
exten => 202,hint,SIP/202&Custom:DND202,CustomPresence:202

exten => 203,1,Set(__RINGTIMER=${IF($["${DB(AMPUSER/203/ringtimer)}" > "0"]?${DB(AMPUSER/203/ringtimer)}:${RINGTIMER_DEFAULT})})
exten => 203,n,Macro(exten-vm,203,203,0,0,0)
exten => 203,n(dest),Set(__PICKUPMARK=)
exten => 203,n,Macro(vm,203,${DIALSTATUS},${IVR_RETVM})
exten => 203,n,Goto(vmret,1)
exten => 203,hint,SIP/203&Custom:DND203,CustomPresence:203

exten => vmb203,1,Macro(vm,203,BUSY,${IVR_RETVM})
exten => vmb203,n,Goto(vmret,1)

exten => vmu203,1,Macro(vm,203,NOANSWER,${IVR_RETVM})
exten => vmu203,n,Goto(vmret,1)

exten => vms203,1,Macro(vm,203,NOMESSAGE,${IVR_RETVM})
exten => vms203,n,Goto(vmret,1)

exten => vmi203,1,Macro(vm,203,INSTRUCT,${IVR_RETVM})
exten => vmi203,n,Goto(vmret,1)

exten => vmret,1,GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?playret)
exten => vmret,n,Hangup
exten => vmret,n(playret),Playback(exited-vm-will-be-transfered&silence/1)
exten => vmret,n,Goto(${IVR_CONTEXT},return,1)

exten => h,1,Macro(hangupcall,)

exten => *80201,hint,SIP/201&Custom:DND201,CustomPresence:201
exten => *80202,hint,SIP/202&Custom:DND202,CustomPresence:202
exten => *80203,hint,SIP/203&Custom:DND203,CustomPresence:203
;--== end of [ext-local] ==--;

Based on the prior posts, even this version of the install is outputting the wrong Voicemail values. 201 and 202 should both NOT be novm, where as 203 SHOULD be novm. The opposite is happening.

What configurations were done after the install on the machine with Asterisk 13? I have spun up a half dozen servers this week with FPBX 13 / Asterisk 13 and haven’t had a single issue with the voicemail.

At this point I’m guessing this is a configuration issue and without looking at the system it will be hard to say. You can jump on the IRC support channel on chat.freenode.org in #freepbx and we can try to help you out more there and in real time with you.