From f45133674d2cb6f1e4026bc7cc003b88d0e965cb Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Sat, 27 Jun 2009 01:07:52 +0000 Subject: 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 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203909 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/sig_pri.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'channels/sig_pri.c') diff --git a/channels/sig_pri.c b/channels/sig_pri.c index f2eeb230e..464dde23a 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -1811,15 +1811,12 @@ int sig_pri_call(struct sig_pri_chan *p, struct ast_channel *ast, char *rdest, i } 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); -- cgit v1.2.3