[asterisk-bugs] [JIRA] (ASTERISK-25444) Music On Hold Warning

Conrad de Wet (JIRA) noreply at issues.asterisk.org
Sun Oct 4 03:27:33 CDT 2015


Conrad de Wet created ASTERISK-25444:
----------------------------------------

             Summary: Music On Hold Warning
                 Key: ASTERISK-25444
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25444
             Project: Asterisk
          Issue Type: Improvement
      Security Level: None
    Affects Versions: 11.19.0
            Reporter: Conrad de Wet


In a documented change from 11.18.0 to 11.19.0 - res_musiconhold.c line 894, change to warn about missing music on hold classes. 

Both the version before and this one are not correct in any case - if you are using the RealTime engine for Music classes. Clearly this is not a popular way to handle MOH, because it has pretty much been like this since i can remember, but now with the change from debug to warning - its very confusing and annoying.

They are both incorrect, because the _get_mohbyname only checks if the class has been loaded to memory, and warns first before checking in the RealTime database. As a result, monitoring the CLI, we have no way of knowing if the correct music class has load or not. And our logs are getting clogged with incorrect warning messages.

Here you can see the output warns first, but then goes to the database and the correct classes loads...

[Oct  4 09:00:04] DEBUG[7779][C-00000002]: pbx.c:4938 pbx_extension_helper: Launching 'MusicOnHold'
    -- Executing [s at macro-et-music-on-hold:3] MusicOnHold("SIP/102-ConradInc-00000002", "") in new stack
[Oct  4 09:00:04] WARNING[7779][C-00000002]: res_musiconhold.c:896 _get_mohbyname: Music on Hold class 'default-ConradInc' not found in memory. Verify your configuration.
[Oct  4 09:00:04] DEBUG[7779][C-00000002]: res_config_odbc.c:114 custom_prepare: Skip: 0; SQL: SELECT * FROM MusicOnHold WHERE name = ?
[Oct  4 09:00:04] DEBUG[7779][C-00000002]: res_config_odbc.c:130 custom_prepare: Parameter 1 ('name') = 'default-ConradInc'
[Oct  4 09:00:04] DEBUG[7779][C-00000002]: res_odbc.c:1053 odbc_release_obj2: odbc_release_obj2(0x26f9be8) called (obj->txf = (nil))
[Oct  4 09:00:04] DEBUG[7779][C-00000002]: res_musiconhold.c:1098 moh_scan_files: Scanning '/var/lib/asterisk/moh/ConradInc/default' for files for class 'default-ConradInc'
    -- Started music on hold, class 'default-ConradInc', on SIP/102-ConradInc-00000002
[Oct  4 09:00:04] DEBUG[7779][C-00000002]: channel.c:3594 ast_settimeout_full: Scheduling timer at (50 requested / 50 actual) timer ticks per second
[Oct  4 09:00:04] DEBUG[7779][C-00000002]: channel.c:5413 set_format: Set channel SIP/102-ConradInc-00000002 to write format slin
[Oct  4 09:00:04] DEBUG[7779][C-00000002]: res_musiconhold.c:351 ast_moh_files_next: SIP/102-ConradInc-00000002 Opened file 3 '/var/lib/asterisk/moh/ConradInc/default/macroform-the_simplicity'

Furthermore, and just my 2c worth here, the real-time handling of music on hold is poor. Both "moh show classes", and "moh show files" is totally useless (when using musiconhold => odbc,MySqlRt,MusicOnHold)



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



More information about the asterisk-bugs mailing list