Voicemail Busy Message ODBC

Hi, I have voicemail working with ODBC, and realtime etc. I can use VoiceMailMain() to manage my voicemail, and I can use VoiceMail() for someone to leave me a message, but when I record a busy or unavailable message, it doesn’t use it.

    -- Executing [s@voicemail-message:6] VoiceMail("PJSIP/local-trunk-00000001", "yAS43lAg8L,bs") in new stack
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: app_voicemail_odbc.c:6529 leave_voicemail: Before find_user
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:965 _ast_odbc_request_obj2: Reusing ODBC handle 0x563e5967ff10 from class 'AWS-Asterisk'
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_config_odbc.c:115 custom_prepare: Skip: 0; SQL: SELECT * FROM voicemail WHERE mailbox = ? AND context = ?
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_config_odbc.c:134 custom_prepare: Parameter 1 ('mailbox') = 'yAS43lAg8L'
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_config_odbc.c:134 custom_prepare: Parameter 2 ('context') = 'default'
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:808 ast_odbc_release_obj: Releasing ODBC handle 0x563e5967ff10 into pool
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:965 _ast_odbc_request_obj2: Reusing ODBC handle 0x563e596a35e0 from class 'AWS-Asterisk-VM'
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:808 ast_odbc_release_obj: Releasing ODBC handle 0x563e596a35e0 into pool
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:965 _ast_odbc_request_obj2: Reusing ODBC handle 0x563e596a35e0 from class 'AWS-Asterisk-VM'
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:808 ast_odbc_release_obj: Releasing ODBC handle 0x563e596a35e0 into pool
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: app_voicemail_odbc.c:6657 leave_voicemail: /var/spool/asterisk/voicemail/default/yAS43lAg8L/busy doesn't exist, doing what we can
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:965 _ast_odbc_request_obj2: Reusing ODBC handle 0x563e596a35e0 from class 'AWS-Asterisk-VM'
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_odbc.c:808 ast_odbc_release_obj: Releasing ODBC handle 0x563e596a35e0 into pool
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: channel.c:5825 set_format: Channel PJSIP/local-trunk-00000001 setting write format path: slin -> opus
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: res_rtp_asterisk.c:5379 ast_rtp_write: (0x7fd1d803d6e0) RTP ooh, format changed from none to opus
[Oct 12 12:09:09] DEBUG[19217][C-00000002]: channel.c:3207 ast_settimeout_full: Scheduling timer at (50 requested / 50 actual) timer ticks per second
    -- <PJSIP/local-trunk-00000001> Playing 'vm-theperson.slin' (language 'en')

The debug trace is showing that its looking for the message at “/var/spool/asterisk/voicemail/default/yAS43lAg8L/busy” that I have just recorded, but why would it be looking for that file? it’s saved to the voicemail_messages database.

# dir, msgnum, context, macrocontext, callerid, origtime, duration, recording, flag, category, mailboxuser, mailboxcontext, msg_id
'/var/spool/asterisk/voicemail/default/yAS43lAg8L/busy', '-1', '', '', '', '0', '0', ?, '', NULL, 'yAS43lAg8L', 'default', ''


I also see an issue with playing back messages:

[Oct 12 17:02:55] WARNING[20274][C-00000008]: app_voicemail_odbc.c:8816 play_message: No origtime?!

Am i missing a database update, I think this was a 16 install, and I updated to 18… but cant remember performing any database updates.

ODBC voicemail audio bits are retrieved from database and cached in file system. The BLOBs are not streamed directly.

Did you check the alembic scripts?

Another place to look is consistency in audio file formats – change those and things get ugly.

It looks like it could be related to the ODBC driver version issue. I’m busy reading up about it.

Seems like the same issue.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.