def __init__(self, with_options=False, with_security=False, **kwargs): Layer3NASEMM.__init__(self, with_security) self.extend([ Bit('spare', Pt=0, BitLen=4), Bit('EPSUpdRes', ReprName='EPS Update Result', Pt=0, BitLen=4, Dict=EPSUpdRes_dict, Repr='hum'), Type3_TV('T3412', ReprName='GPRS Timer', T=0x5A, V='\0', Len=1), Type4_TLV('GUTI', T=0x50, V=11*'\0'), Type4_TLV('TAIList', ReprName='Tracking Area Identity List', T=0x54, V=6*'\0'), Type4_TLV('EPSCtxStat', ReprName='EPS Bearer Context Status', T=0x57, V=2*'\0'), Type3_TV('LAI', ReprName='Old LAI', T=0x13, V=LAI(), Len=5), Type4_TLV('ID', T=0x23, V=ID()), Type3_TV('EMMCause', T=0x53, V='\0', Len=1), Type3_TV('T3402', T=0x17, V='\0', Len=1), Type3_TV('T3423', T=0x59, V='\0', Len=1), Type4_TLV('PLMNList', ReprName='Equivalent PLMNs', T=0x4A, V=PLMNList()), Type4_TLV('ECNList', ReprName='Emergency Number List', T=0x34, V='\0\0\0'), Type4_TLV('EPSFeatSup', ReprName='EPS Network Feature Support', T=0x64, V='\0'), Type1_TV('AddUpdRes', ReprName='Additional Update Result', T=0xF, V=0), Type4_TLV('T3412ext', ReprName='GPRS Timer 3', T=0x5E, V='\0') ]) self._post_init(with_options, **kwargs)
def __init__(self, with_options=True, **kwargs): Layer3.__init__(self) self.extend([ \ Str('CellID', Pt='\0\0', ReprName='Cell identity', Len=2, \ Repr='hex'), # 44018, 10.5.1.1 Str('LAI', ReprName='Location Area Identity', Pt=LAI(), \ Len=5), # 44018, 10.5.1.3, in L3Mobile_IE.py Str('CellOpt', ReprName='Cell Options (BCCH)', Pt=CellOpt(), \ Len=1), # 44018, 10.5.2.3, in L3GSM_IE.py Bit('NCCPerm', ReprName='NCC Permitted', Pt=255, BitLen=8, \ Repr='bin'), # 44018, 10.5.2.27 StrRR('SI6RestOctets', Len=7, Repr='hex')]) # 44018, 10.5.2.35a #self.len.Pt = 11 # WTF ! RestOctets are 7 and length should be 11 ? # anyway, length is in LAPDm, not directly into L3... self._post_init(with_options, **kwargs)
def __init__(self, with_options=False, with_security=False, **kwargs): Layer3NASEMM.__init__(self, with_security) self.extend([ Bit('NASKSI', ReprName='NAS Key Set Indentifier', Pt=0, BitLen=4, Dict=NASKSI_dict, Repr='hum'), Bit('EPSUpdType', ReprName='EPS Update Type', BitLen=4, Dict=EPSUpdType_dict, Repr='hum'), Type4_LV('GUTI', ReprName='Old GUTI', V=11*'\0'), Type1_TV('NonCurNASKSI', ReprName='Non Current NAS KSI', T=0xB, V=0, Dict=NASKSI_dict), Type1_TV('CKSN', ReprName='GPRS ciphering key sequence number', T=0x8, V=0, Dict=CKSN_dict), Type3_TV('PTMSISign', ReprName='Old P-TMSI signature', T=0x19, V=3*'\0', Len=3), Type4_TLV('GUTI_2', ReprName='Additional GUTI', T=0x50, V=11*'\0'), Type3_TV('NonceUE', T=0x55, V=4*'\0', Len=4), Type4_TLV('UENetCap', ReprName='UE network capability', T=0x58, V='\0\0'), Type3_TV('TAI', ReprName='Last Visited Registered TAI', T=0x52, V=5*'\0', Len=5), Type3_TV('DRX', ReprName='DRX Parameter', T=0x5C, V=2*'\0', Len=2), Type1_TV('UERadCapUpd', ReprName='UE Radio Capability Info Update '\ 'Needed', T=0xA, V=0), Type4_TLV('EPSCtxStat', ReprName='EPS Bearer Context Status', T=0x57, V=2*'\0'), Type4_TLV('MSNetCap', ReprName='MS network capability', T=0x31, V='\0\0'), Type3_TV('LAI', ReprName='Old LAI', T=0x13, V=LAI(), Len=5), Type1_TV('TMSIStat', ReprName='TMSI status', T=0x9, V=0, Dict=TMSIStatus_dict), Type4_TLV('MSCm2', T=0x11, V=MSCm2()), Type4_TLV('MSCm3', T=0x20, V=MSCm3()), Type4_TLV('SuppCodecs', ReprName='Supported codecs list', T=0x40, V='\0\0\0'), Type1_TV('AddUpdType', ReprName='Additional Update Type', T=0xF, V=0), Type4_TLV('VoicePref', ReprName='Voice domain preference', T=0x5D, V='\0'), Type1_TV('GUTIType', ReprName='Old GUTI Type', T=0xE, V=0, Dict=GUTIType_dict), Type1_TV('DevProp', ReprName='Device Properties', T=0xD, V=0), Type1_TV('MSFeatSup', ReprName='MS Net Feature Support', T=0xC, V=0), Type4_TLV('NRIContainer', ReprName='TMSI-based NRI Container', T=0x10, V=2*'\0') ]) self._post_init(with_options, **kwargs)
def __init__(self, with_options=True, **kwargs): Layer3.__init__(self) self.extend([ \ Str('CellID', Pt='\0\0', ReprName='Cell identity', Len=2, \ Repr='hex'), # 44018, 10.5.1.1 Str('LAI', ReprName='Location Area Identity', Pt=LAI(), \ Len=5), # 44018, 10.5.1.3, in L3Mobile_IE.py Str('CChanDesc', ReprName='Control Channel Description', \ Pt=CChanDesc(), Len=3), # 44018, 10.5.2.11, in L3GSM_IE.py Str('CellOpt', ReprName='Cell Options (BCCH)', Pt=CellOpt(), \ Len=1), # 44018, 10.5.2.3, in L3GSM_IE.py Str('CellSel', ReprName='Cell Selection Parameters', \ Pt=CellSel(), Len=2), # 44018, 10.5.2.4 Str('RACHCtrl', ReprName='RACH Control Parameters', Pt=RACHCtrl(),\ Len=3), # 44018, 10.5.2.29 StrRR('SI3RestOctets', Len=4, Repr='hex')]) # 44018, 10.5.2.33a self._post_init(with_options, **kwargs) self.len.Pt = 18 if hasattr(self.CellSel, 'ACS'): self.CellSel.ACS.Dict = ACS_SI3_dict
def __init__(self, with_options=True, **kwargs): Layer3.__init__(self) self.extend([ \ Str('LAI', ReprName='Location Area Identity', Pt=LAI(), Len=5, \ Repr='hex'), # 44018, 10.5.1.3, in L3Mobile_IE.py Str('CellSel', ReprName='Cell Selection Parameters', \ Pt=CellSel(), Len=2), # 44018, 10.5.2.4 Str('RACHCtrl', ReprName='RACH Control Parameters', Pt=RACHCtrl(),\ Len=3), # 44018, 10.5.2.29, in L3GSM_IE.py Type3_TV('ChanDesc', ReprName='CBCH Channel Description', T=0x7C, \ V=ChanDesc(), Len=3), # 44018, 10.5.2.5, in L3GSM_IE.py Type4_TLV('MobAlloc', ReprName='CBCH Mobile Allocation', T=0x72, \ V=MobAlloc()), # 44018, 10.5.2.21, in L3GSM_IE.py StrRR('SI4RestOctets', Repr='hex')]) # 44018, 10.5.2.35 self._post_init(with_options, **kwargs) if hasattr(self.CellSel, 'ACS'): self.CellSel.ACS.Dict = ACS_SI4_dict # L2 pseudo header automation self.len.Pt = self.MobAlloc self.len.PtFunc = lambda m: len(m)+16 self.SI4RestOctets.Len = self.len self.SI4RestOctets.LenFunc = lambda l: 22-l()
def __init__(self, with_options=False, with_security=False, **kwargs): Layer3NASEMM.__init__(self, with_security) self.extend([ Bit('NASKSI', ReprName='NAS Key Set Identifier', Pt=0, BitLen=4, Dict=NASKSI_dict, Repr='hum'), Bit('EPSAttType', ReprName='EPS Attach Type', Pt=1, BitLen=4, Dict=EPSAttType_dict, Repr='hum'), Type4_LV('EPS_ID', ReprName='EPS Mobile Identity', V=4*'\0'), Type4_LV('UENetCap', ReprName='UE Network Capability', V='\0\0'), Type6_LVE('ESMContainer', V=3*'\0'), Type3_TV('PTMSISign', ReprName='Old P-TMSI Signature', T=0x19, V=3*'\0', Len=3), Type4_TLV('GUTI', ReprName='Additional GUTI', T=0x50, V=11*'\0'), Type3_TV('TAI', ReprName='Last Visited TAI', T=0x52, V=5*'\0', Len=5), Type3_TV('DRX', ReprName='DRX Parameter', T=0x5C, V=2*'\0', Len=2), Type4_TLV('MSNetCap', ReprName='MS Network Capability', T=0x31, V='\0\0'), Type3_TV('LAI', ReprName='Old LAI', T=0x13, V=LAI(), Len=5), Type1_TV('TMSIStat', ReprName='TMSI Status', T=0x9, V=0, Dict=TMSIStatus_dict), Type4_TLV('MSCm2', T=0x11, V=MSCm2()), Type4_TLV('MSCm3', T=0x20, V=MSCm3()), Type4_TLV('SuppCodecs', ReprName='Supported Codecs List', T=0x40, V='\0\0\0'), Type1_TV('AddUpdType', ReprName='Additional Update Type', T=0xF, V=0), Type4_TLV('VoicePref', ReprName='Voice Domain Preference', T=0x5D, V='\0'), Type1_TV('DevProp', ReprName='Device Properties', T=0xD, V=0), Type1_TV('GUTIType', ReprName='Old GUTI Type', T=0xE, V=0, Dict=GUTIType_dict), Type1_TV('MSFeatSup', ReprName='MS Net Feature Support', T=0xC, V=0), Type4_TLV('NRIContainer', ReprName='TMSI-based NRI Container', T=0x10, V=2*'\0') ]) self._post_init(with_options, **kwargs)