@ -301,11 +301,28 @@ module GTP_Templates {
return rt;
}
template (value) GeographicLocationCGI
ts_GeographicLocationCGI(template (value) hexstring mcc,
template (value) hexstring mnc,
template (value) OCT2 lac,
template (value) OCT2 cI_value) :=
{
mccDigit1 := mcc[0],
mccDigit2 := mcc[1],
mccDigit3 := mcc[2],
mncDigit3 := mnc[2], /* 'F'H for 2 digit MNC */
mncDigit1 := mnc[0],
mncDigit2 := mnc[1],
lac := lac,
cI_value := cI_value
}
template GTPC_PDUs ts_CreatePdpPDU(hexstring imsi, OCT1 restart_ctr, OCT4 teid_data, OCT4 teid_ctrl,
BIT4 nsapi, EndUserAddress eua, octetstring apn,
octetstring sgsn_ip_sign, octetstring sgsn_ip_data,
octetstring msisdn, template ProtConfigOptions pco := omit,
template (omit) OCT1 ratType := omit) := {
template (omit) OCT1 ratType := omit,
template (omit) UserLocationInformation uli := omit) := {
createPDPContextRequest := {
imsi := ts_Imsi(imsi),
rai := omit,
@ -345,7 +362,7 @@ module GTP_Templates {
commonFlags := omit,
aPN_Restriction := omit,
ratType := f_ts_RATType(ratType),
userLocationInformation := omit ,
userLocationInformation := uli ,
mS_TimeZone := omit,
imeisv := omit,
camelChargingInformationContainer := omit,
@ -367,12 +384,13 @@ module GTP_Templates {
octetstring apn, octetstring sgsn_ip_sign,
octetstring sgsn_ip_data, octetstring msisdn,
template ProtConfigOptions pco := omit,
template (omit) OCT1 ratType := omit) := {
template (omit) OCT1 ratType := omit,
template (omit) UserLocationInformation uli := 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)), seq)
sgsn_ip_data, msisdn, pco, ratType, uli )), seq)
}