[Home]

Summary:ASTERISK-18245: Forwarding an Urgent voicemail through VoiceMail to a mailbox that has not been created fails
Reporter:Matt Jordan (mjordan)Labels:
Date Opened:2011-08-08 15:41:16Date Closed:2011-11-16 08:48:15.000-0600
Priority:MinorRegression?
Status:Closed/CompleteComponents:Applications/app_voicemail
Versions:10 1.8.5.0 10.0.0-beta1 Frequency of
Occurrence
Constant
Related
Issues:
is related toASTERISK-18246 When leaving a voicemail marked as Urgent with forwarding recipients, the forward_urgent_auto flag is not respected
Environment:Fedora 14, 10.0.0-beta1Attachments:
Description:When leaving an Urgent voicemail, with the global setting forward-auto-urgent = no (that is, the urgent priority of the voicemail should not be preserved), and a recipient list that contains mailboxes to be forwarded to, the forwarding will fail if the mailboxes have not been created yet on the file system.  This occurs because app_voicemail first creates the "Urgent" folder for those mailboxes that do not exist, then attempts to lock and forward the voicemails to the "INBOX" folder.  Since it did not create that folder, the operation fails.

ast1:
; Accepts a voicemail message and tests that the voicemail application returned successfully.
; Exiting out to any other context is a failure.
;

[voicemail]

exten => 1234,1,NoOp()
same => n,VoiceMail(1234@default&9000@default&9001@default&9002@default,u)
same => n,GotoIf($[${VMSTATUS} = SUCCESS]?pass:fail)
same => n(fail),UserEvent(TestResult,result: fail, status: VoiceMail failed to exit successfully - returned ${VMSTATUS})
same => n,Hangup()
same => n(pass),NoOp()
same => n,UserEvent(TestResult,result: pass, status: VoiceMail exited successfully with SUCCESS)
same => n,Hangup()

exten => 5678,1,NoOp()
same => n,VoiceMail(5678@default&9003@default&9004@notdefault,u,U)
same => n,GotoIf($[${VMSTATUS} = SUCCESS]?pass:fail)
same => n(fail),UserEvent(TestResult,result: fail, status: VoiceMail failed to exit successfully - returned ${VMSTATUS})
same => n,Hangup()
same => n(pass),NoOp()
same => n,UserEvent(TestResult,result: pass, status: VoiceMail exited successfully with SUCCESS)
same => n,Hangup()

exten => o,1,UserEvent(TestResult,result: fail,status: failed to exit successfully)
same => n,Wait(2)
same => n,Hangup()

exten => i,1,UserEvent(TestResult,result: fail,status: failed to exit successfully)
same => n,Wait(2)
same => n,Hangup()

exten => e,1,UserEvent(TestResult,result: fail,status: failed to exit successfully)
same => n,Wait(2)
same => n,Hangup()

exten => a,1,UserEvent(TestResult,result: fail,status: failed to exit successfully)
same => n,Wait(2)
same => n,Hangup()

exten => t,1,UserEvent(TestResult,result: fail,status: failed to exit successfully)
same => n,Wait(2)
same => n,Hangup()

ast2:
; Tests exiting out of the VoiceMail application through various contexts

[sendvoicemail]
exten => 1234,1,NoOp()
same => n,Wait(10)
same => n,Verbose(1, Playing back ${TALK_AUDIO})
same => n,Playback(${TALK_AUDIO})
same => n,SendDTMF(#)
same => n,Wait(3)
same => n,Hangup()

log:

[Aug  8 15:31:11] VERBOSE[17416] pbx.c:     -- Executing [5678@voicemail:1] NoOp("SIP/ast2-00000001", "") in new stack
[Aug  8 15:31:11] VERBOSE[17416] pbx.c:     -- Executing [5678@voicemail:2] VoiceMail("SIP/ast2-00000001", "5678@default&9003@default&9004@notdefault,u,U") in new stack
[Aug  8 15:31:11] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'vm-theperson.gsm' (language 'en')
[Aug  8 15:31:11] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'vm-theperson.gsm' (language 'en')
[Aug  8 15:31:13] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'digits/1.gsm' (language 'en')
[Aug  8 15:31:13] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'digits/5.gsm' (language 'en')
[Aug  8 15:31:13] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'digits/2.gsm' (language 'en')
[Aug  8 15:31:14] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'digits/6.gsm' (language 'en')
[Aug  8 15:31:14] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'digits/3.gsm' (language 'en')
[Aug  8 15:31:14] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'digits/7.gsm' (language 'en')
[Aug  8 15:31:15] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'digits/4.gsm' (language 'en')
[Aug  8 15:31:15] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'digits/8.gsm' (language 'en')
[Aug  8 15:31:15] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'vm-isunavail.gsm' (language 'en')
[Aug  8 15:31:16] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'vm-isunavail.gsm' (language 'en')
[Aug  8 15:31:16] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'vm-intro.gsm' (language 'en')
[Aug  8 15:31:17] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'vm-intro.gsm' (language 'en')
[Aug  8 15:31:22] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'beep.gsm' (language 'en')
[Aug  8 15:31:22] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'beep.gsm' (language 'en')
[Aug  8 15:31:22] VERBOSE[17414] app_voicemail.c:     -- Recording the message
[Aug  8 15:31:22] VERBOSE[17414] app.c:     -- x=0, open writing:  /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/1234/tmp/6tAO6B format: ulaw, 0x7f5c1c003668
[Aug  8 15:31:22] VERBOSE[17414] app.c:     -- x=1, open writing:  /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/1234/tmp/6tAO6B format: wav49, 0x7f5c1c001578
[Aug  8 15:31:22] VERBOSE[17414] app.c:     -- x=2, open writing:  /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/1234/tmp/6tAO6B format: wav, 0x7f5c1c002248
[Aug  8 15:31:23] VERBOSE[17416] app_voicemail.c:     -- Recording the message
[Aug  8 15:31:23] VERBOSE[17416] app.c:     -- x=0, open writing:  /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/tmp/TxIUas format: ulaw, 0x7f5c28001578
[Aug  8 15:31:23] VERBOSE[17416] app.c:     -- x=1, open writing:  /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/tmp/TxIUas format: wav49, 0x7f5c28002018
[Aug  8 15:31:23] VERBOSE[17416] app.c:     -- x=2, open writing:  /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/tmp/TxIUas format: wav, 0x7f5c280022f8
[Aug  8 15:31:24] VERBOSE[17416] app.c:     -- User ended message by pressing #
[Aug  8 15:31:24] VERBOSE[17416] file.c:     -- <SIP/ast2-00000001> Playing 'auth-thankyou.gsm' (language 'en')
[Aug  8 15:31:24] VERBOSE[17414] app.c:     -- User ended message by pressing #
[Aug  8 15:31:24] VERBOSE[17414] file.c:     -- <SIP/ast2-00000000> Playing 'auth-thankyou.gsm' (language 'en')
[Aug  8 15:31:25] NOTICE[17416] app_voicemail.c: Copying message from 5678@default to 9003@default
[Aug  8 15:31:25] ERROR[17416] app.c: Unable to create lock file '/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX': No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.WAV in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.WAV,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.WAV) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.WAV in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.WAV,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.WAV) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.wav in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.wav,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.wav) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.ulaw in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.ulaw,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.ulaw) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] app_voicemail.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX/msg0000.txt in write-only mode: No such file or directory
[Aug  8 15:31:25] ERROR[17416] app.c: Could not unlock path '/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/9003/INBOX': No such file or directory
[Aug  8 15:31:25] NOTICE[17416] app_voicemail.c: Copying message from 5678@default to 9004@notdefault
[Aug  8 15:31:25] ERROR[17416] app.c: Unable to create lock file '/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX': No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.WAV in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.WAV,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.WAV) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.WAV in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.WAV,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.WAV) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.wav in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.wav,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.wav) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] file.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.ulaw in write-only mode
[Aug  8 15:31:25] WARNING[17416] file.c: copy(/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/default/5678/INBOX/msg0000.ulaw,/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.ulaw) failed: No such file or directory
[Aug  8 15:31:25] WARNING[17416] app_voicemail.c: Unable to open /tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX/msg0000.txt in write-only mode: No such file or directory
[Aug  8 15:31:25] ERROR[17416] app.c: Could not unlock path '/tmp/asterisk-testsuite/apps/voicemail/leave_voicemail_forwarding/ast1/var/spool/asterisk/voicemail/notdefault/9004/INBOX': No such file or directory
Comments:By: Matt Jordan (mjordan) 2011-08-08 15:42:43.554-0500

One thing to note: this actually is a valid workflow.  If you leave a non-urgent message, app_voicemail correctly realizes that the mailbox is valid and creates the folder structure appropriately.  Its only if the message is urgent that app_voicemail fails - it creates the Urgent folder when it should create INBOX, since the auto-forward-urgent option is set to no.