[asterisk-commits] rmudgett: branch 1.8 r357894 - in /branches/1.8: channels/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Mar 2 12:34:35 CST 2012


Author: rmudgett
Date: Fri Mar  2 12:34:29 2012
New Revision: 357894

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=357894
Log:
Remove ISDN hold restriction for non-bridged calls.

The check if an ISDN call is bridged before it could be placed on hold is
not necessary and is overly restrictive.  The check was originally done to
prevent problems with call transfers in case a user tried to transfer a
call connected to an application to another call connected to an
application.  The ISDN transfer code has not required this restriction for
quite some time because ECT could transfer any two active calls to each
other.

* Remove ISDN hold restriction for calls connected to applications.

* Made ast_waitfordigit_full() ignore AST_CONTROL_HOLD and
AST_CONTROL_UNHOLD instead of generating a warning message.

(closes issue ASTERISK-19388)
Reported by: Birger Harzenetter
Tested by: rmudgett

Modified:
    branches/1.8/channels/sig_pri.c
    branches/1.8/main/channel.c

Modified: branches/1.8/channels/sig_pri.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/sig_pri.c?view=diff&rev=357894&r1=357893&r2=357894
==============================================================================
--- branches/1.8/channels/sig_pri.c (original)
+++ branches/1.8/channels/sig_pri.c Fri Mar  2 12:34:29 2012
@@ -4435,7 +4435,6 @@
 	int retval;
 	int chanpos_old;
 	int chanpos_new;
-	struct ast_channel *bridged;
 	struct ast_channel *owner;
 
 	chanpos_old = pri_find_principle_by_call(pri, ev->hold.call);
@@ -4456,9 +4455,11 @@
 	if (!owner) {
 		goto done_with_private;
 	}
-	bridged = ast_bridged_channel(owner);
-	if (!bridged) {
-		/* Cannot hold a call that is not bridged. */
+	if (pri->pvts[chanpos_old]->call_level != SIG_PRI_CALL_LEVEL_CONNECT) {
+		/*
+		 * Make things simple.  Don't allow placing a call on hold that
+		 * is not connected.
+		 */
 		goto done_with_owner;
 	}
 	chanpos_new = pri_find_empty_nobch(pri);

Modified: branches/1.8/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/channel.c?view=diff&rev=357894&r1=357893&r2=357894
==============================================================================
--- branches/1.8/main/channel.c (original)
+++ branches/1.8/main/channel.c Fri Mar  2 12:34:29 2012
@@ -3578,6 +3578,8 @@
 				case AST_CONTROL_CONNECTED_LINE:
 				case AST_CONTROL_REDIRECTING:
 				case AST_CONTROL_UPDATE_RTP_PEER:
+				case AST_CONTROL_HOLD:
+				case AST_CONTROL_UNHOLD:
 				case -1:
 					/* Unimportant */
 					break;




More information about the asterisk-commits mailing list