[asterisk-bugs] [JIRA] (ASTERISK-28259) CLONE - app_voicemail: Leaving voicemail sometimes doesn't trigger NOTIFYs

Eric Person (JIRA) noreply at issues.asterisk.org
Thu Jan 24 10:50:47 CST 2019


     [ https://issues.asterisk.org/jira/browse/ASTERISK-28259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Person updated ASTERISK-28259:
-----------------------------------

                Description: 
Sometimes, after leaving voicemail for an extension MWI NOTIFYies aren't being sent.  It looks like a race condition in "leave_voicemail" where on cleanup we delete the mailbox state, possibly before the stasis message has been handled by res_pjsip_mwi.

Cloned this issue as problem appears to be the same. Posted over on the community forums first but I believe this is a bug. Here's what I posted over there.

Running Asterisk 16.1.1. I’m able to call an extension and leave a voicemail. The voicemail system will email the recipient notifying them a voicemail was left. But Asterisk doesn’t notify the phone there’s a voicemail for MWI. When I restart Asterisk, Asterisk will then send the notify to the phone turning on MWI. Any idea what’s wrong or is this a bug? See conf files and SIP notify’s below. 

pjsip.conf sample:
[1234]
type = endpoint
transport = transport-udp
context = internal-spd
disallow = all
allow = g722
allow = ulaw
callerid = “Joe Blow” <1234>
mailboxes = 1234 at abc
voicemail_extension = 1234
auth = 1234
aors = 1234

[1234]
type = auth
auth_type = userpass
username = 1234
password = XXXXXXXXXXXXXXX

[1234]
type = aor
max_contacts = 1

voicemail.conf sample:
[general]
format = wav49|wav
serveremail = asterisk at pretenddomain.com
attach = yes
maxsecs = 180
minsecs = 4
skipms = 3000
maxsilence = 3
silencethreshold = 128
maxlogins = 3
fromstring = Asterisk Voicemail
emailbody = Dear {VM_NAME}:\n\n\tJust wanted to let you know you were just {IF(["{VM_CIDNUM}" = “{ORIG_VM_CIDNUM}"]?left:forwarded)} a {VM_DUR} voice mail (number {VM_MSGNUM})\n from {VM_CALLERID}, on {VM_DATE}\n{IF(["{VM_CIDNUM}” = "{ORIG_VM_CIDNUM}"]?:(originally sent by {ORIG_VM_CALLERID} on ${ORIG_VM_DATE})\nso)}. To check messages from outside the office, please dial your own DID and press the * (asterisk) key when you hear your voice recording.\n\n\nThanks!\n\nVoice Mail System\n
emaildateformat = %A, %B %d, %Y at %r
pagerdateformat = %A, %B %d, %Y at %r
sendvoicemail = yes ; Allow the user to compose and send a voicemail while inside
review = yes ; Allow sender to review/rerecord their message before saving it [OFF by default
nextaftercmd = yes ; Skips to the next message after hitting 7 or 9 to delete/save current message.
forcename = yes ; Forces a new user to record their name. A new user is
minpassword = 4 ; Enforce minimum password length

[zonemessages]
eastern = America/New_York|‘vm-received’ Q ‘digits/at’ IMp
central = America/Chicago|‘vm-received’ Q ‘digits/at’ IMp
mountain = America/Denver|‘vm-received’ Q ‘digits/at’ IMp
pacific = America/Los_Angeles|‘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]

[abc]
1234 => 1234,Joe Blow,Joe.Blow at pretenddomain.com,tz=eastern

Here’s a sample not working:
<— Transmitting SIP request (651 bytes) to UDP:10.10.10.19:5060 —>
NOTIFY sip:1234 at 10.10.10.19 SIP/2.0
Via: SIP/2.0/UDP 10.10.10.254:5060;rport;branch=z9hG4bKPjd6a8e0fb-7e36-449f-8ce4-1d7a8997aabd
From: sip:1234 at 10.10.10.254;tag=aa37c564-38fd-4266-adc5-6367ea32a9ec
To: sip:1234 at 10.10.10.19
Contact: sip:1234 at 10.10.10.254:5060
Call-ID: 7dd4931a-0c81-47f0-a1b4-0415760df606
CSeq: 19505 NOTIFY
Subscription-State: terminated
Event: message-summary
Allow-Events: message-summary, presence, dialog, refer
Max-Forwards: 70
User-Agent: Asterisk PBX 16.1.1
Content-Type: application/simple-message-summary
Content-Length: 48

Messages-Waiting: no
Voice-Message: 0/0 (0/0)

Here’s a sample working:
NOTIFY sip:1234 at 10.10.10.19 SIP/2.0
Via: SIP/2.0/UDP 10.10.10.254:5060;rport;branch=z9hG4bKPj1fa02794-ddd1-48d8-a768-48ede6df759e
From: sip:1234 at 10.10.10.254;tag=b3cc5dbf-1bf2-4170-9845-1ef5bc0ecaf4
To: sip:1234 at 10.10.10.19
Contact: sip:1234 at 10.10.10.254:5060
Call-ID: 2356b794-6969-4271-b551-77d3c744cf5f
CSeq: 40994 NOTIFY
Subscription-State: terminated
Event: message-summary
Allow-Events: message-summary, presence, dialog, refer
Max-Forwards: 70
User-Agent: Asterisk PBX 16.1.1
Content-Type: application/simple-message-summary
Content-Length: 100

Messages-Waiting: yes
Message-Account: sip:1234 at 10.10.10.254:5060
Voice-Message: 1/0 (0/0)


  was:
Sometimes, after leaving voicemail for an extension MWI NOTIFYies aren't being sent.  It looks like a race condition in "leave_voicemail" where on cleanup we delete the mailbox state, possibly before the stasis message has been handled by res_pjsip_mwi.


          Affects Version/s:     (was: 13.24.0)
                                 (was: 16.1.0)
                             16.1.1
    Frequency of Occurrence: Constant

> CLONE - app_voicemail: Leaving voicemail sometimes doesn't trigger NOTIFYs
> --------------------------------------------------------------------------
>
>                 Key: ASTERISK-28259
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28259
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_voicemail
>    Affects Versions: 16.1.1
>         Environment: Fast system
>            Reporter: Eric Person
>            Assignee: George Joseph
>              Labels: pjsip
>      Target Release: 13.25.0, 16.2.0
>
>
> Sometimes, after leaving voicemail for an extension MWI NOTIFYies aren't being sent.  It looks like a race condition in "leave_voicemail" where on cleanup we delete the mailbox state, possibly before the stasis message has been handled by res_pjsip_mwi.
> Cloned this issue as problem appears to be the same. Posted over on the community forums first but I believe this is a bug. Here's what I posted over there.
> Running Asterisk 16.1.1. I’m able to call an extension and leave a voicemail. The voicemail system will email the recipient notifying them a voicemail was left. But Asterisk doesn’t notify the phone there’s a voicemail for MWI. When I restart Asterisk, Asterisk will then send the notify to the phone turning on MWI. Any idea what’s wrong or is this a bug? See conf files and SIP notify’s below. 
> pjsip.conf sample:
> [1234]
> type = endpoint
> transport = transport-udp
> context = internal-spd
> disallow = all
> allow = g722
> allow = ulaw
> callerid = “Joe Blow” <1234>
> mailboxes = 1234 at abc
> voicemail_extension = 1234
> auth = 1234
> aors = 1234
> [1234]
> type = auth
> auth_type = userpass
> username = 1234
> password = XXXXXXXXXXXXXXX
> [1234]
> type = aor
> max_contacts = 1
> voicemail.conf sample:
> [general]
> format = wav49|wav
> serveremail = asterisk at pretenddomain.com
> attach = yes
> maxsecs = 180
> minsecs = 4
> skipms = 3000
> maxsilence = 3
> silencethreshold = 128
> maxlogins = 3
> fromstring = Asterisk Voicemail
> emailbody = Dear {VM_NAME}:\n\n\tJust wanted to let you know you were just {IF(["{VM_CIDNUM}" = “{ORIG_VM_CIDNUM}"]?left:forwarded)} a {VM_DUR} voice mail (number {VM_MSGNUM})\n from {VM_CALLERID}, on {VM_DATE}\n{IF(["{VM_CIDNUM}” = "{ORIG_VM_CIDNUM}"]?:(originally sent by {ORIG_VM_CALLERID} on ${ORIG_VM_DATE})\nso)}. To check messages from outside the office, please dial your own DID and press the * (asterisk) key when you hear your voice recording.\n\n\nThanks!\n\nVoice Mail System\n
> emaildateformat = %A, %B %d, %Y at %r
> pagerdateformat = %A, %B %d, %Y at %r
> sendvoicemail = yes ; Allow the user to compose and send a voicemail while inside
> review = yes ; Allow sender to review/rerecord their message before saving it [OFF by default
> nextaftercmd = yes ; Skips to the next message after hitting 7 or 9 to delete/save current message.
> forcename = yes ; Forces a new user to record their name. A new user is
> minpassword = 4 ; Enforce minimum password length
> [zonemessages]
> eastern = America/New_York|‘vm-received’ Q ‘digits/at’ IMp
> central = America/Chicago|‘vm-received’ Q ‘digits/at’ IMp
> mountain = America/Denver|‘vm-received’ Q ‘digits/at’ IMp
> pacific = America/Los_Angeles|‘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]
> [abc]
> 1234 => 1234,Joe Blow,Joe.Blow at pretenddomain.com,tz=eastern
> Here’s a sample not working:
> <— Transmitting SIP request (651 bytes) to UDP:10.10.10.19:5060 —>
> NOTIFY sip:1234 at 10.10.10.19 SIP/2.0
> Via: SIP/2.0/UDP 10.10.10.254:5060;rport;branch=z9hG4bKPjd6a8e0fb-7e36-449f-8ce4-1d7a8997aabd
> From: sip:1234 at 10.10.10.254;tag=aa37c564-38fd-4266-adc5-6367ea32a9ec
> To: sip:1234 at 10.10.10.19
> Contact: sip:1234 at 10.10.10.254:5060
> Call-ID: 7dd4931a-0c81-47f0-a1b4-0415760df606
> CSeq: 19505 NOTIFY
> Subscription-State: terminated
> Event: message-summary
> Allow-Events: message-summary, presence, dialog, refer
> Max-Forwards: 70
> User-Agent: Asterisk PBX 16.1.1
> Content-Type: application/simple-message-summary
> Content-Length: 48
> Messages-Waiting: no
> Voice-Message: 0/0 (0/0)
> Here’s a sample working:
> NOTIFY sip:1234 at 10.10.10.19 SIP/2.0
> Via: SIP/2.0/UDP 10.10.10.254:5060;rport;branch=z9hG4bKPj1fa02794-ddd1-48d8-a768-48ede6df759e
> From: sip:1234 at 10.10.10.254;tag=b3cc5dbf-1bf2-4170-9845-1ef5bc0ecaf4
> To: sip:1234 at 10.10.10.19
> Contact: sip:1234 at 10.10.10.254:5060
> Call-ID: 2356b794-6969-4271-b551-77d3c744cf5f
> CSeq: 40994 NOTIFY
> Subscription-State: terminated
> Event: message-summary
> Allow-Events: message-summary, presence, dialog, refer
> Max-Forwards: 70
> User-Agent: Asterisk PBX 16.1.1
> Content-Type: application/simple-message-summary
> Content-Length: 100
> Messages-Waiting: yes
> Message-Account: sip:1234 at 10.10.10.254:5060
> Voice-Message: 1/0 (0/0)



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list