[asterisk-dev] [Code Review] 4010: General option to musiconhold.conf, to make applications MOH override channels musicclass.

wdoekes reviewboard at asterisk.org
Wed Sep 24 07:02:18 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4010/#review13381
-----------------------------------------------------------


Almost what I meant.

- The code could use some coding guidelines love.
- And I mistakenly asked you to rename the variable to something that doesn't make sense.




/trunk/configs/samples/musiconhold.conf.sample
<https://reviewboard.asterisk.org/r/4010/#comment23879>

    Ok then. I stand corrected. I thought I was looking at queues.conf when I asked you to rename this, but you were right from the start.
    
    Sorry for the confusion :)
    
    How about inverting it and renaming it to `preferchannelclass`, with description "Prefer the musicclass as defined by CHANNEL(musicclass) over a class set by an application (e.g. a musicclass set on a queue). Defaults to yes."



/trunk/res/res_musiconhold.c
<https://reviewboard.asterisk.org/r/4010/#comment23872>

    Put 'int i;' on a separate line.



/trunk/res/res_musiconhold.c
<https://reviewboard.asterisk.org/r/4010/#comment23873>

    Add lots of spaces.
    
    const char *classes[4] = {NULL, NULL, interpclass, "default"};



/trunk/res/res_musiconhold.c
<https://reviewboard.asterisk.org/r/4010/#comment23878>

    Add WS after `if`.



/trunk/res/res_musiconhold.c
<https://reviewboard.asterisk.org/r/4010/#comment23877>

    Remove this line (and red blob).



/trunk/res/res_musiconhold.c
<https://reviewboard.asterisk.org/r/4010/#comment23874>

    Update this.



/trunk/res/res_musiconhold.c
<https://reviewboard.asterisk.org/r/4010/#comment23875>

    There actually is a macro to get 4:
    
    #define ARRAY_LEN(a) (size_t) (sizeof(a) / sizeof(0[a]))
    
    Use ARRAY_LEN(classes). You don't even need the `4' in `const char *classes[4]`.
    
    Also: clean up whitespace, and prefer ++i over i++.



/trunk/res/res_musiconhold.c
<https://reviewboard.asterisk.org/r/4010/#comment23876>

    Always use {}. Add space after `if`.


- wdoekes


On Sept. 23, 2014, 9:58 a.m., Kristian Høgh wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4010/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2014, 9:58 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-24276
>     https://issues.asterisk.org/jira/browse/ASTERISK-24276
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> General option to musiconhold.conf, to make applications MOH override channels musicclass.
> Defaults to no, as it is current behavior.
> 
> 
> We use a single trunk for multiple users. The default musicclass from sip.conf is therefore the same for all calls.
> The trunk is connected to a kamailio server, where all in- and outgoing calls are send/received.
> Each customer (identified by custom headers) can choose a musicclass for MOH, which we apply to the channel.
> When a user dials an extension, which point to a queue, we want the user to receive the queue music.
> But we still want the user to keep the preferred musicclass, if the call is put on hold later.
> Therefore we cant unset musicclass before calling the queue.
> Company A prefer musicclass heavy-metal.
> That musicclass is therefore applied to incoming calls.
> The customer service need to calm people down. Therefore they use other music as queue music.
> 
> 
> Diffs
> -----
> 
>   /trunk/res/res_musiconhold.c 423782 
>   /trunk/configs/samples/musiconhold.conf.sample 423782 
> 
> Diff: https://reviewboard.asterisk.org/r/4010/diff/
> 
> 
> Testing
> -------
> 
> Whithout this patch or new option appoverridechannel=no or no appoverridechannel set in musiconhold.conf:
> - The queue "myqueue", has musicclass=queueclass
> - Set(CHANNEL(musiconhold)=mohclass) followed by Queue(myqueue), makes caller hear "mohclass" while waiting for agent to answer.
> 
> Whith appoverridechannel=yes in musiconhold.conf:
> - The queue "myqueue", has musicclass=queueclass
> - Set(CHANNEL(musiconhold)=myclass) followed by Queue(myqueue), makes caller hear "queueclass" while waiting for agent to answer.
> 
> 
> Thanks,
> 
> Kristian Høgh
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140924/01324f2f/attachment-0001.html>


More information about the asterisk-dev mailing list