mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
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/branches/1.4@203908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -2463,15 +2463,12 @@ static int dahdi_call(struct ast_channel *ast, char *rdest, int timeout)
|
||||
pri_set_crv(p->pri->pri, p->call, p->channel, 0);
|
||||
}
|
||||
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, p->bearer ? PVT_TO_CHANNEL(p->bearer) : PVT_TO_CHANNEL(p), exclusive, 1);
|
||||
|
Reference in New Issue
Block a user