epdg: Make sure PCO is forwarded from strongswan to PGW and back
Related: OS#6369
Change-Id: Ie01d6e88b3ccc55fecc97c2ba75bb31bba5b9ef7
diff --git a/library/GSUP_Templates.ttcn b/library/GSUP_Templates.ttcn
index d886088..9daf9c0 100644
--- a/library/GSUP_Templates.ttcn
+++ b/library/GSUP_Templates.ttcn
@@ -301,6 +301,14 @@
}
}
+template (present) GSUP_IE tr_GSUP_IE_PCO(template (present) PCO_DATA pco := ?) := {
+ tag := OSMO_GSUP_PCO_IE,
+ len := ?,
+ val := {
+ pco := pco
+ }
+}
+
template GSUP_PDU tr_GSUP(template GSUP_MessageType msgt := ?, template GSUP_IEs ies := *) := {
msg_type := msgt,
ies := ies
@@ -536,6 +544,7 @@
template (present) GSUP_PDU tr_GSUP_EPDGTunnel_RES(template (present) hexstring imsi,
template (present) GSUP_IEs pdp_info,
+ template (present) PCO_DATA pco := ?,
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,
@@ -543,6 +552,7 @@
pdp_info_compl := true,
pdp_info := pdp_info,
message_class := message_class,
+ pco := pco,
destination_name := destination_name));
template (value) GSUP_PDU ts_GSUP_EPDGTunnel_ERR(hexstring imsi,
@@ -1229,6 +1239,7 @@
template GSUP_CancelType cancel_type := omit,
template hexstring msisdn := omit,
template GSUP_IMEIResult imei_result := omit,
+ template PCO_DATA pco := omit,
template GSUP_CnDomain cn_domain := omit,
template octetstring source_name := omit,
template octetstring destination_name := omit
@@ -1278,6 +1289,11 @@
idx := idx + 1;
}
+ if (not istemplatekind(pco, "omit")) {
+ ies[idx] := tr_GSUP_IE_PCO(pco);
+ idx := idx + 1;
+ }
+
if (not istemplatekind(source_name, "omit")) {
ies[idx] := tr_GSUP_IE_Source_Name(source_name);
idx := idx + 1;