Voicemail Troubles


#1

I have setup an * system with a Vonage VAR account. When I call into the system and dial an extension, if there is no answer it transfers me to the extension voicemail (like it should). However, after the greeting has stopped, it immediately goes to a message stating something similar to “If you are satisfied with your message press (some key), ito re-record press (some key), to transfer to the operator press (some key)”. It is not giving me a chance to actually record a message. Any ideas?

Below is a copy of a call log into voicemail.

  -- Executing Macro("SIP/1720xxxxxxx-5d68", "exten-vm|200@default|200") in new stack
-- Executing SetVar("SIP/1720xxxxxxx-5d68", "FROMCONTEXT=exten-vm") in new stack
-- Executing Macro("SIP/1720xxxxxxx-5d68", "record-enable|200|IN") in new stack
-- Executing GotoIf("SIP/1720xxxxxxx-5d68", "0 > 0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing GotoIf("SIP/1720xxxxxxx-5d68", "0?5:8") in new stack
-- Goto (macro-record-enable,s,8)
-- Executing GotoIf("SIP/1720xxxxxxx-5d68", "0?9:12") in new stack
-- Goto (macro-record-enable,s,12)
-- Executing DBget("SIP/1720xxxxxxx-5d68", "RecEnable=RECORD-IN/200") in new stack
-- DBget: varname=RecEnable, family=RECORD-IN, key=200
-- DBget: Value not found in database.
-- Executing SetVar("SIP/1720xxxxxxx-5d68", "CALLFILENAME=20051030-021204-1130663516.258") in new stack
-- Executing GotoIf("SIP/1720xxxxxxx-5d68", "0?15:99") in new stack
-- Goto (macro-record-enable,s,99)
-- Executing NoOp("SIP/1720xxxxxxx-5d68", "NO RECORDING NEEDED") in new stack
-- Executing Macro("SIP/1720xxxxxxx-5d68", "dial|30|tr|200") in new stack
-- Executing GotoIf("SIP/1720xxxxxxx-5d68", "0?4:2") in new stack
-- Goto (macro-dial,s,2)
-- Executing GotoIf("SIP/1720xxxxxxx-5d68", "0?4:3") in new stack
-- Goto (macro-dial,s,3)
-- Executing SetCIDName("SIP/1720xxxxxxx-5d68", "xxxx xxxx  ") in new stack
-- Executing AGI("SIP/1720xxxxxxx-5d68", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
--  dialparties.agi: priority = 4
--  dialparties.agi: callingani2 = 0
--  dialparties.agi: accountcode =
--  dialparties.agi: channel = SIP/1720xxxxxxx-5d68
--  dialparties.agi: callerid = 1303yyyyyyy
--  dialparties.agi: callington = 0
--  dialparties.agi: context = macro-dial
--  dialparties.agi: dnid = 1720xxxxxxx
--  dialparties.agi: request = dialparties.agi
--  dialparties.agi: extension = s
--  dialparties.agi: calleridname = xxxx xxxx
--  dialparties.agi: language = en
--  dialparties.agi: uniqueid = 1130663516.258
--  dialparties.agi: callingpres = 0
--  dialparties.agi: rdnis = unknown
--  dialparties.agi: type = SIP
--  dialparties.agi: callingtns = 0
--  dialparties.agi: enhanced = 0.0

dialparties.agi: Caller ID name and number are ‘1303yyyyyyy’
– dialparties.agi: Added extension 200 to extension map
– dialparties.agi: Extension 200 cf is disabled
– dialparties.agi: Extension 200 do not disturb is disabled
== Parsing ‘/etc/asterisk/manager.conf’: Found
== Parsing ‘/etc/asterisk/manager_custom.conf’: Found
== Manager ‘admin’ logged on from 127.0.0.1
== Manager ‘admin’ logged off from 127.0.0.1
dialparties.agi: Extension 200 has call waiting disabled
– dialparties.agi: DbSet CALLTRACE/200 to 1303yyyyyyy
dialparties.agi: Dial string is SIP/200|30|tr
– AGI Script dialparties.agi completed, returning 0
– Executing Dial(“SIP/1720xxxxxxx-5d68”, “SIP/200|30|tr”) in new stack
== Everyone is busy/congested at this time (1:0/0/1)
– Executing GotoIf(“SIP/1720xxxxxxx-5d68”, “0?s-CHANUNAVAIL|1”) in new stack
– Executing GotoIf(“SIP/1720xxxxxxx-5d68”, “0?s-CHANUNAVAIL|1”) in new stack
– Executing NoOp(“SIP/1720xxxxxxx-5d68”, “Sending to Voicemail box 200@default”) in new stack
– Executing Macro(“SIP/1720xxxxxxx-5d68”, “vm|200@default|CHANUNAVAIL”) in new stack
– Executing Goto(“SIP/1720xxxxxxx-5d68”, “s-CHANUNAVAIL|1”) in new stack
– Goto (macro-vm,s-CHANUNAVAIL,1)
– Executing VoiceMail(“SIP/1720xxxxxxx-5d68”, “u200@default”) in new stack
– Playing ‘vm-theperson’ (language ‘en’)
– Playing ‘digits/2’ (language ‘en’)
– Playing ‘digits/0’ (language ‘en’)
– Playing ‘digits/0’ (language ‘en’)
– Playing ‘vm-isunavail’ (language ‘en’)
– Playing ‘vm-intro’ (language ‘en’)
– Playing ‘beep’ (language ‘en’)
– Recording the message
– x=0, open writing: /var/spool/asterisk/voicemail/default/200/INBOX/msg0000 format: wav49, (nil)
– Playing ‘vm-review’ (language ‘en’)
– Playing ‘vm-reachoper’ (language ‘en’)
– Playing ‘vm-goodbye’ (language ‘en’)
– Recording was 0 seconds long but needs to be at least 3 - abandoning
== Spawn extension (macro-vm, s-CHANUNAVAIL, 1) exited non-zero on ‘SIP/1720xxxxxxx-5d68’ in macro ‘vm’
== Spawn extension (macro-exten-vm, s, 7) exited non-zero on ‘SIP/1720xxxxxxx-5d68’ in macro ‘exten-vm’
== Spawn extension (aa_1, 200, 1) exited non-zero on ‘SIP/1720xxxxxxx-5d68’
– Executing Hangup(“SIP/1720xxxxxxx-5d68”, “”) in new stack
== Spawn extension (aa_1, h, 1) exited non-zero on ‘SIP/1720xxxxxxx-5d68’

Your assistance is greatly appreciated.


#2

I would first check to see if you can get audio through to a phone. (Softphone or hardphone)

If the voicemail routine doesn’t “hear” any audio, it dumps to that save/approve routine. You have to record at least a 3 second message, or the voicemail won’t save the message at all.

Make sure you have your firewall and RTP settings correct so that audio can make it through to phones and voicemail.


#3

dufus,

Thank you for the assistance. To answer your question, I am able to place outbound calls as well as able to receive inbound calls. Also, I have setup extension 756 to be able to dial in and record auto attendant / voicemail messages and that works just fine. Therefore, it seems that I am able to record.

When I call the system and dial an extension (ex. 200) after hearing the voicemail greeting, it immediately gives me the message to accept, to re-record, or to transfer to an operator. It does not even allow me a chance to leave a message. Any ideas?

[quote]The line below, do you have any ideas what the (nil) means at the end?
– x=0, open writing: /var/spool/asterisk/voicemail/default/200/INBOX/msg0000 format: wav49, (nil)[/quote]

Thanks for the help.


#4

Dufus,

I appreciate your initial reply. However, I have since replied regarding this matter and have yet to hear back from anyone. I am very interested in finding out what is going on with this and why I am unable to leave any voice messages. A reply to this immediately is greatly appreciated by any respondent.


#5

Does anybody have any assistance to offer. I feel that this is a very poor forum in terms of getting (any assistance) more than a single reply. It has been 4 - 5 days and still no response beyond the initial reply. That is pathetic. This is by far the most useless forum I have used. Brekeke and the others offer much better forums as well as replies. I am very bothered by the fact it is taking so long to get a darn response. Ridiculous.


#6

The only think i can think of to check is this

maxsilence
Maxsilence defines how long Asterisk will wait for a contiguous period of silence before terminating an incoming call to voice mail. The default value is 0, which means the silence detector is disabled and the wait time is infinite. Maxsilence takes a value of zero or a positive integer value which is the number of seconds of silence to wait before disconnecting.

silencethreshold
When using the maxsilence setting, it is sometimes necessary to adjust the silence detection threshold to eliminate false triggering on background noise.

Silencethreshold allows the adminstrator to do just that. The default silencethreshold value is 128. Higher numbers raise the threshold so that more background noise is needed to cause the silence detector to reset. When employing this setting, some experimentation will be necessary to find the best result.


#7

Rusty,

Thank you for the reply. The maxsilence is set for 5 seconds. The threshold is set for 128. However, after it states to leave message for user 200, it immediately goes to the prompt about re-recording, saving or transferring to an operator. It happens quicker than I can start to talk.

Below are my vm_general.inc settings

attach=yes
pbxskip=yes
serveremail=vm@asterisk
fromstring=Voicemail System
maxmessage=180
minmessage=3
maxsilence=5
silencethreshold=128
skipms=3000
review=yes
operator=yes

If I change review to no then it immediately hangs up the call after stating to leave a message. This is very starnge to me, especially since it is happening on two separate installs. Any ideas?

Also, here are the voicemail.conf settings:

[general]
#include vm_general.inc
#include vm_email.inc
[default]

200 => ,,,maxmessage=60|attach=no|saycid=no|envelope=yes|delete=no|nextaftercmd=yes

Are there any other settings that would be helpful?

One final thing of concern, this line below in the quote box is trying to write to a directory which does not exist from what I can find. Starting at the /voicemail point there is no longer a directory. Could this be causing a problem?


#8

Im not for sure when the directory is created when setting up voicemail.conf or when asterisk actualy tries to wirte the message I have directorys for all the differnet context I use in voicemail.conf. when you start asterisk do you see any warning about voicemil when it loads on the cli
You might try creating a context other then default in your voicemail.conf and extensions.conf then set up voicemail for extension and see what happens


#9

Rusty,

I am so new to asterisk and linux that I do not know. I just did a reload and it does not seem to have any errors. Below is a copy of the reload.

== Parsing ‘/etc/asterisk/extconfig.conf’: Not found (No such file or directory)
== Parsing ‘/etc/asterisk/manager.conf’: Found
== Parsing ‘/etc/asterisk/manager_custom.conf’: Found
== Parsing ‘/etc/asterisk/cdr.conf’: Not found (No such file or directory)
== Parsing ‘/etc/asterisk/enum.conf’: Found
== Parsing ‘/etc/asterisk/rtp.conf’: Found
== RTP Allocating from port range 10000 -> 20000
== Parsing ‘/etc/asterisk/dnsmgr.conf’: Not found (No such file or directory)
– Reloading module ‘res_musiconhold.so’ (Music On Hold Resource)
== Parsing ‘/etc/asterisk/musiconhold.conf’: Found
– Reloading module ‘res_adsi.so’ (ADSI Resource)
== Parsing ‘/etc/asterisk/adsi.conf’: Not found (No such file or directory)
– Reloading module ‘res_features.so’ (Call Features Resource)
== Parsing ‘/etc/asterisk/features.conf’: Found
– Added extension ‘70’ priority 1 to parkedcalls
– Reloading module ‘res_crypto.so’ (Cryptographic Digital Signatures)
– Reloading module ‘res_indications.so’ (Indications Configuration)
– Unregistered indication country ‘us’
– Unregistered indication country ‘au’
– Unregistered indication country ‘fr’
– Unregistered indication country ‘de’
– Unregistered indication country ‘nl’
– Unregistered indication country ‘uk’
– Unregistered indication country ‘fi’
– Unregistered indication country ‘no’
– Unregistered indication country ‘br’
– Unregistered indication country ‘za’
– Unregistered indication country ‘it’
== Parsing ‘/etc/asterisk/indications.conf’: Found
– Registered indication country ‘us’
– Registered indication country ‘au’
– Registered indication country ‘fr’
– Registered indication country ‘de’
– Registered indication country ‘nl’
– Registered indication country ‘uk’
– Registered indication country ‘fi’
– Registered indication country ‘no’
– Registered indication country ‘br’
– Registered indication country ‘za’
– Registered indication country ‘it’
– Setting default indication country to ‘us’
– Reloading module ‘res_config_mysql.so’ (MySQL RealTime Configuration Driver)
== Parsing ‘/etc/asterisk/res_mysql.conf’: Not found (No such file or directory)
== MySQL RealTime reloaded.
– Reloading module ‘chan_sip.so’ (Session Initiation Protocol (SIP))
– Reloading module ‘chan_agent.so’ (Agent Proxy Channel)
Reloading SIP
== Parsing ‘/etc/asterisk/agents.conf’: == Parsing ‘/etc/asterisk/sip.conf’: Found
Found
– Reloading module ‘chan_mgcp.so’ (Media Gateway Control Protocol (MGCP))
== Parsing ‘/etc/asterisk/sip_nat.conf’: – Reloading module ‘chan_iax2.so’ (Inter Asterisk eXchange (Ver 2))
== Parsing ‘/etc/asterisk/iax.conf’: Found
Found
Reloading MGCP
== Parsing ‘/etc/asterisk/mgcp.conf’: Not found (No such file or directory)
== Parsing ‘/etc/asterisk/sip_custom.conf’: Not found (No such file or directory)
== Parsing ‘/etc/asterisk/sip_additional.conf’: Found
== Parsing ‘/etc/asterisk/iax_additional.conf’: Found
== Parsing ‘/etc/asterisk/iax_custom.conf’: Not found (No such file or directory)
== Loaded firmware ‘iaxy.bin’
== Parsing ‘/etc/asterisk/iaxprov.conf’: Found
– Loaded provisioning template ‘default’
– Reloading module ‘chan_local.so’ (Local Proxy Channel)
– Reloading module ‘chan_skinny.so’ (Skinny Client Control Protocol (Skinny))
== Parsing ‘/etc/asterisk/skinny.conf’: Not found (No such file or directory)
– Reloading module ‘chan_zap.so’ (Zapata Telephony w/PRI)
== Parsing ‘/etc/asterisk/zapata.conf’: Found
== Parsing ‘/etc/asterisk/zapata_additional.conf’: Found
== Parsing ‘/etc/asterisk/zapata-auto.conf’: Found
– Reloading module ‘chan_features.so’ (Feature Proxy Channel)
– Reloading module ‘pbx_config.so’ (Text Extension Configuration)
== Parsing ‘/etc/asterisk/sip_notify.conf’: Not found (No such file or directory)
== Parsing ‘/etc/asterisk/extensions.conf’: Found
== Parsing ‘/etc/asterisk/extensions_additional.conf’: Found
== Parsing ‘/etc/asterisk/extensions_custom.conf’: Found
== Setting global variable ‘VM_PREFIX’ to ‘
== Setting global variable ‘RINGTIMER’ to ‘30’
== Setting global variable ‘REGTIME’ to ‘8:30-17:00’
== Setting global variable ‘LUNCH’ to ‘12:00-13:00’
== Setting global variable ‘REGDAYS’ to ‘mon-thu’
== Setting global variable ‘RECORDEXTEN’ to ‘""’
== Setting global variable ‘PARKNOTIFY’ to ‘SIP/200’
== Setting global variable ‘OUT_3’ to ‘SIP/<phone_number>’
== Setting global variable ‘OUT_2’ to ‘SIP/<phone_number>’
== Setting global variable ‘OUT_1’ to ‘SIP/<phone_number>’
== Setting global variable ‘OUTPREFIX_3’ to ‘’
== Setting global variable ‘OUTPREFIX_2’ to ‘’
== Setting global variable ‘OUTPREFIX_1’ to ‘’
== Setting global variable ‘OUTMAXCHANS_3’ to ‘20’
== Setting global variable ‘OUTMAXCHANS_2’ to ‘20’
== Setting global variable ‘OUTMAXCHANS_1’ to ‘20’
== Setting global variable ‘OUTCID_3’ to ‘“DMC” <<phone_number>>’
== Setting global variable ‘OUTCID_2’ to ‘“CDRx” <<phone_number>>’
== Setting global variable ‘OUTCID_1’ to ‘“MS” <<phone_number>>’
== Setting global variable ‘OPERATOR’ to ‘’
== Setting global variable ‘NULL’ to ‘""’
== Setting global variable ‘IN_OVERRIDE’ to ‘none’
== Setting global variable ‘LUNCHINCOMING’ to ‘aa_7’
== Setting global variable ‘FAX_RX_EMAIL’ to 'fax@mydomain.com
== Setting global variable ‘FAX_RX’ to ‘disabled’
== Setting global variable ‘FAX’ to ‘’
== Setting global variable ‘ECID200’ to ‘Consumers Discount Rx’
== Setting global variable ‘E756’ to ‘SIP’
== Setting global variable ‘E203’ to ‘SIP’
== Setting global variable ‘E200’ to ‘SIP’
== Setting global variable ‘DIRECTORY_OPTS’ to ‘e’
== Setting global variable ‘DIRECTORY’ to ‘last’
== Setting global variable ‘DIAL_OUT’ to ‘9’
== Setting global variable ‘DIAL_OPTIONS’ to ‘tr’
== Setting global variable ‘DIALOUTIDS’ to ‘1/2/3/’
== Setting global variable ‘CALLFILENAME’ to ‘""’
== Setting global variable ‘AFTER_INCOMING’ to ‘aa_1’
– Registered extension context ‘aa_1’
– Including context ‘aa_1-custom’ in context ‘aa_1’
– Added extension ‘fax’ priority 1 to aa_1
– Added extension ‘h’ priority 1 to aa_1
– Added extension ‘i’ priority 1 to aa_1
– Added extension ‘i’ priority 2 to aa_1
– Including context ‘ext-local’ in context ‘aa_1’
– Including context ‘app-messagecenter’ in context ‘aa_1’
– Including context ‘app-directory’ in context ‘aa_1’
– Added extension ‘s’ priority 1 to aa_1
– Added extension ‘s’ priority 2 to aa_1
– Added extension ‘s’ priority 3 to aa_1
– Added extension ‘s’ priority 4 to aa_1
– Added extension ‘s’ priority 5 to aa_1
– Added extension ‘s’ priority 6 to aa_1
– Added extension ‘s’ priority 7 to aa_1
– Registered extension context ‘aa_2’
– Including context ‘aa_2-custom’ in context ‘aa_2’
– Added extension ‘1’ priority 1 to aa_2
– Added extension ‘2’ priority 1 to aa_2
– Added extension ‘3’ priority 1 to aa_2
– Added extension ‘4’ priority 1 to aa_2
– Added extension ‘8’ priority 1 to aa_2
– Added extension ‘fax’ priority 1 to aa_2
– Added extension ‘h’ priority 1 to aa_2
– Added extension ‘i’ priority 1 to aa_2
– Added extension ‘i’ priority 2 to aa_2
– Including context ‘ext-local’ in context ‘aa_2’
– Including context ‘app-messagecenter’ in context ‘aa_2’
– Including context ‘app-directory’ in context ‘aa_2’
– Added extension ‘s’ priority 1 to aa_2
– Added extension ‘s’ priority 2 to aa_2
– Added extension ‘s’ priority 3 to aa_2
– Added extension ‘s’ priority 4 to aa_2
– Added extension ‘s’ priority 5 to aa_2
– Added extension ‘s’ priority 6 to aa_2
– Added extension ‘s’ priority 7 to aa_2
– Registered extension context ‘aa_3’
– Including context ‘aa_3-custom’ in context ‘aa_3’
– Added extension '
’ priority 1 to aa_3
– Added extension ‘1’ priority 1 to aa_3
– Added extension ‘2’ priority 1 to aa_3
– Added extension ‘8’ priority 1 to aa_3
– Added extension ‘fax’ priority 1 to aa_3
– Added extension ‘h’ priority 1 to aa_3
– Added extension ‘i’ priority 1 to aa_3
– Added extension ‘i’ priority 2 to aa_3
– Including context ‘ext-local’ in context ‘aa_3’
– Including context ‘app-messagecenter’ in context ‘aa_3’
– Including context ‘app-directory’ in context ‘aa_3’
– Added extension ‘s’ priority 1 to aa_3
– Added extension ‘s’ priority 2 to aa_3
– Added extension ‘s’ priority 3 to aa_3
– Added extension ‘s’ priority 4 to aa_3
– Added extension ‘s’ priority 5 to aa_3
– Added extension ‘s’ priority 6 to aa_3
– Added extension ‘s’ priority 7 to aa_3
– Registered extension context ‘aa_4’
– Including context ‘aa_4-custom’ in context ‘aa_4’
– Added extension ‘’ priority 1 to aa_4
– Added extension ‘1’ priority 1 to aa_4
– Added extension ‘2’ priority 1 to aa_4
– Added extension ‘8’ priority 1 to aa_4
– Added extension ‘fax’ priority 1 to aa_4
– Added extension ‘h’ priority 1 to aa_4
– Added extension ‘i’ priority 1 to aa_4
– Added extension ‘i’ priority 2 to aa_4
– Including context ‘ext-local’ in context ‘aa_4’
– Including context ‘app-messagecenter’ in context ‘aa_4’
– Including context ‘app-directory’ in context ‘aa_4’
– Added extension ‘s’ priority 1 to aa_4
– Added extension ‘s’ priority 2 to aa_4
– Added extension ‘s’ priority 3 to aa_4
– Added extension ‘s’ priority 4 to aa_4
– Added extension ‘s’ priority 5 to aa_4
– Added extension ‘s’ priority 6 to aa_4
– Added extension ‘s’ priority 7 to aa_4
– Registered extension context ‘aa_5’
– Including context ‘aa_5-custom’ in context ‘aa_5’
– Added extension '
’ priority 1 to aa_5
– Added extension ‘1’ priority 1 to aa_5
– Added extension ‘2’ priority 1 to aa_5
– Added extension ‘8’ priority 1 to aa_5
– Added extension ‘fax’ priority 1 to aa_5
– Added extension ‘h’ priority 1 to aa_5
– Added extension ‘i’ priority 1 to aa_5
– Added extension ‘i’ priority 2 to aa_5
– Including context ‘ext-local’ in context ‘aa_5’
– Including context ‘app-messagecenter’ in context ‘aa_5’
– Including context ‘app-directory’ in context ‘aa_5’
– Added extension ‘s’ priority 1 to aa_5
– Added extension ‘s’ priority 2 to aa_5
– Added extension ‘s’ priority 3 to aa_5
– Added extension ‘s’ priority 4 to aa_5
– Added extension ‘s’ priority 5 to aa_5
– Added extension ‘s’ priority 6 to aa_5
– Added extension ‘s’ priority 7 to aa_5
– Registered extension context ‘aa_6’
– Including context ‘aa_6-custom’ in context ‘aa_6’
– Added extension ‘*’ priority 1 to aa_6
– Added extension ‘1’ priority 1 to aa_6
– Added extension ‘2’ priority 1 to aa_6
– Added extension ‘8’ priority 1 to aa_6
– Added extension ‘fax’ priority 1 to aa_6
– Added extension ‘h’ priority 1 to aa_6
– Added extension ‘i’ priority 1 to aa_6
– Added extension ‘i’ priority 2 to aa_6
– Including context ‘ext-local’ in context ‘aa_6’
– Including context ‘app-messagecenter’ in context ‘aa_6’
– Including context ‘app-directory’ in context ‘aa_6’

If you are able to assist that is greatly appreciated. You have been extremely helpful and I appreciate it.


#10

Looks like you using a lot of marcos and stuff but I see nothing that jumps at me and says it will not work. I would suggest creating simple context no marco just something plain and if you havent already the default 8500 usuall dumps to voicemail main were you can access your voimail and recored personal greeting see if that works

[context]
exten => s,1,answer
exten => s, 2,Voicemail(201)

set it up so it can be called from internal phone
exten => 201,1,GoTo(context,s,1)

set up voicemail.conf for 201

see if that works if it does then set it up to jump to it when called from outside or vonage line

sometimes you just have to work backwards to figure it out


#11

I’m having this exact same problem, does anyone have any suggestions?


#12

Found the problem, in case anyone else is interested:

the symbolic link in /var/lib/asterisk/sounds for “voicemail” pointed to a directory (/var/spool/asterisk/voicemail) which did not exist. Furthermore the ownership & group was root for the symbolic link.

I created the directory and chowned and chgrouped to asterisk and it works.


#13

^^^^

You may also find that certain other aspects of voicemail don’t check or create directories. I had manually create a directory name ‘Old’ inside the extension subdir of the voicemail spool to correct a different problem.