Merged revisions 226532 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r226532 | file | 2009-10-29 15:13:42 -0300 (Thu, 29 Oct 2009) | 13 lines
  
  Merged revisions 226531 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r226531 | file | 2009-10-29 15:11:26 -0300 (Thu, 29 Oct 2009) | 6 lines
    
    Add an option to enabling passing music on hold start and stop requests through instead of
    acting on them in chan_local.
    
    (closes issue #14709)
    Reported by: dimas
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@226533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2009-10-29 18:14:36 +00:00
parent d1c3865674
commit 12b962ac19
2 changed files with 10 additions and 2 deletions

View File

@@ -116,6 +116,7 @@ struct local_pvt {
#define LOCAL_ALREADY_MASQED (1 << 2) /*!< Already masqueraded */
#define LOCAL_LAUNCHED_PBX (1 << 3) /*!< PBX was launched */
#define LOCAL_NO_OPTIMIZATION (1 << 4) /*!< Do not optimize using masquerading */
#define LOCAL_MOH_PASSTHRU (1 << 6) /*!< Pass through music on hold start/stop frames */
static AST_LIST_HEAD_STATIC(locals, local_pvt);
@@ -378,9 +379,9 @@ static int local_indicate(struct ast_channel *ast, int condition, const void *da
return -1;
/* If this is an MOH hold or unhold, do it on the Local channel versus real channel */
if (condition == AST_CONTROL_HOLD) {
if (!ast_test_flag(p, LOCAL_MOH_PASSTHRU) && condition == AST_CONTROL_HOLD) {
ast_moh_start(ast, data, NULL);
} else if (condition == AST_CONTROL_UNHOLD) {
} else if (!ast_test_flag(p, LOCAL_MOH_PASSTHRU) && condition == AST_CONTROL_UNHOLD) {
ast_moh_stop(ast);
} else {
/* Queue up a frame representing the indication as a control frame */
@@ -640,6 +641,9 @@ static struct local_pvt *local_alloc(const char *data, int format)
"to use the 'j' option to enable the jitterbuffer\n");
}
}
if (strchr(opts, 'm')) {
ast_set_flag(tmp, LOCAL_MOH_PASSTHRU);
}
}
/* Look for a context */

View File

@@ -27,6 +27,10 @@ audio that it receives from the channel that called the local channel. This is
especially in the case of putting chan\_local in between an incoming SIP call
and Asterisk applications, so that the incoming audio will be de-jittered.
Using the "m" option will cause chan_local to forward music on hold start and stop
requests. Normally chan_local acts on them and it is started or stopped on the
Local channel itself.
\subsection{Purpose}
The Local channel construct can be used to establish dialing into any part of