pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35604?usp=email )


Change subject: GSUP_Types: Add missing message_class to EPDGTunnel* messages
......................................................................

GSUP_Types: Add missing message_class to EPDGTunnel* messages

Related: OS#6091
Change-Id: Ib7d6156402645867cadc8d3e0ffdd07247a1abd2
---
M library/GSUP_Types.ttcn
1 file changed, 69 insertions(+), 20 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/04/35604/1

diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index dbf3fd4..e938c65 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -693,29 +693,57 @@


 /* EPDG Tunnel */
-template (value) GSUP_PDU ts_GSUP_EPDGTunnel_REQ(hexstring imsi, GSUP_CnDomain 
dom := OSMO_GSUP_CN_DOMAIN_PS,
-                                        template (omit) octetstring 
source_name := omit) :=
-       ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_REQUEST, f_gen_ts_ies(imsi, dom := 
dom,
-                                                                    
source_name := source_name));//HERE
+template (value) GSUP_PDU ts_GSUP_EPDGTunnel_REQ(hexstring imsi,
+                                                GSUP_Message_Class 
message_class := OSMO_GSUP_MESSAGE_CLASS_IPSEC_EPDG,
+                                                GSUP_CnDomain dom := 
OSMO_GSUP_CN_DOMAIN_PS,
+                                                template (omit) octetstring 
source_name := omit) :=
+       ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_REQUEST, f_gen_ts_ies(imsi,
+                                                                message_class 
:= message_class,
+                                                                dom := dom,
+                                                                source_name := 
source_name));

-template (present) GSUP_PDU tr_GSUP_EPDGTunnel_REQ(template (present) 
hexstring imsi := ?) :=
-       tr_GSUP_IMSI(OSMO_GSUP_MSGT_EPDG_TUNNEL_REQUEST, imsi);
+template (present) GSUP_PDU tr_GSUP_EPDGTunnel_REQ(template (present) 
hexstring imsi := ?,
+                                                  template (present) 
GSUP_Message_Class message_class := OSMO_GSUP_MESSAGE_CLASS_IPSEC_EPDG) :=
+       tr_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_REQUEST,
+               f_gen_tr_ies(imsi,
+                            message_class := message_class));

-template (value) GSUP_PDU ts_GSUP_EPDGTunnel_RES(hexstring imsi, octetstring 
destination_name := ''O) :=
-       ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_RESULT, { 
valueof(ts_GSUP_IE_IMSI(imsi)),
-                       
valueof(ts_GSUP_IE_Destination_Name(destination_name))});

-template (present) GSUP_PDU tr_GSUP_EPDGTunnel_RES(template (present) 
hexstring imsi, template octetstring destination_name := omit) :=
-       tr_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_RESULT, f_gen_tr_ies(imsi, 
destination_name := destination_name));
+template (value) GSUP_PDU ts_GSUP_EPDGTunnel_RES(hexstring imsi,
+                                               GSUP_Message_Class 
message_class := OSMO_GSUP_MESSAGE_CLASS_IPSEC_EPDG,
+                                               octetstring destination_name := 
''O) :=
+       ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_RESULT, {
+               valueof(ts_GSUP_IE_IMSI(imsi)),
+               valueof(ts_GSUP_IE_Message_Class(message_class)),
+               valueof(ts_GSUP_IE_Destination_Name(destination_name))
+               });

-template (value) GSUP_PDU ts_GSUP_EPDGTunnel_ERR(hexstring imsi, integer 
cause) :=
+template (present) GSUP_PDU tr_GSUP_EPDGTunnel_RES(template (present) 
hexstring imsi,
+                                                  template (present) 
GSUP_Message_Class message_class := OSMO_GSUP_MESSAGE_CLASS_IPSEC_EPDG,
+                                                  template octetstring 
destination_name := omit) :=
+       tr_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_RESULT,
+               f_gen_tr_ies(imsi,
+                            message_class := message_class,
+                            destination_name := destination_name));
+
+template (value) GSUP_PDU ts_GSUP_EPDGTunnel_ERR(hexstring imsi,
+                                                GSUP_Message_Class 
message_class := OSMO_GSUP_MESSAGE_CLASS_IPSEC_EPDG,
+                                                integer cause := 0) :=
        ts_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_ERROR, {
-                       valueof(ts_GSUP_IE_IMSI(imsi)), 
valueof(ts_GSUP_IE_Cause(cause)) });
+               valueof(ts_GSUP_IE_IMSI(imsi)),
+               valueof(ts_GSUP_IE_Message_Class(message_class)),
+               valueof(ts_GSUP_IE_Cause(cause))
+               });

-template (present) GSUP_PDU tr_GSUP_EPDGTunnel_ERR(template (present) 
hexstring imsi, template (present) integer cause := ?,
-               template octetstring destination_name := omit) :=
+template (present) GSUP_PDU tr_GSUP_EPDGTunnel_ERR(template (present) 
hexstring imsi,
+                                                  template (present) 
GSUP_Message_Class message_class := OSMO_GSUP_MESSAGE_CLASS_IPSEC_EPDG,
+                                                  template (present) integer 
cause := ?,
+                                                  template octetstring 
destination_name := omit) :=
        tr_GSUP(OSMO_GSUP_MSGT_EPDG_TUNNEL_ERROR,
-               f_gen_tr_ies(imsi, cause := cause, destination_name := 
destination_name));
+               f_gen_tr_ies(imsi,
+                            message_class := message_class,
+                            cause := cause,
+                            destination_name := destination_name));


 template (value) GSUP_IE ts_GSUP_IE_CancelType(GSUP_CancelType ctype) := {
@@ -1391,15 +1419,20 @@
 }

 private function f_gen_ts_ies(hexstring imsi,
-                          template hexstring imei := omit,
-                          template GSUP_CnDomain dom := omit,
-                          template octetstring source_name := omit,
-                          template octetstring destination_name := omit
+                          template (omit) GSUP_Message_Class message_class := 
omit,
+                          template (omit) hexstring imei := omit,
+                          template (omit) GSUP_CnDomain dom := omit,
+                          template (omit) octetstring source_name := omit,
+                          template (omit) octetstring destination_name := omit
                          ) return GSUP_IEs {
        var GSUP_IEs ies := {
                valueof(ts_GSUP_IE_IMSI(imsi))
        };

+       if (isvalue(message_class)) {
+               ies := ies & { 
valueof(ts_GSUP_IE_Message_Class(valueof(message_class))) };
+       }
+
        if (isvalue(dom)) {
                ies := ies & { valueof(ts_GSUP_IE_CnDomain(dom)) };
        }
@@ -1420,6 +1453,7 @@
 }

 private function f_gen_tr_ies(template hexstring imsi,
+                             template GSUP_Message_Class message_class := omit,
                              template integer cause := omit,
                              template hexstring msisdn := omit,
                              template GSUP_IMEIResult imei_result := omit,
@@ -1431,6 +1465,11 @@
        };
        var integer idx := 1;

+       if (isvalue(message_class)) {
+               ies[idx] := tr_GSUP_IE_Message_Class(message_class);
+               idx := idx + 1;
+       }
+
        if (isvalue(cause)) {
                ies[idx] := tr_GSUP_IE_Cause(cause);
                idx := idx + 1;

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35604?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ib7d6156402645867cadc8d3e0ffdd07247a1abd2
Gerrit-Change-Number: 35604
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to