Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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
Beispiel #5
0
 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()
Beispiel #6
0
 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)