Upgraded Server Crashes On Voicemail Storage

Home » Asterisk Users » Upgraded Server Crashes On Voicemail Storage
Asterisk Users 4 Comments

Hi all,

I’m upgrading to Asterisk 13.14.0 x86_64. During my beta testing, I’ve discovered that my server crashes as soon as I leave a voicemail message. I’m using odbc voicemail storage as well as mysql dynamic configuration.

I’m using unixODBC 2.3.2-r2 with myodbc 5.2.7-r1

I suspect that the odbc drivers are the problem. Is ther an alternative drive that I should be using?

Failing that, any other ideas?

Thanks in advance.

4 thoughts on - Upgraded Server Crashes On Voicemail Storage

  • Give us more details of what you mean by “crashes”.

    What happens, what do you get in the Asterisk logs, what do you get in syslog, what state is the machine in afterwards, is there a kernel panic, what information leads you to suspect the ODBC drivers…?

    Also, what have you upgraded from, what machine specs are you running on, what’s the dialplan section dealing with leaving voicemail…?

    The more info you give us, the more likely it is we can suggest something useful.


  • Thank you for your time. I’ve put my replies to your questions in-line, below.

    My remote console gets disconnected from the Asterisk server, waits a few seconds, reconnects and shows me the start-up log. It’s just like if you told asterisk to restart now.

    What I see in the log is:

    ===============================================================[Jun 7 14:23:58] VERBOSE[11347][C-00000001] app_dial.c: Everyone is busy/congested at this time (1:0/0/1)
    [Jun 7 14:23:58] VERBOSE[11347][C-00000001] res_agi.c: magic_switch.pl: ————————— jmd (CHANUNAVAIL)
    [Jun 7 14:23:58] VERBOSE[11347][C-00000001] res_agi.c: AGI Script Executing Application: (voicemail) Options: (1505903xxxx@default,su)
    [Jun 7 14:23:58] VERBOSE[11347][C-00000001] file.c: Playing ‘/var/spool/asterisk/voicemail/default/15059035700/unavail.slin’ (language ‘en’)
    [Jun 7 14:24:08] VERBOSE[11347][C-00000001] file.c:
    Playing ‘beep.ulaw’ (language ‘en’)
    [Jun 7 14:24:09] VERBOSE[11347][C-00000001] app_voicemail.c: Recording the message
    [Jun 7 14:24:09] VERBOSE[11347][C-00000001] app.c: x=0, open writing: /var/spool/asterisk/voicemail/default/15059035700/tmp/x8hgQD format: wav, 0x7d380013d750
    [Jun 7 14:24:12] VERBOSE[11347][C-00000001] app.c: User ended message by pressing #
    [Jun 7 14:24:12] VERBOSE[11347][C-00000001] file.c:
    Playing ‘auth-thankyou.ulaw’ (language ‘en’)
    [Jun 7 14:24:13] VERBOSE[11347][C-00000001] config.c: Parsing ‘/var/spool/asterisk/voicemail/default/15059035700/INBOX/msg0004.txt’: Found

    +++ CRASH! +++

    [Jun 7 14:24:15] Asterisk 13.14.0 built by root @ voip11 on a x86_64 running Linux on 2017-06-06 21:26:05 UTC
    [Jun 7 14:24:15] VERBOSE[11362] config.c: Parsing ‘/etc/asterisk/logger.conf’: Found
    I am thinking it’s the odbc driver because I believe the server was stable before I rebuilt it with odbc voicemail storage support; it had been using the file system for storage. I’m in the process of migrating all of my servers to database storage.

    The ONLY thing I changed from the previous configuration was to convert to odbc voicemail storage.

    Ya, I understand; I was just tired… and frustrated. Thanks again for your time.

  • Well, I guess my assumption has been proven wrong. It is NOT the odbc drive. I recompiled Asterisk w/o odbc voicemail storage and I’m still getting crashes when someone leave voicemail.

    I tried to run strace on the server, but didn’t get much:

    ====================================voip11 ~ # ps -auxw | grep asterisk root 9339 0.0 0.0 9604 2548 ? Ss 10:35 0:00 /bin/sh /home/phones/commands/safe_asterisk root 9346 13.1 10.9 104155439880 443704 ? Sl 10:35 0:13 /usr/sbin/asterisk -vvvvvvvvvvvvv root 9480 0.0 0.0 12824 2372 pts/11 S+ 10:36 0:00 grep –colour=auto asterisk root 11129 0.0 0.2 104153027592 10600 pts/6 S+ Jun07 0:08 rasterisk Rvvvvvvvvvvvvvvvvv

    voip11 ~ # strace -p 9346
    strace: Process 9346 attached restart_syscall(< ... resuming interrupted poll ...>

    So, if I could find out what syscall was being interrupted…. That MIGHT
    tell me what was wrong, but this is all I get from strace.

    Any ideas would be welcome.


  • This is probably not it BUT. A long time ago, voicemail lost it’s mind when codecs were changed and they did not exist in the config file. Maybe the config file was changed during the upgrade?

    Maybe test it with a fresh voicemail db?

    Adrian Serafini