[svn-commits] rmudgett: trunk r203909 - in /trunk: ./ channels/sig_pri.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Jun 26 20:07:57 CDT 2009


Author: rmudgett
Date: Fri Jun 26 20:07:52 2009
New Revision: 203909

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=203909
Log:
Merged revisions 203908 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r203908 | rmudgett | 2009-06-26 19:55:12 -0500 (Fri, 26 Jun 2009) | 16 lines
  
  The ISDN CPE side should not exclusively pick B channels normally.
  
  Before this patch, Asterisk unconditionally picked B channels exclusively
  on the CPE side and normally allowed alternative B channels on the network
  side.  Now Asterisk does the opposite.
  
  Reasons for the CPE side to normally not pick B channels exclusively:
  *  For CPE point-to-multipoint mode (i.e. phone side), the CPE side does
  not have enough information to exclusively pick B channels.  (There may be
  other devices on the line.)
  *  Q.931 gives preference to the network side picking B channels.
  *  Some telcos require the CPE side to not pick B channels exclusively.
  
  (closes issue #14383)
  Reported by: mbrancaleoni
........

Modified:
    trunk/   (props changed)
    trunk/channels/sig_pri.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/sig_pri.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/channels/sig_pri.c?view=diff&rev=203909&r1=203908&r2=203909
==============================================================================
--- trunk/channels/sig_pri.c (original)
+++ trunk/channels/sig_pri.c Fri Jun 26 20:07:52 2009
@@ -1811,15 +1811,12 @@
 	}
 
 	p->digital = IS_DIGITAL(ast->transfercapability);
-	/* Add support for exclusive override */
-	if (p->priexclusive)
+
+	/* Should the picked channel be used exclusively? */
+	if (p->priexclusive || p->pri->nodetype == PRI_NETWORK) {
 		exclusive = 1;
-	else {
-	/* otherwise, traditional behavior */
-		if (p->pri->nodetype == PRI_NETWORK)
-			exclusive = 0;
-		else
-			exclusive = 1;
+	} else {
+		exclusive = 0;
 	}
 	
 	pri_sr_set_channel(sr, PVT_TO_CHANNEL(p), exclusive, 1);




More information about the svn-commits mailing list