Voicemail Password

Status
Not open for further replies.

mc6650

Member
Apr 8, 2019
109
2
18
61
Hello
I'm trying to suppress the VM password when anyone dials *700 to check the general delivery mailbox. I've read some of the threads and have created a dialplan, however I still have to input a password to gain access to the mailbox. Can someone kindly point out what is wrong with my dialplan? Thanks in advance for any help that can be provided. Note order number 319 is lower than the default VM.

1625957900319.png

1625957771362.png
 

mc6650

Member
Apr 8, 2019
109
2
18
61
Hello
A quick followup. I've flushed the cache and reset the server with no improvement. Is there another solution I should be looking at? Thanks.
 

mc6650

Member
Apr 8, 2019
109
2
18
61
Hello
Can anyone help out with this? I'm still strugling to get voicemail 700 to not require a password entry. Thanks
 

hfoster

Active Member
Jan 28, 2019
674
80
28
34
It looks right... (except the vm_caller_id_number line has a typo, I think you wanted vm_say_caller_id_number). Is it just prompting for a password? Do you have a log of what happens when it's triggered?
 

mc6650

Member
Apr 8, 2019
109
2
18
61
Hello
Here's a snippet of my dialplan order, a screen shot of my latest dialplan attempt and I've attached a log file. Thanks for the help.

1626266240091.png

1626265765016.png
 

Attachments

  • Log Mbox 700.txt
    32.2 KB · Views: 1
Last edited:

hfoster

Active Member
Jan 28, 2019
674
80
28
34
I think you need to put it back to a more distinct code like your original *700, or alter the order to come before the *98 rule as you appear to have just hit the *98 rule:

Code:
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Regex (FAIL) [vmain] destination_number(*98700) =~ /^vmain$|^\*4000$|^\*98$/ break=never
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Regex (PASS) [vmain] destination_number(*98700) =~ /^(vmain$|^\*4000$|^\*98)(\d{2,12})$/ break=on-false
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action answer()
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action sleep(1000)
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action set(record_append=false)
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action set(voicemail_action=check)
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action set(voicemail_id=700)
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action set(voicemail_profile=default)
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action set(voicemail_authorized=false) <---- Uhoh
93dc3633-a6d9-4a5b-bdbe-0ba1360da88e Dialplan: sofia/external/207@azlan.fusionpbx.ca Action lua(app.lua voicemail)
 

mc6650

Member
Apr 8, 2019
109
2
18
61
Hello and thanks for the suggestions. I've change the dialplan by removing *98700 and replacing it with *700 only. The order has been re-classified to 315; ahead of *98 at 320. Unfortunately the caller is still being asked to input a password. I've attached a log file.

1626299336214.png

1626299261551.png
 

Attachments

  • Log MBox 700 V2.txt
    32.2 KB · Views: 1

hfoster

Active Member
Jan 28, 2019
674
80
28
34
Just having a dig through the LUA as that's how I did it myself, but then I realised there's another check inside the voicemail script:


/usr/share/freeswitch/scripts/app/voicemail/index.lua

Bash:
                        --check the voicemail password
                                if (voicemail_id) then
                                        if (voicemail_authorized) then
                                                if (voicemail_authorized == "true") then
                                                        if (voicemail_id == user_name or voicemail_id == sip_number_alias) then
                                                                --skip the password check
                                                        else
                                                                check_password(voicemail_id, password_tries);
                                                        end
                                                else
                                                        check_password(voicemail_id, password_tries);
                                                end
                                        else
                                                check_password(voicemail_id, password_tries);
                                        end
                                else
                                        check_password(voicemail_id, password_tries);
                                end

You can edit the line:

if (voicemail_id == user_name or voicemail_id == sip_number_alias) then

to:

if (voicemail_id == user_name or voicemail_id == sip_number_alias or destination_number == "*700") then

This thread discovered it too.
 

mc6650

Member
Apr 8, 2019
109
2
18
61
Thank you very much. I got it to work. Just to clarify, do I need to add an entry into the dial plan and the index.lua?

P.S. I did see the post you linked to, however I didn't comprehend the change in the index.lua file.
 

hfoster

Active Member
Jan 28, 2019
674
80
28
34
Both, because it checks if 'voicemail_authorized' is true but it then does an additional check on who it comes from too. Normally this is only used for people to check their own voicemail box and not anothers.
 
Status
Not open for further replies.