[svn-commits] oej: branch group/rana-moh-sip-transfer-1.8 r390110 - /team/group/rana-moh-si...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu May 30 04:14:28 CDT 2013


Author: oej
Date: Thu May 30 04:14:23 2013
New Revision: 390110

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=390110
Log:
Trying to see if there's something to do about attended transfers

Modified:
    team/group/rana-moh-sip-transfer-1.8/channels/chan_sip.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=390110&r1=390109&r2=390110
==============================================================================
--- 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:14:23 2013
@@ -23987,10 +23987,17 @@
 
 		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);
+			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) {
+			ast_indicate(target.chan2, AST_CONTROL_UNHOLD);
+		}
 		ast_indicate(target.chan1, AST_CONTROL_UNHOLD);
-		if (target.chan2) {
-			ast_indicate(target.chan2, AST_CONTROL_UNHOLD);
-		}
 
 		if (current->chan2 && current->chan2->_state == AST_STATE_RING) {
 			ast_indicate(target.chan1, AST_CONTROL_RINGING);




More information about the svn-commits mailing list