From bb7f0252d94a52d15444bbdbf8a246224e79dc5c Mon Sep 17 00:00:00 2001
From: Cedric Roux <cedric.roux@eurecom.fr>
Date: Mon, 25 Nov 2013 10:35:48 +0000
Subject: [PATCH] - Add encode procedure for nas non delivery ind
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4509 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
openair-cn/S1AP/s1ap_eNB_encoder.c | 38 ++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/openair-cn/S1AP/s1ap_eNB_encoder.c b/openair-cn/S1AP/s1ap_eNB_encoder.c
index 4474d8a73b..2b08bc9a74 100644
--- a/openair-cn/S1AP/s1ap_eNB_encoder.c
+++ b/openair-cn/S1AP/s1ap_eNB_encoder.c
@@ -84,6 +84,12 @@ static inline int s1ap_eNB_encode_initial_context_setup_response(
uint8_t **buffer,
uint32_t *length);
+static inline
+int s1ap_eNB_encode_nas_non_delivery(
+ S1ap_NASNonDeliveryIndication_IEs_t *nasNonDeliveryIndicationIEs,
+ uint8_t **buffer,
+ uint32_t *length);
+
int s1ap_eNB_encode_pdu(s1ap_message *message, uint8_t **buffer, uint32_t *len)
{
DevAssert(message != NULL);
@@ -145,6 +151,13 @@ int s1ap_eNB_encode_initiating(s1ap_message *s1ap_message_p,
s1ap_xer_print_s1ap_initialuemessage(s1ap_xer__print2sp, message_string, s1ap_message_p);
break;
+ case S1ap_ProcedureCode_id_NASNonDeliveryIndication:
+ ret = s1ap_eNB_encode_nas_non_delivery(
+ &s1ap_message_p->msg.s1ap_NASNonDeliveryIndication_IEs, buffer, len);
+ s1ap_xer_print_s1ap_nasnondeliveryindication_(s1ap_xer__print2sp,
+ message_string, s1ap_message_p);
+ break;
+
default:
S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n",
(int)s1ap_message_p->procedureCode);
@@ -291,6 +304,31 @@ int s1ap_eNB_encode_uplink_nas_transport(
uplinkNASTransport_p);
}
+static inline
+int s1ap_eNB_encode_nas_non_delivery(
+ S1ap_NASNonDeliveryIndication_IEs_t *nasNonDeliveryIndicationIEs,
+ uint8_t **buffer,
+ uint32_t *length)
+{
+ S1ap_NASNonDeliveryIndication_t nasNonDeliveryIndication;
+ S1ap_NASNonDeliveryIndication_t *nasNonDeliveryIndication_p = &nasNonDeliveryIndication;
+
+ memset((void *)nasNonDeliveryIndication_p, 0, sizeof(nasNonDeliveryIndication));
+
+ if (s1ap_encode_s1ap_nasnondeliveryindication_ies(
+ nasNonDeliveryIndication_p, nasNonDeliveryIndicationIEs) < 0)
+ {
+ return -1;
+ }
+
+ return s1ap_generate_initiating_message(buffer,
+ length,
+ S1ap_ProcedureCode_id_NASNonDeliveryIndication,
+ S1ap_Criticality_ignore,
+ &asn_DEF_S1ap_NASNonDeliveryIndication,
+ nasNonDeliveryIndication_p);
+}
+
static inline
int s1ap_eNB_encode_s1_setup_request(
S1ap_S1SetupRequestIEs_t *s1SetupRequestIEs,
--
GitLab