class ULI_TAI(gtp.IE_Base): name = "IE Tracking Area Identity" fields_desc = [ gtp.TBCDByteField("MCC", "", 2), gtp.TBCDByteField("MNC", "", 1), ShortField("TAC", 0) ]
class ULI_ECGI(gtp.IE_Base): name = "IE E-UTRAN Cell Identifier" fields_desc = [ gtp.TBCDByteField("MCC", "", 2), gtp.TBCDByteField("MNC", "", 1), BitField("SPARE", 0, 4), BitField("ECI", 0, 28) ]
class ULI_RAI(gtp.IE_Base): name = "IE Tracking Area Identity" fields_desc = [ gtp.TBCDByteField("MCC", "", 2), # MNC: if the third digit of MCC is 0xf, then the length of # MNC is 1 byte gtp.TBCDByteField("MNC", "", 1), ShortField("LAC", 0), ShortField("RAC", 0) ]
class IE_ServingNetwork(gtp.IE_Base): name = "IE Serving Network" fields_desc = [ ByteEnumField("ietype", 83, IEType), ShortField("length", 0), BitField("CR_flag", 0, 4), BitField("instance", 0, 4), gtp.TBCDByteField("MCC", "", 2), gtp.TBCDByteField("MNC", "", 1) ]
class IE_MSISDN(gtp.IE_Base): name = "IE MSISDN" fields_desc = [ ByteEnumField("ietype", 76, IEType), ShortField("length", 0), BitField("CR_flag", 0, 4), BitField("instance", 0, 4), gtp.TBCDByteField("MSISDN", "33123456789", length_from=lambda x: x.length) ]
class IE_IMSI(gtp.IE_Base): name = "IE IMSI" fields_desc = [ ByteEnumField("ietype", 1, IEType), ShortField("length", 0), BitField("CR_flag", 0, 4), BitField("instance", 0, 4), gtp.TBCDByteField("IMSI", "33607080910", length_from=lambda x: x.length) ]
class IE_MEI(gtp.IE_Base): name = "IE MEI" fields_desc = [ ByteEnumField("ietype", 75, IEType), ShortField("length", 0), BitField("CR_flag", 0, 4), BitField("instance", 0, 4), gtp.TBCDByteField("MEI", "123456789012345", length_from=lambda x: x.length) ]