class ULI_TAI(gtp_v1.IE_Base): name = "IE Tracking Area Identity" fields_desc = [ # Only type 1 is currently supported gtp_v1.TBCDByteField("MCC", "", 2), # MNC: if the third digit of MCC is 0xf, then the length of # MNC is 1 byte gtp_v1.TBCDByteField("MNC", "", 1), ShortField("TAC", 0)]
class IE_ServingNetwork(gtp_v1.IE_Base): name = "IE Serving Network" fields_desc = [ByteEnumField("ietype", 154, IEType), ShortField("length", 0), BitField("CR_flag", 0, 4), BitField("instance", 0, 4), gtp_v1.TBCDByteField("MCC", "", 2), gtp_v1.TBCDByteField("MNC", "", 1)]
class ULI_ECGI(gtp_v1.IE_Base): name = "IE E-UTRAN Cell Identifier" fields_desc = [ # Only type 1 is currently supported gtp_v1.TBCDByteField("MCC", "", 2), # MNC: if the third digit of MCC is 0xf, then the length of # MNC is 1 byte gtp_v1.TBCDByteField("MNC", "", 1), BitField("SPARE", 0, 4), BitField("ECI", 0, 28)]
class IE_MSISDN(gtp_v1.IE_Base): name = "IE MSISDN" fields_desc = [ByteEnumField("ietype", 1, IEType), ShortField("length", None), BitField("CR_flag", 0, 4), BitField("instance", 0, 4), gtp_v1.TBCDByteField("digits", "33607080910", length_from=lambda x: x.length)]