dect
/
asterisk
Archived
13
0
Fork 0

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: http://svn.digium.com/svn/asterisk/trunk@203909 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
rmudgett 2009-06-27 01:07:52 +00:00
parent f6ccefee8e
commit b59b9b3041
1 changed files with 5 additions and 8 deletions

View File

@ -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);