From a0ac354e9f463ca0b863661b778adab478ae1882 Mon Sep 17 00:00:00 2001
From: winckel <winckel@eurecom.fr>
Date: Wed, 22 Jan 2014 14:39:11 +0000
Subject: [PATCH] Forced Protocol Configuration Options to be included in the
 ESM message.

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4930 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 .../ActivateDefaultEpsBearerContextRequest.c  | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c b/openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c
index e99c238e9c..dce2b8a46e 100644
--- a/openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c
+++ b/openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c
@@ -249,6 +249,30 @@ int encode_activate_default_eps_bearer_context_request(activate_default_eps_bear
             encoded += encode_result;
     }
 
+#if 1 /* LW: force Protocol Configuration Options to be included in the ESM message */
+    {
+#define CONFIGURATION_PROTOCOL_PPP          0
+
+#define PROTOCOL_ID_IPCP                    0x8021
+#define PROTOCOL_ID_DNS_SERVER_IPV4_ADDRESS 0x000D
+
+        /* Force this item to be present */
+        activate_default_eps_bearer_context_request->presencemask |= ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT;
+        /* Fill this item with data from PFT trace */
+        activate_default_eps_bearer_context_request->protocolconfigurationoptions.configurationprotol = CONFIGURATION_PROTOCOL_PPP;
+        activate_default_eps_bearer_context_request->protocolconfigurationoptions.protocolid = PROTOCOL_ID_IPCP;
+        activate_default_eps_bearer_context_request->protocolconfigurationoptions.lengthofprotocolid = 16; /* Size of PROTOCOL_ID_IPCP */
+        activate_default_eps_bearer_context_request->protocolconfigurationoptions.protocolidcontents.value = (uint8_t *)
+                /* PROTOCOL_ID_IPCP data */
+                "\x03\x00\x00\x10\x81\x06\x52\x61\x00\x78\x83\x06\x52\x61\x01\x78"
+                /* Additional parameters PROTOCOL_ID_DNS_SERVER_IPV4_ADDRESS data */
+                "\x00\x0d\x04\x52\x61\x00\x78"
+                /* Additional parameters PROTOCOL_ID_DNS_SERVER_IPV4_ADDRESS data */
+                "\x00\x0d\x04\x52\x61\x01\x78";
+        activate_default_eps_bearer_context_request->protocolconfigurationoptions.protocolidcontents.length = 16 + 7 + 7;
+    }
+#endif
+
     if ((activate_default_eps_bearer_context_request->presencemask & ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
         == ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
     {
-- 
GitLab