T309 should not do anything with the global call reference call record.

git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1703 2fbb986a-6c06-0410-b554-c9c1f0a7f128
This commit is contained in:
Richard Mudgett 2010-05-19 21:50:34 +00:00
parent 3d5f9e762a
commit 07b3f1dc45

10
q931.c
View File

@ -7600,7 +7600,10 @@ void q931_dl_indication(struct pri *ctrl, int event)
pri_message(ctrl, DBGHEAD "link is DOWN\n", DBGINFO); pri_message(ctrl, DBGHEAD "link is DOWN\n", DBGINFO);
} }
for (cur = *ctrl->callpool; cur; cur = cur->next) { for (cur = *ctrl->callpool; cur; cur = cur->next) {
if (cur->ourcallstate == Q931_CALL_STATE_ACTIVE) { if (!(cur->cr & ~Q931_CALL_REFERENCE_FLAG)) {
/* Don't do anything on the global call reference call record. */
continue;
} else if (cur->ourcallstate == Q931_CALL_STATE_ACTIVE) {
/* For a call in Active state, activate T309 only if there is no timer already running. */ /* For a call in Active state, activate T309 only if there is no timer already running. */
if (!cur->retranstimer) { if (!cur->retranstimer) {
if (ctrl->debug & PRI_DEBUG_Q931_STATE) { if (ctrl->debug & PRI_DEBUG_Q931_STATE) {
@ -7628,7 +7631,10 @@ void q931_dl_indication(struct pri *ctrl, int event)
pri_message(ctrl, DBGHEAD "link is UP\n", DBGINFO); pri_message(ctrl, DBGHEAD "link is UP\n", DBGINFO);
} }
for (cur = *ctrl->callpool; cur; cur = cur->next) { for (cur = *ctrl->callpool; cur; cur = cur->next) {
if (cur->ourcallstate == Q931_CALL_STATE_ACTIVE && cur->retranstimer) { if (!(cur->cr & ~Q931_CALL_REFERENCE_FLAG)) {
/* Don't do anything on the global call reference call record. */
continue;
} else if (cur->ourcallstate == Q931_CALL_STATE_ACTIVE && cur->retranstimer) {
if (ctrl->debug & PRI_DEBUG_Q931_STATE) { if (ctrl->debug & PRI_DEBUG_Q931_STATE) {
pri_message(ctrl, pri_message(ctrl,
DBGHEAD "cancel T309 for call %d on channel %d\n", DBGINFO, DBGHEAD "cancel T309 for call %d on channel %d\n", DBGINFO,