ggsn: Append IMEISV IE to CreatePdpCtxReq
Change-Id: I00975328e94afd116e59c88fd96c5b0154810a1e
diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn
index 0c5c003..22d8632 100644
--- a/library/GTP_Templates.ttcn
+++ b/library/GTP_Templates.ttcn
@@ -119,6 +119,26 @@
restartCounter := restart_counter
}
+ /* IMEI(SV) IE TS 29.060 7.7.53 */
+ template IMEISV_gtpc ts_IMEISV(template (value) OCT8 imeisv) := {
+ type_gtpc := '9A'O,
+ lengthf := 8,
+ imeisv := imeisv
+ }
+ private function f_ts_IMEISV(template (omit) OCT8 imeisv)
+ return template (omit) IMEISV_gtpc {
+ if (istemplatekind(imeisv, "omit")) {
+ return omit;
+ }
+ return ts_IMEISV(imeisv);
+ }
+
+ template IMEISV_gtpc tr_IMEISV(template (present) OCT8 imeisv) := {
+ type_gtpc := '9A'O,
+ lengthf := 8,
+ imeisv := imeisv
+ }
+
/* Charging Characteristics IE TS 29.060 7.7.23 */
template ChargingCharacteristics_GTPC ts_ChargingCharacteristics(template (value) OCT2 chargingChar) := {
type_gtpc := '1A'O,
@@ -379,7 +399,8 @@
octetstring msisdn, template ProtConfigOptions pco := omit,
template (omit) OCT1 ratType := omit,
template (omit) UserLocationInformation uli := omit,
- template (omit) OCT2 charging_char := omit) := {
+ template (omit) OCT2 charging_char := omit,
+ template (omit) OCT8 imeisv := omit) := {
createPDPContextRequest := {
imsi := ts_Imsi(imsi),
rai := omit,
@@ -421,7 +442,7 @@
ratType := f_ts_RATType(ratType),
userLocationInformation := uli,
mS_TimeZone := omit,
- imeisv := omit,
+ imeisv := f_ts_IMEISV(imeisv),
camelChargingInformationContainer := omit,
additionalTraceInfo := omit,
correlationID := omit,
@@ -443,12 +464,14 @@
template ProtConfigOptions pco := omit,
template (omit) OCT1 ratType := omit,
template (omit) UserLocationInformation uli := omit,
- template (omit) OCT2 charging_char := omit) := {
+ template (omit) OCT2 charging_char := omit,
+ template (omit) OCT8 imeisv := omit) := {
peer := peer,
gtpc := ts_GTP1C_PDU(createPDPContextRequest, '00000000'O,
valueof(ts_CreatePdpPDU(imsi, restart_ctr, teid_data, teid_ctrl,
nsapi, eua, apn, sgsn_ip_sign,
- sgsn_ip_data, msisdn, pco, ratType, uli, charging_char)), seq)
+ sgsn_ip_data, msisdn, pco, ratType, uli,
+ charging_char, imeisv)), seq)
}