From 2178f9b87d3c992df16ea4db00391a589e6c751f Mon Sep 17 00:00:00 2001
From: Stefan Knoblich <stkn@freeswitch.org>
Date: Mon, 8 Sep 2008 21:34:08 +0000
Subject: [PATCH] Add Facility IE handling on incoming SETUP messages to
 national too

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@546 a93c3328-9c30-0410-af19-c9cd2b2d52af
---
 libs/freetdm/src/isdn/nationalStateNT.c | 3 +++
 libs/freetdm/src/isdn/nationalmes.c     | 1 +
 2 files changed, 4 insertions(+)

diff --git a/libs/freetdm/src/isdn/nationalStateNT.c b/libs/freetdm/src/isdn/nationalStateNT.c
index 48d649f2df..6b6aa305d6 100644
--- a/libs/freetdm/src/isdn/nationalStateNT.c
+++ b/libs/freetdm/src/isdn/nationalStateNT.c
@@ -118,6 +118,9 @@ void nationalCreateNT(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/nationalmes.c b/libs/freetdm/src/isdn/nationalmes.c
index 5ef69014b5..8d75760c8e 100644
--- a/libs/freetdm/src/isdn/nationalmes.c
+++ b/libs/freetdm/src/isdn/nationalmes.c
@@ -91,6 +91,7 @@ L3INT nationalUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generi
 			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;