예제 #1
0
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)]
예제 #2
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)]
예제 #3
0
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)]
예제 #4
0
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)]