Voicemail/Caller ID

I’m not sure if this is a bug or intended behavior, but essentially I am having an issue when a call comes in as +1NXXNXXXXXX and ends up leaving a voicemail, the user cannot listen to the voicemail. I’ve posted the call log of what happens when a user tries to listen to one of these voicemails.

To fix it, I have to edit the msg0000.txt and remove the + from the callerid value.

[2025-04-21 08:56:07] VERBOSE[19825][C-00006325] pbx.c: Executing [*97@from-internal:118] VoiceMailMain("PJSIP/300-0000fd7e", "300@default") in new stack
[2025-04-21 08:56:07] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-password.ulaw' (language 'en')
[2025-04-21 08:56:11] VERBOSE[19825][C-00006325] res_rtp_asterisk.c: 0x7efc3849b220 -- Strict RTP learning complete - Locking on source address CUSTOMER_WAN_IP:16484
[2025-04-21 08:56:12] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-youhave.ulaw' (language 'en')
[2025-04-21 08:56:13] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'digits/4.ulaw' (language 'en')
[2025-04-21 08:56:13] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-INBOX.ulaw' (language 'en')
[2025-04-21 08:56:14] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-and.ulaw' (language 'en')
[2025-04-21 08:56:15] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'digits/1.ulaw' (language 'en')
[2025-04-21 08:56:16] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-Old.ulaw' (language 'en')
[2025-04-21 08:56:17] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-message.ulaw' (language 'en')
[2025-04-21 08:56:18] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-onefor.ulaw' (language 'en')
[2025-04-21 08:56:19] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-first.ulaw' (language 'en')
[2025-04-21 08:56:20] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-message.ulaw' (language 'en')
[2025-04-21 08:56:21] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-received.ulaw' (language 'en')
[2025-04-21 08:56:22] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'digits/day-3.ulaw' (language 'en')
[2025-04-21 08:56:23] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'digits/at.ulaw' (language 'en')
[2025-04-21 08:56:24] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'digits/8.ulaw' (language 'en')
[2025-04-21 08:56:24] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'digits/50.ulaw' (language 'en')
[2025-04-21 08:56:26] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'digits/a-m.ulaw' (language 'en')
[2025-04-21 08:56:27] VERBOSE[19825][C-00006325] file.c: <PJSIP/300-0000fd7e> Playing 'vm-from-phonenumber.ulaw' (language 'en')
[2025-04-21 08:56:29] WARNING[19825][C-00006325] file.c: File  does not exist in any format
[2025-04-21 08:56:29] WARNING[19825][C-00006325] file.c: Unable to open  (format (ulaw)): No such file or directory
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] pbx.c: Spawn extension (from-internal, *97, 118) exited non-zero on 'PJSIP/300-0000fd7e'
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] pbx.c: Executing [h@from-internal:1] Macro("PJSIP/300-0000fd7e", "hangupcall") in new stack
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] pbx.c: Executing [s@macro-hangupcall:1] GotoIf("PJSIP/300-0000fd7e", "1?theend") in new stack
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] pbx_builtins.c: Goto (macro-hangupcall,s,3)
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] pbx.c: Executing [s@macro-hangupcall:3] ExecIf("PJSIP/300-0000fd7e", "0?Set(CDR(recordingfile)=)") in new stack
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] pbx.c: Executing [s@macro-hangupcall:4] Hangup("PJSIP/300-0000fd7e", "") in new stack
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] app_macro.c: Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'PJSIP/300-0000fd7e' in macro 'hangupcall'
[2025-04-21 08:56:29] VERBOSE[19825][C-00006325] pbx.c: Spawn extension (from-internal, h, 1) exited non-zero on 'PJSIP/300-0000fd7e'

I’ve made my trunks use from-pstn-e164-us as a workaround but the voicemail is the only thing I’m having an issue with. If it’s a bug, I’ll file a bug report.

That’s an oldie; I remember helping someone debug it on the FreePBX forum a few years ago. Voice mail hangs up if play CID and play envelope is on - Applications / Modules - FreePBX Community Forums

It’s been fixed: ASTERISK-30248: ast_get_digit_str adds bogus initial delimiter if first character not to be spoken

Looks like it was fixed years ago, what version of Asterisk are you using @adell444?

This system is FreePBX 15 running asterisk 16.28.0. I will run some updates tonight - what is the version of asterisk that had this patched?

That’s the version the bug was reported against. Also, v16 went EOL in Oct 2023. So any version higher than what you have now for the v16 branch.

I still am confused by the EOL schedule - https://sangomakb.atlassian.net/wiki/spaces/FP/pages/653197359/FreePBX+Versions

So FreePBX 15 isn’t EOL until September this year. The LTS asterisk version on FreePBX 15 is 16. But 16 has been EOL for 18 months? I feel like they really messed this up

There’s not much to be confused about. FreePBX is a collection of applications and software built to perform a specific service/function. Asterisk is one of those applications.

Any version of FreePBX older than v17 is running multiple things that are EOL and unsupported. FreePBX v15 and v16 Distros are running on an EOL OS. They are running EOL PHP versions, etc. etc.

So basically the support for FreePBX v15 and v16 is supporting their own code.

I’m happy it all makes perfect sense to you. I’m more questioning the decision to change the regular EOL schedule for v15

That was due to them sending mix messages about v15 being EOL but then pushing out updates months after the EOL date. Basically, they created the Scribe module and pushed it out to v15, v16 and v17 as a market ploy to get the most return from it. In doing so they broke their own EOL schedule for v15. So now it is adjusted to justify the Scribe push out.