From 092200f022cbeb45d90943d6bb870724315caa2b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 29 Aug 2008 18:24:54 +0000 Subject: [PATCH] merge patches from stkn openzap-facility-Umes.patch openzap-53ess-facility.patch openzap-5ess-facility-Umes.patch to fix some 5ess dialect issues when talking to an actual lucent 5ess git-svn-id: http://svn.openzap.org/svn/openzap/trunk@519 a93c3328-9c30-0410-af19-c9cd2b2d52af --- libs/freetdm/src/isdn/5ESSStateNT.c | 3 +++ libs/freetdm/src/isdn/5ESSStateTE.c | 3 +++ libs/freetdm/src/isdn/5ESSmes.c | 1 + libs/freetdm/src/isdn/Q931mes.c | 1 + 4 files changed, 8 insertions(+) diff --git a/libs/freetdm/src/isdn/5ESSStateNT.c b/libs/freetdm/src/isdn/5ESSStateNT.c index 5ba4ca8f79..d2a5540c32 100644 --- a/libs/freetdm/src/isdn/5ESSStateNT.c +++ b/libs/freetdm/src/isdn/5ESSStateNT.c @@ -121,6 +121,9 @@ void ATT5ESSCreateNT(L3UCHAR i) Q931SetIEProc(Q931ie_USER_USER, i,Q931Pie_UserUser, Q931Uie_UserUser); Q931SetIEProc(Q931ie_GENERIC_DIGITS, i,Q931Pie_GenericDigits, Q931Uie_GenericDigits); + Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_FACILITY, 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 */ /* combination is legale. If not, the proc for unexpected message apply.*/ diff --git a/libs/freetdm/src/isdn/5ESSStateTE.c b/libs/freetdm/src/isdn/5ESSStateTE.c index 13a080cadc..62594212e3 100644 --- a/libs/freetdm/src/isdn/5ESSStateTE.c +++ b/libs/freetdm/src/isdn/5ESSStateTE.c @@ -130,6 +130,9 @@ void ATT5ESSCreateTE(L3UCHAR i) Q931SetIEProc(Q931ie_USER_USER, i,Q931Pie_UserUser, Q931Uie_UserUser); Q931SetIEProc(Q931ie_GENERIC_DIGITS, i,Q931Pie_GenericDigits, Q931Uie_GenericDigits); + Q931SetIEProc(Q931ie_CONNECTED_NUMBER, i, Q931Pie_Generic, Q931Uie_Generic); + Q931SetIEProc(Q931ie_FACILITY, 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 */ /* combination is legale. If not, the proc for unexpected message apply.*/ diff --git a/libs/freetdm/src/isdn/5ESSmes.c b/libs/freetdm/src/isdn/5ESSmes.c index fc8d4b9fbb..10508baf9a 100644 --- a/libs/freetdm/src/isdn/5ESSmes.c +++ b/libs/freetdm/src/isdn/5ESSmes.c @@ -95,6 +95,7 @@ L3INT ATT5ESSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic case Q931ie_TRANSIT_NETWORK_SELECTION: case Q931ie_LOW_LAYER_COMPATIBILITY: case Q931ie_HIGH_LAYER_COMPATIBILITY: + case Q931ie_FACILITY: 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/Q931mes.c b/libs/freetdm/src/isdn/Q931mes.c index 4a53516bdd..43a5098f62 100644 --- a/libs/freetdm/src/isdn/Q931mes.c +++ b/libs/freetdm/src/isdn/Q931mes.c @@ -1179,6 +1179,7 @@ L3INT Q931Umes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *m case Q931ie_TRANSIT_NETWORK_SELECTION: case Q931ie_LOW_LAYER_COMPATIBILITY: case Q931ie_HIGH_LAYER_COMPATIBILITY: + case Q931ie_FACILITY: rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, mes, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); if(rc != Q931E_NO_ERROR) return rc;