[svn-commits] oej: branch group/rana-moh-sip-transfer-1.8 r390111 - in /team/group/rana-moh...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Thu May 30 04:25:07 CDT 2013
Author: oej
Date: Thu May 30 04:25:01 2013
New Revision: 390111
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=390111
Log:
Trying hard to separate the channels from each other.
Modified:
team/group/rana-moh-sip-transfer-1.8/channels/chan_sip.c
team/group/rana-moh-sip-transfer-1.8/main/cli.c
Modified: team/group/rana-moh-sip-transfer-1.8/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/group/rana-moh-sip-transfer-1.8/channels/chan_sip.c?view=diff&rev=390111&r1=390110&r2=390111
==============================================================================
--- team/group/rana-moh-sip-transfer-1.8/channels/chan_sip.c (original)
+++ team/group/rana-moh-sip-transfer-1.8/channels/chan_sip.c Thu May 30 04:25:01 2013
@@ -23988,12 +23988,13 @@
ast_do_masquerade(target.chan1);
- if (current->chan2 && target.chan2 && ast_channel_get_local_hold_state(current->chan2)) {
- ast_debug(4, "====>> Putting channel %s on remote hold since %s was locally held\n", target.chan2->name, current->chan2->name);
+ /* After the masq, the old current->chan2 is now target.chan1 bridged to target.chan2 */
+ if (target.chan1 && target.chan2 && ast_channel_get_local_hold_state(target.chan1)) {
+ ast_debug(4, "====>> Putting channel %s on remote hold since %s was locally held\n", target.chan2->name, target.chan1->name);
ast_channel_put_remote_on_hold(target.chan2, target.chan2->hold_state.mohsuggest);
- } else if (target.chan2 && current->chan2 && ast_channel_get_local_hold_state(target.chan2)) {
- ast_debug(4, "====>> Putting channel %s on remote hold since %s was locally held\n", current->chan2->name, target.chan1->name);
- ast_channel_put_remote_on_hold(current->chan2, current->chan2->hold_state.mohsuggest);
+ } else if (target.chan2 && target.chan1 && ast_channel_get_local_hold_state(target.chan2)) {
+ ast_debug(4, "====>> Putting channel %s on remote hold since %s was locally held\n", target.chan1->name, target.chan2->name);
+ ast_channel_put_remote_on_hold(target.chan1, target.chan1->hold_state.mohsuggest);
} else if (target.chan2) {
ast_indicate(target.chan2, AST_CONTROL_UNHOLD);
}
Modified: team/group/rana-moh-sip-transfer-1.8/main/cli.c
URL: http://svnview.digium.com/svn/asterisk/team/group/rana-moh-sip-transfer-1.8/main/cli.c?view=diff&rev=390111&r1=390110&r2=390111
==============================================================================
--- team/group/rana-moh-sip-transfer-1.8/main/cli.c (original)
+++ team/group/rana-moh-sip-transfer-1.8/main/cli.c Thu May 30 04:25:01 2013
@@ -1500,8 +1500,8 @@
c->fout & ~DEBUGCHAN_FLAG, (c->fout & DEBUGCHAN_FLAG) ? " (DEBUGGED)" : "",
(long)c->whentohangup.tv_sec,
cdrtime, c->_bridge ? c->_bridge->name : "<none>", ast_bridged_channel(c) ? ast_bridged_channel(c)->name : "<none>",
- ast_channel_get_local_hold_state(c) ? "Local" : "",
- ast_channel_get_remote_hold_state(c) ? "Remote" : "",
+ ast_channel_get_local_hold_state(c) ? "Local" : "-",
+ ast_channel_get_remote_hold_state(c) ? "Remote" : "-",
c->context, c->exten, c->priority, c->callgroup, c->pickupgroup, ( c->appl ? c->appl : "(N/A)" ),
( c-> data ? S_OR(c->data, "(Empty)") : "(None)"),
(ast_test_flag(c, AST_FLAG_BLOCKING) ? c->blockproc : "(Not Blocking)"));
More information about the svn-commits
mailing list