Fix call reference to be associated with the D channel message was received

The problem is that once a call reference was associated with a particular D
channel, it always was. This created an issue with NFAS when the secondary D
channel became active as the messages were still being sent on the non-active
D channel.

(closes issue #14959)
Reported by: remiq
Patches: 
      bug14959.patch uploaded by jpeeler (license 325)
Tested by: remiq


git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1120 2fbb986a-6c06-0410-b554-c9c1f0a7f128
This commit is contained in:
Jeff Peeler 2009-09-22 17:12:23 +00:00
parent 4d19486781
commit 18ea19900c

5
q931.c
View File

@ -3035,6 +3035,11 @@ static q931_call *q931_getcall(struct pri *ctrl, int cr)
prev = NULL; prev = NULL;
while (cur) { while (cur) {
if (cur->cr == cr) { if (cur->cr == cr) {
if (!ctrl->bri && ctrl->switchtype != PRI_SWITCH_GR303_EOC_PATH
&& ctrl->switchtype != PRI_SWITCH_GR303_TMC_SWITCHING
&& cur->pri != ctrl) {
cur->pri = ctrl;
}
return cur; return cur;
} }
prev = cur; prev = cur;