VoiceMail hangs up after password and # key are entered

Let me say right up front that I am very new to the Asterisk world, so please pardon any total ignorance!

Here is what I am working with:
I followed the steps listed by DrDamnit in a post located here - experts-exchange.com/Network … ratch.html

I used Ubuntu Server version 10.10 for my base Linux (in hindsight I may reinstall with version 10.4 LTM)
Per DrD’s instructions (svn co svn.digium.com/svn/asterisk/trunk asterisk) I ended up with version: SVN-trunk-r293809 (I’m not sure if that is good or bad!)

I had previously installed and messed around with an “AsteriskNow 1.7” installation on a different server but it became evident that the config changes I needed to get my lab up on “pure Asterisk” were located in 4 files (extensions.conf, users.conf, sip.conf, and voicemail.conf)

So I get the new installation up and running, I copy the 4 config files from AsteriskNow 1.7 into /etc/asterisk on the new server (after preserving the originals of course) all 5 of my phones (3 on the local network and 2 remote) register, my SIP trunk registers, I can make calls (on and off net), I can leave Voicemail AND the voicemail gets sent off to my gmail account!

I am impressed with myself until I hit the first snag:

When I try to retrieve voicemail, from any of the phones, I dial the VM extension, I am asked for my password, I enter the password followed by the “#” key. As soon as I hit the # key the call is dropped.
Does anyone have any idea where I should start looking? OR Have I broken and “Golden Rules” while following the way I got this installed?

I am thinking a SIP debug from the CLI while trying to retrieve VM might be of help, so here it is:

<— SIP read from UDP:209.137.234.229:1027 —>
INVITE sip:6099@10.1.3.11 SIP/2.0
Via: SIP/2.0/UDP 209.137.234.229:1028;branch=z9hG4bK-168ed1c
From: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
To: sip:6099@10.1.3.11
Remote-Party-ID: SPA-Line1 sip:7544@10.1.3.11;screen=yes;party=calling
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 101 INVITE
Max-Forwards: 70
Contact: SPA-Line1 sip:7544@209.137.234.229:1028
Expires: 240
User-Agent: Linksys/SPA8000-6.1.3
Allow-Events: talk, hold, conference
Content-Length: 445
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura, replaces
Content-Type: application/sdp

v=0
o=- 8507079 8507079 IN IP4 10.0.3.115
s=-
c=IN IP4 209.137.234.229
t=0 0
m=audio 16420 RTP/AVP 0 2 4 8 18 96 97 98 100 101
a=rtpmap:0 PCMU/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:4 G723/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729a/8000
a=rtpmap:96 G726-40/8000
a=rtpmap:97 G726-24/8000
a=rtpmap:98 G726-16/8000
a=rtpmap:100 NSE/8000
a=fmtp:100 192-193
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:30
a=sendrecv
<------------->
— (16 headers 20 lines) —
Sending to 209.137.234.229:1028 (no NAT)
Using INVITE request as basis request - 51b5f03a-192a3e54@10.0.3.115
Found peer ‘7544’ for ‘7544’ from 209.137.234.229:1027

<— Reliably Transmitting (NAT) to 209.137.234.229:1027 —>
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 209.137.234.229:1028;branch=z9hG4bK-168ed1c;received=209.137.234.229;rport=1027
From: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
To: sip:6099@10.1.3.11;tag=as1d925884
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 101 INVITE
Server: Asterisk PBX SVN-trunk-r293809
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm=“asterisk”, nonce="734ce0cb"
Content-Length: 0

<------------>
Scheduling destruction of SIP dialog ‘51b5f03a-192a3e54@10.0.3.115’ in 32000 ms (Method: INVITE)

<— SIP read from UDP:209.137.234.229:1027 —>
ACK sip:6099@10.1.3.11 SIP/2.0
Via: SIP/2.0/UDP 209.137.234.229:1028;branch=z9hG4bK-168ed1c
From: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
To: sip:6099@10.1.3.11;tag=as1d925884
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 101 ACK
Max-Forwards: 70
Contact: SPA-Line1 sip:7544@209.137.234.229:1028
User-Agent: Linksys/SPA8000-6.1.3
Allow-Events: talk, hold, conference
Content-Length: 0

<------------->
— (11 headers 0 lines) —

<— SIP read from UDP:209.137.234.229:1027 —>
INVITE sip:6099@10.1.3.11 SIP/2.0
Via: SIP/2.0/UDP 209.137.234.229:1028;branch=z9hG4bK-a7cefe0
From: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
To: sip:6099@10.1.3.11
Remote-Party-ID: SPA-Line1 sip:7544@10.1.3.11;screen=yes;party=calling
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 102 INVITE
Max-Forwards: 70
Authorization: Digest username=“7544”,realm=“asterisk”,nonce=“734ce0cb”,uri="sip:6099@69.51.81.220",algorithm=MD5,response="3447af46135f47babdd196a8ab714b54"
Contact: SPA-Line1 sip:7544@209.137.234.229:1028
Expires: 240
User-Agent: Linksys/SPA8000-6.1.3
Allow-Events: talk, hold, conference
Content-Length: 445
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura, replaces
Content-Type: application/sdp

v=0
o=- 8507079 8507079 IN IP4 10.0.3.115
s=-
c=IN IP4 209.137.234.229
t=0 0
m=audio 16420 RTP/AVP 0 2 4 8 18 96 97 98 100 101
a=rtpmap:0 PCMU/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:4 G723/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729a/8000
a=rtpmap:96 G726-40/8000
a=rtpmap:97 G726-24/8000
a=rtpmap:98 G726-16/8000
a=rtpmap:100 NSE/8000
a=fmtp:100 192-193
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:30
a=sendrecv
<------------->
— (17 headers 20 lines) —
Sending to 209.137.234.229:1027 (NAT)
Using INVITE request as basis request - 51b5f03a-192a3e54@10.0.3.115
Found peer ‘7544’ for ‘7544’ from 209.137.234.229:1027
Found RTP audio format 0
Found RTP audio format 2
Found RTP audio format 4
Found RTP audio format 8
Found RTP audio format 18
Found RTP audio format 96
Found RTP audio format 97
Found RTP audio format 98
Found RTP audio format 100
Found RTP audio format 101
Found audio description format PCMU for ID 0
Found audio description format G726-32 for ID 2
Found audio description format G723 for ID 4
Found audio description format PCMA for ID 8
Found audio description format G729a for ID 18
Found audio description format G726-40 for ID 96
Found audio description format G726-24 for ID 97
Found audio description format G726-16 for ID 98
Found audio description format NSE for ID 100
Found audio description format telephone-event for ID 101
Capabilities: us - 0x6 (gsm|ulaw), peer - audio=0x100d0d (g723|ulaw|alaw|g726|g729|ilbc|h263p)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x4 (ulaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
Peer audio RTP is at port 209.137.234.229:16420
Looking for 6099 in from-sip (domain 10.1.3.11)
list_route: hop: sip:7544@209.137.234.229:1028

<— Transmitting (NAT) to 209.137.234.229:1027 —>
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 209.137.234.229:1028;branch=z9hG4bK-a7cefe0;received=209.137.234.229;rport=1027
From: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
To: sip:6099@10.1.3.11
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 102 INVITE
Server: Asterisk PBX SVN-trunk-r293809
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: sip:6099@10.1.3.11:5060
Content-Length: 0

<------------>
Audio is at 5060
Adding codec 0x4 (ulaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<— Reliably Transmitting (NAT) to 209.137.234.229:1027 —>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 209.137.234.229:1028;branch=z9hG4bK-a7cefe0;received=209.137.234.229;rport=1027
From: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
To: sip:6099@10.1.3.11;tag=as59d4c5f3
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 102 INVITE
Server: Asterisk PBX SVN-trunk-r293809
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: sip:6099@10.1.3.11:5060
Content-Type: application/sdp
Content-Length: 240

v=0
o=root 1979196128 1979196128 IN IP4 10.1.3.11
s=Asterisk PBX SVN-trunk-r293809
c=IN IP4 10.1.3.11
t=0 0
m=audio 14574 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

<------------>

<— SIP read from UDP:209.137.234.229:1027 —>
ACK sip:6099@10.1.3.11:5060 SIP/2.0
Via: SIP/2.0/UDP 209.137.234.229:1028;branch=z9hG4bK-94bbd2f5
From: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
To: sip:6099@10.1.3.11;tag=as59d4c5f3
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 102 ACK
Max-Forwards: 70
Authorization: Digest username=“7544”,realm=“asterisk”,nonce=“734ce0cb”,uri="sip:6099@69.51.81.220",algorithm=MD5,response="3447af46135f47babdd196a8ab714b54"
Contact: SPA-Line1 sip:7544@209.137.234.229:1028
User-Agent: Linksys/SPA8000-6.1.3
Allow-Events: talk, hold, conference
Content-Length: 0

<------------->
— (12 headers 0 lines) —
Scheduling destruction of SIP dialog ‘143d14341b8080e647a4c91e1d27fdb6@10.1.3.11:5060’ in 32000 ms (Method: NOTIFY)
Reliably Transmitting (NAT) to 209.137.234.229:1027:
NOTIFY sip:7544@209.137.234.229:1028 SIP/2.0
Via: SIP/2.0/UDP 10.1.3.11:5060;branch=z9hG4bK1c81e28b;rport
Max-Forwards: 70
From: “asterisk” sip:asterisk@10.1.3.11;tag=as42db6934
To: sip:7544@209.137.234.229:1028
Contact: sip:asterisk@10.1.3.11:5060
Call-ID: 143d14341b8080e647a4c91e1d27fdb6@10.1.3.11:5060
CSeq: 102 NOTIFY
User-Agent: Asterisk PBX SVN-trunk-r293809
Event: message-summary
Content-Type: application/simple-message-summary
Content-Length: 90

Messages-Waiting: no
Message-Account: sip:6099@10.1.3.11:5060
Voice-Message: 0/0 (0/0)


Scheduling destruction of SIP dialog ‘51b5f03a-192a3e54@10.0.3.115’ in 32000 ms (Method: ACK)
set_destination: Parsing sip:7544@209.137.234.229:1028 for address/port to send to
set_destination: set destination to 209.137.234.229:1028
Reliably Transmitting (NAT) to 209.137.234.229:1027:
BYE sip:7544@209.137.234.229:1028 SIP/2.0
Via: SIP/2.0/UDP 10.1.3.11:5060;branch=z9hG4bK7c9c3107;rport
Max-Forwards: 70
From: sip:6099@10.1.3.11;tag=as59d4c5f3
To: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 102 BYE
User-Agent: Asterisk PBX SVN-trunk-r293809
Proxy-Authorization: Digest username=“7544”, realm=“asterisk”, algorithm=MD5, uri=“10.1.3.11”, nonce="", response="f93556c226c8c0060ab8807b0814e50d"
X-Asterisk-HangupCause: Unknown
X-Asterisk-HangupCauseCode: 0
Content-Length: 0


<— SIP read from UDP:209.137.234.229:1027 —>
SIP/2.0 200 OK
To: sip:7544@209.137.234.229:1028;tag=f510729735960ba5i0
From: “asterisk” sip:asterisk@10.1.3.11;tag=as42db6934
Call-ID: 143d14341b8080e647a4c91e1d27fdb6@10.1.3.11:5060
CSeq: 102 NOTIFY
Via: SIP/2.0/UDP 10.1.3.11:5060;branch=z9hG4bK1c81e28b
Server: Linksys/SPA8000-6.1.3
Allow-Events: talk, hold, conference
Content-Length: 0

<------------->
— (9 headers 0 lines) —
Really destroying SIP dialog ‘143d14341b8080e647a4c91e1d27fdb6@10.1.3.11:5060’ Method: NOTIFY

<— SIP read from UDP:209.137.234.229:1027 —>
SIP/2.0 200 OK
To: SPA-Line1 sip:7544@10.1.3.11;tag=7fffb702ad09e62co0
From: sip:6099@10.1.3.11;tag=as59d4c5f3
Call-ID: 51b5f03a-192a3e54@10.0.3.115
CSeq: 102 BYE
Via: SIP/2.0/UDP 10.1.3.11:5060;branch=z9hG4bK7c9c3107
Server: Linksys/SPA8000-6.1.3
Allow-Events: talk, hold, conference
Content-Length: 0

<------------->
— (9 headers 0 lines) —
SIP Response message for INCOMING dialog BYE arrived
Really destroying SIP dialog ‘51b5f03a-192a3e54@10.0.3.115’ Method: ACK

Thanks in advance.
Brian

I would think that the console log for the voicemail attempt and the relevant dialplan (extensions.conf) would be of use.

Thanks for the reply MAZZIC,

Here is my dialplan (extensions.conf)

; extensions.conf - the Asterisk dial plan
; I have removed all the Commented Lines since this config was based on the sample included with Asterisk

[general]
static = yes
writeprotect = no
clearglobalvars = no
[globals]
CONSOLE = Console/dsp ; Console interface for demo
IAXINFO = guest ; IAXtel username/password
TRUNK = DAHDI/G2 ; Trunk interface
TRUNKMSD = 1 ; MSD digits to strip (usually 1 or 0)
FEATURES =
DIALOPTIONS =
RINGTIME = 20

FOLLOWMEOPTIONS =
PAGING_HEADER = Intercom
CID_6001 = 6001
CID_7536 = 4065417536
CID_7537 = 4065417537
CID_7538 = 4065417538
CID_7539 = 4065417539
CID_7540 = 4065417540
CID_7541 = 4065417541
CID_7542 = 4065417542
CID_7543 = 4065417543
CID_7544 = 4065417544
trunk_1 = SIP/trunk_1
CID_trunk_1 = 4062580127
GLOBAL_OUTBOUNDCID = 4065417541
GLOBAL_OUTBOUNDCIDNAME = EMRCC
[dundi-e164-canonical]
[dundi-e164-customers]
[dundi-e164-via-pstn]
[dundi-e164-local]
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn

[dundi-e164-switch]
switch => DUNDi/e164

[dundi-e164-lookup]
include => dundi-e164-local
include => dundi-e164-switch
[macro-dundi-e164]
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup

[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)

[iaxprovider]
[trunkint]
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})
[trunkld]
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[trunklocal]
exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[international]
ignorepat => 9
include => longdistance
include => trunkint

[longdistance]
ignorepat => 9
include => local
include => trunkld

[local]
ignorepat => 9
include => default
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
[outbound-freenum]
exten => _XX!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XX
X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXX!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXX
X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXXX!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXXX
X!,1,Goto(outbound-freenum2,${EXTEN},1)
[outbound-freenum2]
exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)})
same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != “${SUFFIX}”]?fn-CONGESTION,1)
same => n,Set(TIMEOUT(absolute)=10800)
same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,1,freenum.org)})
same => n,GotoIf($["${isnresult}" != “”]?from)
same => n,Set(DIALSTATUS=CONGESTION)
same => n,Goto(fn-CONGESTION,1)
same => n(from),Set(SIPFROMUSER=${CALLERID(num)})
same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" = “”]?dial)
same => n,Set(SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)})
same => n(dial),Dial(SIP/${isnresult},40)
same => n,Goto(fn-${DIALSTATUS},1)

exten => fn-BUSY,1,Busy()

exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
same => n,Congestion()

[macro-trunkdial]
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1,Hangup
exten => _s-.,1,NoOp
[stdexten]
exten => _X.,50000(stdexten),NoOp(Start stdexten)
exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
exten => _X.,n,Set(LOCAL(dev)=${ARG1})
exten => _X.,n,Set(LOCAL(cntx)=${ARG2})

exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? “@${cntx}” :: “”])
exten => _X.,n,Dial(${dev},20) ; Ring the interface, 20 seconds maximum
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)

exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)
exten => stdexten-NOANSWER,n,NoOp(Finish stdexten NOANSWER)
exten => stdexten-NOANSWER,n,Return() ; If they press #, return to start

exten => stdexten-BUSY,1,Voicemail(${mbx},b)
exten => stdexten-BUSY,n,NoOp(Finish stdexten BUSY)
exten => stdexten-BUSY,n,Return() ; If they press #, return to start

exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer

exten => a,1,VoicemailMain(${mbx}) ; If they press *, send the user into VoicemailMain
exten => a,n,Return()

[stdPrivacyexten]
exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
exten => _X.,n,Set(LOCAL(ext)=${ARG1})
exten => _X.,n,Set(LOCAL(dev)=${ARG2})
exten => _X.,n,Set(LOCAL(dontcntx)=${ARG3})
exten => _X.,n,Set(LOCAL(tortcntx)=${ARG4})
exten => _X.,n,Set(LOCAL(cntx)=${ARG5})

exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? “@${cntx}” :: “”])
exten => _X.,n,Dial(${dev},20,p) ; Ring the interface, 20 seconds maximum, call screening
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)

exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)
exten => stdexten-NOANSWER,n,NoOp(Finish stdPrivacyexten NOANSWER)
exten => stdexten-NOANSWER,n,Return()

exten => stdexten-BUSY,1,Voicemail(${mbx},b)
exten => stdexten-BUSY,n,NoOp(Finish stdPrivacyexten BUSY)
exten => stdexten-BUSY,n,Return() ; If they press #, return to start

exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1)

exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1)

exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1)

exten => a,1,VoicemailMain(${mbx})
exten => a,n,Return

[macro-page];
exten => s,1,ChanIsAvail(${ARG1},s) ; s is for ANY call
exten => s,n,GoToIf($[${AVAILORIGCHAN} = “”]?fail:autoanswer)
exten => s,n(autoanswer),Set(_ALERT_INFO=“RA”) ; This is for the PolyComs
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0)
exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!
exten => s,n,Dial(${ARG1})
exten => s,n(fail),Hangup

[demo]
include => stdexten
exten => s,1,Wait(1) ; Wait a second, just for fun
exten => s,n,Answer ; Answer the line
exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
exten => s,n(restart),BackGround(demo-congrats) ; Play a congratulatory message
exten => s,n(instruct),BackGround(demo-instruct) ; Play some instructions
exten => s,n,WaitExten ; Wait for an extension to be dialed.

exten => 2,1,BackGround(demo-moreinfo) ; Give some more information.
exten => 2,n,Goto(s,instruct)

exten => 3,1,Set(LANGUAGE()=fr) ; Set language to french
exten => 3,n,Goto(s,restart) ; Start with the congratulations

exten => 1000,1,Goto(default,s,1)
exten => 1234,1,Playback(transfer,skip) ; "Please hold while…"
exten => 1234,n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}))
exten => 1234,n,Goto(default,s,1) ; exited Voicemail

exten => 1235,1,Voicemail(1234,u) ; Right to voicemail

exten => 1236,1,Dial(Console/dsp) ; Ring forever
exten => 1236,n,Voicemail(1234,b) ; Unless busy

exten => #,1,Playback(demo-thanks)
exten => #,n,Hangup ; Hang them up.

exten => t,1,Goto(#,1) ; If they take too long, give up
exten => i,1,Playback(invalid) ; “That’s not valid, try again”

exten => 500,1,Playback(demo-abouttotry) ; Let them know what’s going on
exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default) ; Call the Asterisk demo
exten => 500,n,Playback(demo-nogo) ; Couldn’t connect to the demo site
exten => 500,n,Goto(s,6) ; Return to the start over message.

exten => 600,1,Playback(demo-echotest) ; Let them know what’s going on
exten => 600,n,Echo ; Do the echo test
exten => 600,n,Playback(demo-echodone) ; Let them know it’s over
exten => 600,n,Goto(s,6) ; Start over

exten => 76245,1,Macro(page,SIP/Grandstream1)
exten => _7XXX,1,Macro(page,SIP/${EXTEN})
exten => 7999,1,Set(TIMEOUT(absolute)=60)
exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)
exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)
[page]
exten => _X.,1,Macro(page,SIP/${EXTEN})
[default]
exten = _#6XXX,1,Set(MBOX=${EXTEN:1}@default)
exten = _#6XXX,n,VoiceMail(${MBOX})
exten = a,1,VoicemailMain(${MBOX})
exten = 6099,1,VoiceMailMain(${CALLERID(num)}@default)

[time]
exten => _X.,30000(time),NoOp(Time: ${EXTEN} ${timezone})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
exten => _X.,n,Set(FUTURETIME=$[${EPOCH} + 12])
exten => _X.,n,SayUnixTime(${FUTURETIME},Zulu,HNS)
exten => _X.,n,SayPhonetic(z)
exten => _X.,n,SayUnixTime(${FUTURETIME},${timezone},HNS)
exten => _X.,n,Playback(spy-local)
exten => _X.,n,WaitUntil(${FUTURETIME})
exten => _X.,n,Playback(beep)
exten => _X.,n,Return()

[ani]
exten => _X.,40000(ani),NoOp(ANI: ${EXTEN})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
exten => _X.,n,Playback(vm-from)
exten => _X.,n,SayDigits(${CALLERID(ani)})
exten => _X.,n,Wait(1.25)
exten => _X.,n,SayDigits(${CALLERID(ani)}) ; playback again in case of missed digit
exten => _X.,n,Return()
[macro-stdexten]
exten = s,1,Set(_DYNAMIC_FEATURES=${FEATURES})
exten = s,2,Set(ORIG_ARG1=${ARG1})
exten = s,3,GotoIf($["${FOLLOWME
${ARG1}}" = “1”]?6:4)
exten = s,4,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
exten = s,5,Goto(s-${DIALSTATUS},1)
exten = s,6,Macro(stdexten-followme,${ARG1},${ARG2})
exten = s-NOANSWER,1,Voicemail(${ORIG_ARG1},u)
exten = s-NOANSWER,2,Goto(default,s,1)
exten = s-BUSY,1,Voicemail(${ORIG_ARG1},b)
exten = s-BUSY,2,Goto(default,s,1)
exten = _s-.,1,Goto(s-NOANSWER,1)
exten = a,1,VoicemailMain(${ORIG_ARG1})
[macro-stdexten-followme]
exten = s,1,Answer
exten = s,2,Set(ORIG_ARG1=${ARG1})
exten = s,3,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
exten = s,4,Set(_FMCIDNUM=${CALLERID(num)})
exten = s,5,Set(FMCIDNAME=${CALLERID(name)})
exten = s,6,Followme(${ORIG_ARG1},${FOLLOWMEOPTIONS})
exten = s,7,Voicemail(${ORIG_ARG1},u)
exten = s-NOANSWER,1,Voicemail(${ORIG_ARG1},u)
exten = s-BUSY,1,Voicemail(${ORIG_ARG1},b)
exten = s-BUSY,2,Goto(default,s,1)
exten = s-.,1,Goto(s-NOANSWER,1)
exten = a,1,VoicemailMain(${ORIG_ARG1})
[macro-pagingintercom]
exten = s,1,SIPAddHeader(Alert-Info: ${PAGING_HEADER})
exten = s,2,Page(${ARG1},${ARG2})
exten = s,3,Hangup
[conferences]
[ringgroups]
[queues]
[voicemenus]
[voicemailgroups]
[directory]
[page_an_extension]
[pagegroups]
[asterisk_guitools]
exten = executecommand,1,System(${command})
exten = executecommand,n,Hangup()
exten = record_vmenu,1,Answer
exten = record_vmenu,n,Playback(vm-intro)
exten = record_vmenu,n,Record(${var1},0,500,k)
exten = record_vmenu,n,Playback(vm-saved)
exten = record_vmenu,n,Playback(vm-goodbye)
exten = record_vmenu,n,Hangup
exten = play_file,1,Answer
exten = play_file,n,Playback(${var1})
exten = play_file,n,Hangup
[macro-trunkdial-failover-0.3]
exten = s,1,GotoIf($[${LEN(${FMCIDNUM})} > 6]?1-fmsetcid,1)
exten = s,2,GotoIf($[${LEN(${GLOBAL_OUTBOUNDCIDNAME})} > 1]?1-setgbobname,1)
exten = s,3,Set(CALLERID(num)=${IF($[${LEN(${CID
${CALLERID(num)}})} > 2]?${CID
${CALLERID(num)}}:)})
exten = s,n,GotoIf($[${LEN(${CALLERID(num)})} > 6]?1-dial,1)
exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${CID
${ARG3}})} > 6]?${CID
${ARG3}}:${GLOBAL_OUTBOUNDCID})})
exten = s,n,Goto(1-dial,1)
exten = 1-setgbobname,1,Set(CALLERID(name)=${GLOBAL_OUTBOUNDCIDNAME})
exten = 1-setgbobname,n,Goto(s,3)
exten = 1-fmsetcid,1,Set(CALLERID(num)=${FMCIDNUM})
exten = 1-fmsetcid,n,Set(CALLERID(name)=${FMCIDNAME})
exten = 1-fmsetcid,n,Goto(1-dial,1)
exten = 1-dial,1,Dial(${ARG1})
exten = 1-dial,n,Gotoif(${LEN(${ARG2})} > 0 ?1-${DIALSTATUS},1:1-out,1)
exten = 1-CHANUNAVAIL,1,Dial(${ARG2})
exten = 1-CHANUNAVAIL,n,Hangup()
exten = 1-CONGESTION,1,Dial(${ARG2})
exten = 1-CONGESTION,n,Hangup()
exten = 1-out,1,Hangup()
[queue-member-manager]
exten = handle_member,1,Verbose(2, Looping through queues to log in or out queue members)
exten = handle_member,n,Set(thisActiveMember=${CHANNEL(channeltype)}/${CHANNEL(peername)})
exten = handle_member,n,Set(queue_field=1)
exten = handle_member,n,Set(thisQueueXtn=${CUT(QUEUES,${queue_field})})
exten = handle_member,n,While($[${EXISTS(${thisQueueXtn})}])
exten = handle_member,n,Macro(member-loginlogout)
exten = handle_member,n,Set(queue_field=$[${queue_field} + 1])
exten = handle_member,n,Set(thisQueueXtn=${CUT(QUEUES,${queue_field})})
exten = handle_member,n,EndWhile()
[macro-member-loginlogout]
exten = s,1,Verbose(2, Logging queue member in or out of the request queue)
exten = s,n,Set(thisQueue=${thisQueueXtn})
exten = s,n,Set(queueMembers=${QUEUE_MEMBER_LIST(${thisQueue})})
exten = s,n,MacroIf("${queueMembers}" = “”]?q_login)
exten = s,n,Set(field=1)
exten = s,n,Set(logged_in=0)
exten = s,n,Set(thisQueueMember=${CUT(queueMembers,${field})})
exten = s,n,While($[${EXISTS(${thisQueueMember})}])
exten = s,n,GotoIf($["${thisQueueMember}" != “${thisActiveMember}”]?check_next)
exten = s,n,Set(logged_in=1)
exten = s,n,ExitWhile()
exten = s,n(check_next),Set(field=$[${field} + 1])
exten = s,n,Set(thisQueueMember=${CUT(queueMembers,${field})})
exten = s,n,EndWhile()
exten = s,n,MacroIf($[${logged_in} = 0]?q_login:q_logout)
[macro-q_login]
exten = s,1,Verbose(2, Logging ${thisActiveMember} into the ${thisQueue} queue)
exten = s,n,AddQueueMember(${thisQueue},${thisActiveMember})
exten = s,n,Playback(silence/1)
exten = s,n,ExecIf($["${AQMSTATUS}" = “ADDED”]?Playback(agent-loginok):Playback(an-error-has-occurred))
[macro-q_logout]
exten = s,1,Verbose(2, Logged ${thisActiveMember} out of ${thisQueue} queue)
exten = s,n,RemoveQueueMember(${thisQueue},${thisActiveMember})
exten = s,n,Playback(silence/1)
exten = s,n,ExecIf($["${AQMSTATUS}" = “REMOVED”]?Playback(agent-loggedoff):Playback(an-error-has-occurred))

[from-sip]
exten = 6001,1,Dial(SIP/6001,15)
exten = 6001,2,VoiceMail(6001@default,su)
exten = 6001,3,PlayBack(vm-goodbye)
exten = 6001,4,Hangup()
exten = 7536,1,Dial(SIP/7536,15)
exten = 7536,2,VoiceMail(7536@default,su)
exten = 7536,3,PlayBack(vm-goodbye)
exten = 7536,4,HangUp()
exten = 7537,1,Dial(SIP/7537,15)
exten = 7537,2,VoiceMail(7537@default,su)
exten = 7537,3,PlayBack(vm-goodbye)
exten = 7537,4,HangUp()
exten = 7538,1,Dial(SIP/7538,15)
exten = 7538,2,VoiceMail(7538@default,su)
exten = 7538,3,PlayBack(vm-goodbye)
exten = 7538,4,HangUp()
exten = 7539,1,Dial(SIP/7539,15)
exten = 7539,2,VoiceMail(7539@default,su)
exten = 7539,3,PlayBack(vm-goodbye)
exten = 7539,4,HangUp()
exten = 7540,1,Dial(SIP/7540,15)
exten = 7540,2,VoiceMail(7540@default,su)
exten = 7540,3,PlayBack(vm-goodbye)
exten = 7540,4,HangUp()
exten = 7541,1,Dial(SIP/7541,15)
exten = 7541,2,VoiceMail(7541@default,su)
exten = 7541,3,PlayBack(vm-goodbye)
exten = 7541,4,HangUp()
exten = 7542,1,Dial(SIP/7542,15)
exten = 7542,2,VoiceMail(7542@default,su)
exten = 7542,3,PlayBack(vm-goodbye)
exten = 7542,4,HangUp()
exten = 7543,1,Dial(SIP/7543,15)
exten = 7543,2,VoiceMail(7543@default,su)
exten = 7543,3,PlayBack(vm-goodbye)
exten = 7543,4,HangUp()
exten = 7544,1,Dial(SIP/7544,15)
exten = 7544,2,VoiceMail(7544@default,su)
exten = 7544,3,PlayBack(vm-goodbye)
exten = 7544,4,HangUp()
exten = 6099,1,VoicemailMain(${CALLERID(num)}@default)
exten = _91NXXNXXXXXX,1,Macro(trunkdial-failover-0.3,${trunk_1}/${EXTEN},trunk_1,)

[DLPN_DialPlan1]
include = default
include = parkedcalls
include = conferences
include = ringgroups
include = voicemenus
include = queues
include = voicemailgroups
include = directory
include = pagegroups
include = page_an_extension
include = outbound-freenum
[DID_trunk_1]
include = DID_trunk_1_default
[DID_trunk_1_default]
[CallingRule_test]
exten = _91NXXNXXXXXX,1,Macro(trunkdial-failover-0.3,${trunk_1}/${,${EXTEN:0})},trunk_1,)

I am unclear about your request for the “console log for the voicemail attempt”? I turned console logging on (debug) and it seems to be the same info that shows up on the CLI console with SIP debugging turned on during the attempt.

My original post was a cut and paste of everything that came across the CLI console with SIP debugging turned on (during the attempt).

Can you clarify for me?

Thanks,
Brian

When I said the asterisk console log, I was meaning something like this…
http://www.asteriskguru.com/tutorials/voicemailmain_image272001.jpg
which shows the dialplan lines that asterisk was executing and when your in the voicemailmain it shows what it is doing as your working the menus.

Looking in the SIP info, I do see that your call came from 7544 and went to 6099. Which is a one liner in the dialplan.

could you post your voicemail.conf file?

Once again thanks for the response. If I do not turn debugging on and I place a call to Voicemail from a phone, nothing happens on the CLI console. The previous “debugs” were what happens at the CLI console when attempting to connect to Voicemail from a phone and SIP debugs are turned on.

As mazzic points out from those debugs, he sees a call from 7544 (the extension I was calling from) to 6099 The assigned extension for Voicemail.

While looking over my dialplan I noticed that extension 6099 was listed twice (once in the [Default] Context and again in the [FromSIP] context) Could this be related to my issue? My voicemail boxes are in the [Default] instance in voicemail.conf

I removed one of the dupicates in my dialplan by commenting out the one in the [Default] context and it seems to act the same.

When I commented out the one in th [From-SIP] instance, the console complined that there was no "6099 in “From-SIP” when I tried to dial it.

I put an “include = default” in my From-SIP context and it went back to the original problem (hangs up after I enter the pin and the # key)

Here is my Voicemail.conf (PIN #s and email addresses changed to protect the innocent of course):

;! Creation Date: Sun Oct 10 01:00:28 2010
;!
;
; Voicemail Configuration
[general]
format = wav49|gsm|wav
serveremail = asterisk
attach = yes
skipms = 3000
maxsilence = 10
silencethreshold = 128
maxlogins = 3
emaildateformat = %A, %B %d, %Y at %r
sendvoicemail = yes ; Allow the user to compose and send a voicemail while inside
maxgreet = 120
operator = no
maxmsg = 250
maxmessage = 300
minmessage = 3
saycid = yes
sayduration = no
envelope = no
review = no
emailonly = no
emailsubject = New VoiceMail from ${VM_CALLERID}
emailbody = Received ${VM_DATE}
[per-mailbox only]
[zonemessages]
eastern = America/New_York|‘vm-received’ Q ‘digits/at’ IMp
central = America/Chicago|‘vm-received’ Q ‘digits/at’ IMp
central24 = America/Chicago|‘vm-received’ q ‘digits/at’ H N 'hours’
military = Zulu|‘vm-received’ q ‘digits/at’ H N ‘hours’ 'phonetic/z_p’
european = Europe/Copenhagen|‘vm-received’ a d b ‘digits/at’ HM
[default]
1234 = 4242,Example Mailbox,root@localhost
6001 = 1234,Brian,brian@gmail.com
7536 = 1234,Brian Chernish,brian@gmail.com
7537 = 1234,Brian,brian@gmail.com
7538 = 1234,Brian Chernish,brian@gmail.com
7539 = 1234,Brian,brian@gmail.com
7540 = 1234,Brian,brian@gmail.com
7541 = 1234,BDCSoftphone,brian@wsi-insurance.com
7542 = 1234,Brian Chernish,brian@gmail.com
7543 = 1234,Brian Chernish,brian@gmail.com
7544 = 1234,Brian Chernish,brian@gmail.com
[other]

And again thank you for you patience with me!

Brian

Hi Brian …

Sounds like you need to turn on some verbosity. When starting asterisk you add a number of v’s to the the line…
such as: asterisk -rvvvvvvvvvvvv

Or from the console prompt type
core set verbose 99

That should show you some activity when making a call.


Its no problem to have the same extensions in multiple context…unless of course the context are being included in each other. You may want a particular extension to act differently based on who (class of phone) is calling it.


I’m not seeing anything obvious yet which would cause your problem. I need to do some playing on my server to see if I can cause a similar condition…

I set verbosity to 99, and made 2 calls to voicemail (on the second call I intentionally entered the wrong password). Here is the console output.

asterisk2CLI>
== Using SIP RTP CoS mark 5
– Executing [6099@from-sip:1] VoiceMailMain(“SIP/7536-00000034”, “7536@default”) in new stack
– <SIP/7536-00000034> Playing ‘vm-password.gsm’ (language ‘en’)
== Spawn extension (from-sip, 6099, 1) exited non-zero on ‘SIP/7536-00000034’
== Using SIP RTP CoS mark 5
– Executing [6099@from-sip:1] VoiceMailMain(“SIP/7536-00000035”, “7536@default”) in new stack
– <SIP/7536-00000035> Playing ‘vm-password.gsm’ (language ‘en’)
– Incorrect password ‘1234’ for user ‘7536’ (context = default)
– <SIP/7536-00000035> Playing ‘vm-incorrect.gsm’ (language ‘en’)
– <SIP/7536-00000035> Playing ‘vm-password.gsm’ (language ‘en’)
== Spawn extension (from-sip, 6099, 1) exited non-zero on 'SIP/7536-00000035’
asterisk2
CLI>

So it looks like DTMF is working fine AND it seems like the voicemail system must be accepting the password (since it acts different than when I give it a bad password).

Brian

I have the same problem

user: 1001 :password 1234

and when I enter the password :1234#

the call dropped. nothing particuliar in the logs in verbose.

Asterisk 1.8 on Ubuntu

Dear,

It’s a bug! Take a look in that -> issues.asterisk.org/view.php?id=18240

:wink:

So do I need to re-compile somthing after downlaoding this patch?

Brian

Yes, after patching, you’ll have to recompile and reinstall.

Cheers.

Thanks to all!

After intalling the patch, then running “make” and “make install” voicemail is nw reachable from my phones.

Brian