diff --git a/libs/freetdm/src/isdn/Q931StateNT.c b/libs/freetdm/src/isdn/Q931StateNT.c index 6a4a37b0e7..8d05fb6d03 100644 --- a/libs/freetdm/src/isdn/Q931StateNT.c +++ b/libs/freetdm/src/isdn/Q931StateNT.c @@ -116,8 +116,9 @@ void Q931CreateNT(L3UCHAR i) Q931SetIEProc(Q931ie_HIGH_LAYER_COMPATIBILITY, i, Q931Pie_HLComp, Q931Uie_HLComp); Q931SetIEProc(Q931ie_USER_USER, i, Q931Pie_UserUser, Q931Uie_UserUser); - Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); - Q931SetIEProc(Q931ie_FACILITY, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_FACILITY, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_REDIRECTING_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); /* The following define a state machine. The point is that the Message * procs can when search this to find out if the message/state diff --git a/libs/freetdm/src/isdn/Q931StateTE.c b/libs/freetdm/src/isdn/Q931StateTE.c index b5486b37c0..562dd0b458 100644 --- a/libs/freetdm/src/isdn/Q931StateTE.c +++ b/libs/freetdm/src/isdn/Q931StateTE.c @@ -123,8 +123,9 @@ void Q931CreateTE(L3UCHAR i) Q931SetIEProc(Q931ie_HIGH_LAYER_COMPATIBILITY, i, Q931Pie_HLComp, Q931Uie_HLComp); Q931SetIEProc(Q931ie_USER_USER, i, Q931Pie_UserUser, Q931Uie_UserUser); - Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); - Q931SetIEProc(Q931ie_FACILITY, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_FACILITY, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_REDIRECTING_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); /* The following define a state machine. The point is that the Message * procs can when search this to find out if the message/state diff --git a/libs/freetdm/src/isdn/Q931mes.c b/libs/freetdm/src/isdn/Q931mes.c index 8283880288..8e34a170e1 100644 --- a/libs/freetdm/src/isdn/Q931mes.c +++ b/libs/freetdm/src/isdn/Q931mes.c @@ -1203,6 +1203,7 @@ L3INT Q931Umes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *m case Q931ie_HIGH_LAYER_COMPATIBILITY: case Q931ie_FACILITY: case Q931ie_USER_USER: + case Q931ie_REDIRECTING_NUMBER: rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, mes, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); if (rc != Q931E_NO_ERROR) return rc; diff --git a/libs/freetdm/src/isdn/nationalStateNT.c b/libs/freetdm/src/isdn/nationalStateNT.c index 6b6aa305d6..b150999650 100644 --- a/libs/freetdm/src/isdn/nationalStateNT.c +++ b/libs/freetdm/src/isdn/nationalStateNT.c @@ -120,6 +120,7 @@ void nationalCreateNT(L3UCHAR i) Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); Q931SetIEProc(Q931ie_FACILITY, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_REDIRECTING_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); /* The following define a state machine. The point is that the Message */ /* procs can when search this to find out if the message/state */ diff --git a/libs/freetdm/src/isdn/nationalStateTE.c b/libs/freetdm/src/isdn/nationalStateTE.c index a50ae3debd..46731d0910 100644 --- a/libs/freetdm/src/isdn/nationalStateTE.c +++ b/libs/freetdm/src/isdn/nationalStateTE.c @@ -129,6 +129,7 @@ void nationalCreateTE(L3UCHAR i) Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); Q931SetIEProc(Q931ie_FACILITY, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_REDIRECTING_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); /* The following define a state machine. The point is that the Message * procs can when search this to find out if the message/state diff --git a/libs/freetdm/src/isdn/nationalmes.c b/libs/freetdm/src/isdn/nationalmes.c index 8d75760c8e..6d8350fbcd 100644 --- a/libs/freetdm/src/isdn/nationalmes.c +++ b/libs/freetdm/src/isdn/nationalmes.c @@ -92,8 +92,9 @@ L3INT nationalUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generi case Q931ie_LOW_LAYER_COMPATIBILITY: case Q931ie_HIGH_LAYER_COMPATIBILITY: case Q931ie_FACILITY: + case Q931ie_REDIRECTING_NUMBER: rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, mes, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); - if (rc != Q931E_NO_ERROR) + if (rc != Q931E_NO_ERROR) return rc; break; case Q931ie_REPEAT_INDICATOR: