예제 #1
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([Type4_LV('Facility', V='')])
     if self._initiator != 'Net':
         # MS to network direction
         self.extend([Type4_TLV('SSversion', T=0x7F, V='')])
     self._post_init(with_options, **kwargs)
예제 #2
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_TLV('ProtConfig', ReprName='Protocol Config Options',
                   T=0x27, V='\x80')
         ])
     self._post_init(with_options, **kwargs)
예제 #3
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('Level', Pt=0, BitLen=4, Repr='hum'),
         Bit('spare', Pt=0, BitLen=4),
         Type4_TLV('Cause', T=0x8, V='\0\x80')])
     self._post_init(with_options, **kwargs)
예제 #4
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Int('GMMCause', Pt=1, Type='uint8', Dict=GMMCause_dict),
         Type4_TLV('T3302', T=0x2A, V='\0'),
         ])
     self._post_init(with_options, **kwargs)
예제 #5
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('spare', Pt=0, BitLen=2),
         Bit('SAPI', Pt=0, BitLen=2),
         Bit('SAPI_PD', Pt=6, BitLen=4, Dict=PD_dict, Repr='hum')])
     self._post_init(with_options, **kwargs)
예제 #6
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('ForceStdby', ReprName='Force to standby', Pt=0, BitLen=4,
             Repr='hum', Dict=ForceStdby_dict),
         Bit('AttachResFOP', ReprName='Attach follow-on proceed',
             Pt=0, BitLen=1, Repr='hum', Dict=AttachResFOP_dict),
         Bit('AttachRes', ReprName='Attach result', Pt=1, BitLen=3,
             Repr='hum', Dict=AttachRes_dict),
         Int('GPRSTimer', ReprName='Periodic RA update timer', Pt=0,
             Type='uint8'),
         Bit('RadioPrio_2', ReprName='Radio priority 2', Pt=1, BitLen=4),
         Bit('RadioPrio', ReprName='Radio priority', Pt=1, BitLen=4),
         Str('RAI', ReprName='Routing area identification', Pt=6*'\0',
             Len=6),
         Type3_TV('PTMSISign', ReprName='Old P-TMSI signature', T=0x19,
                  V=3*'\0', Len=3),
         Type3_TV('GPRSTimer_2', ReprName='Negotiated READY timer', T=0x17,
                  V='\0', Len=1),
         Type4_TLV('ID', ReprName='Allocated P-TMSI', T=0x18,
                   V=ID(type='TMSI')),
         Type4_TLV('ID_2', ReprName='MS identity', T=0x23, V=ID()),
         Type3_TV('GMMCause', T=0x25, V='\x01', Len=1), # see GMMCause_dict
         Type4_TLV('T3302', T=0x2A, V='\0'),
         Type2('CellNotif', T=0x8C),
         Type4_TLV('PLMNList', ReprName='Equivalent PLMNs', T=0x4A, 
                   V=PLMNList()),
         Type1_TV('NetFeatSupport', T=0xA, V=0),
         Type4_TLV('T3319', T=0x37, V='\0'),
         Type4_TLV('T3323', T=0x38, V='\0'),
         ])
     self._post_init(with_options, **kwargs)
예제 #7
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Int('Cause', Pt=2, Type='uint8', Dict=Reject_dict),
         Type4_TLV('AUTS', T=0x22, V=16*'\0')])
     self.AUTS.V.Repr = 'hex'
     self._post_init(with_options, **kwargs)
예제 #8
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('Cause', V='\0\x80'),
         Str('CallState', Pt='\0', Len=1, Repr='hex'),
         Type4_TLV('AuxState', T=0x24, V=AuxState())])
     self._post_init(with_options, **kwargs)
예제 #9
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Str('RES', Pt='\0\0\0\0', Len=4, Repr='hex'),
         Type4_TLV('RESext', T=0x21, V='\0\0\0\0')])
     self.RESext.V.Repr = 'hex'
     self._post_init(with_options, **kwargs)
예제 #10
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Int('GMMCause', Pt=1, Type='uint8', Dict=GMMCause_dict),
         Type4_TLV('AUTS', T=0x30, V=14*'\0'),
         ])
     self.AUTS.V.Repr = 'hex'
     self._post_init(with_options, **kwargs)
예제 #11
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('ForceStdby', ReprName='Force to standby', Pt=0, BitLen=4,
             Repr='hum', Dict=ForceStdby_dict),
         Bit('IDtype', Pt=1, BitLen=4, Repr='hum', Dict=IDType_dict)
         ])
     self._post_init(with_options, **kwargs)
예제 #12
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('BearerCap', V=BearerCap()),
         Type4_LV('Cause', V='\0\x80'),
         Type4_TLV('LowLayerComp', T=0x7C, V=''),
         Type4_TLV('HighLayerComp', T=0x7D, V='')])
     self._post_init(with_options, **kwargs)
예제 #13
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Int('SMCause', Pt=111, Type='uint8', Dict=SMCause_dict),
         Type4_TLV('MBMSProtConfig', ReprName='MBMS Protocol Config Options',
                   T=0x35, V='\0')
         ])
     self._post_init(with_options, **kwargs)
예제 #14
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_TLV('PDPCtxStat', ReprName='PDP context status', T=0x32,
                   V='\0\0'),
         Type4_TLV('MBMSCtxStat', ReprName='MBMS context status', T=0x35,
                   V=''),
         ])
     self._post_init(with_options, **kwargs)
예제 #15
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('BearerCap', V=BearerCap()),
         Type4_TLV('LowLayerComp', T=0x7C, V=''),
         Type4_TLV('HighLayerComp', T=0x7D, V=''),
         Type2('Reverse', T=0xA3),
         Type2('UpgradeInd', T=0xA4)])
     self._post_init(with_options, **kwargs)
예제 #16
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('PDPAddr', ReprName='Offered PDP address', V='\0\x01'),
         Type4_TLV('APN', ReprName='Access point name', T=0x28, V='\0'),
         Type4_TLV('ProtConfig', ReprName='Protocol Config Options',
                   T=0x27, V='\x80')
         ])
     self._post_init(with_options, **kwargs)
예제 #17
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_TLV('IRAT_HO', ReprName='Inter-RAT HO info container',
                   T=0x27, V='\0'),
         Type4_TLV('EUTRAN_IRAT_HO', ReprName='EUTRAN Inter-RAT HO info container',
                   T=0x2B, V='\0'),
         ])
     self._post_init(with_options, **kwargs)
예제 #18
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('QoS', ReprName='Requested QoS', V=QoS()),
         Type4_LV('LinkedTI', V='\0'),
         Type4_TLV('TFT', ReprName='Traffic flow template', T=0x36, V='\0'),
         Type4_TLV('ProtConfig', ReprName='Protocol Config Options',
                   T=0x27, V='\x80')
         ])
     self._post_init(with_options, **kwargs)
예제 #19
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('TMGI', ReprName='Temporary mobile group id', V='\0\0\0'),
         Int('LLC_SAPI', ReprName='Negociated LLC service access point id',
             Pt=0, Type='uint8', Dict=LLCSAPI_dict),
         Type4_TLV('MBMSProtConfig', ReprName='MBMS Protocol Config Options',
                   T=0x35, V='\0')
         ])
     self._post_init(with_options, **kwargs)
예제 #20
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_TLV('Facility', T=0x1C, V=''),
         Type4_TLV('ProgressInd', T=0x1E, V='\x80\x80'),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, \
                   V='\0'),
         Type4_TLV('SS', ReprName='Supplementary Service version indicator',\
                   T=0x7F, V='', Trans=True)])
     self._post_init(with_options, **kwargs)
예제 #21
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_TLV('BearerCap', T=0x4, V=BearerCap()),
         Type4_TLV('StreamId', T=0x2D, V='\0'),
         Type4_TLV('SuppCodecs', ReprName='Supported codecs list', \
                   T=0x40, V='\0\0\0'),
         Type4_TLV('EC', ReprName='Emergency Category', \
                   T=0x2E, V='\0')])
     self._post_init(with_options, **kwargs)
예제 #22
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('spare', Pt=0, BitLen=4),
         Bit('CKSN', ReprName='Ciphering Key Sequence Number', \
             Pt=0, BitLen=4, Dict=CKSN_dict, Repr='hum'),
         Str('RAND', Pt=16*'\0', Len=16, Repr='hex'),
         Type4_TLV('AUTN', T=0x20, V=16*'\0')])
     self.AUTN.V.Repr = 'hex'
     self._post_init(with_options, **kwargs)
예제 #23
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     if self._initiator != 'Net':
         # Mobile originating detach procedure
         self.extend([ \
         Bit('spare', Pt=0, BitLen=4, Repr='hex'),
         Bit('ForceStdby', ReprName='Force to standby', Pt=0, BitLen=4,
             Repr='hum', Dict=ForceStdby_dict),
             ])
     self._post_init(with_options, **kwargs)
예제 #24
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('CKSN', ReprName='Ciphering Key Sequence Number', \
             Pt=0, BitLen=4, Dict=CKSN_dict, Repr='hum'),
         Bit('Service', Pt=1, BitLen=4, Dict=CMService_dict, Repr='hum'),
         Type4_LV('MSCm2', V=MSCm2()),
         Type4_LV('ID', V=ID()),
         Type1_TV('Priority', T=0x8, V=0)])
     self._post_init(with_options, **kwargs)
예제 #25
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Int('GMMCause', Pt=1, Type='uint8', Dict=GMMCause_dict),
         Bit('spare', Pt=0, BitLen=4, Repr='hex'),
         Bit('ForceStdby', ReprName='Force to standby', Pt=0, BitLen=4,
             Repr='hum', Dict=ForceStdby_dict),
         Type4_TLV('T3302', T=0x2A, V='\0'),
         ])
     self._post_init(with_options, **kwargs)
예제 #26
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('spare', Pt=0, BitLen=4),
         Bit('CKSN', ReprName='Ciphering Key Sequence Number', \
             Pt=0, BitLen=4, Dict=CKSN_dict, Repr='hum'),
         Type4_LV('MSCm2', V=MSCm2()),
         Type4_LV('ID', V=ID()),
         Type3_TV('LAI', T=0x13, V=LAI(), Len=5)])
     self._post_init(with_options, **kwargs)
예제 #27
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_TLV('Cause', T=0x08, V='\0\x80'),
         Type4_TLV('Facility', T=0x1C, V=''),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, \
                   V='\0')])
     if self._initiator != 'Net':
         # MS to network direction
         self.extend([Type4_TLV('SSversion', T=0x7F, V='')])
     self._post_init(with_options, **kwargs)
예제 #28
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type1_TV('RepeatInd', T=0xD, V=1, Dict=Repeat_dict, \
                  Trans=True),
         Type4_TLV('BearerCap', T=0x4, V=BearerCap()),
         Type4_TLV('BearerCap_2', T=0x4, V=BearerCap(), Trans=True),
         Type4_TLV('Cause', T=0x8, V='\0\x80'),
         Type4_TLV('SuppCodecs', ReprName='Supported codecs list', \
                   T=0x40, V='\0\0\0')])
     self._post_init(with_options, **kwargs)
예제 #29
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Str('LAI', Pt=LAI(), Len=5),
         Type4_TLV('ID', T=0x17, V=ID()),
         Type2('FollowOnProceed', T=0xA1),
         Type2('CTSperm', T=0xA2),
         Type4_TLV('PLMNList', T=0x4A, V=PLMNList()),
         Type4_TLV('ECNList', ReprName='Emergency Number List', T=0x34, \
                   V='\0\0\0')])
     self._post_init(with_options, **kwargs)
예제 #30
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Int('NSAPI', ReprName='Linked network access point id',
             Pt=128, Type='uint8'),
         Type4_LV('PDPAddr', ReprName='Offered multicast address', V='\0\x01'),
         Type4_LV('APN', ReprName='Access point name', V='\0'),
         Type4_TLV('MBMSProtConfig', ReprName='MBMS Protocol Config Options',
                   T=0x35, V='\0') 
         ])
     self._post_init(with_options, **kwargs)
예제 #31
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('IMEISVReq', Pt=0, BitLen=4),
         Bit('CiphAlg', ReprName='Ciphering algorithm', Pt=0, BitLen=4,
             Repr='hum', Dict=CiphAlg_dict),
         Bit('ACRef', ReprName='A&C reference number', Pt=0, BitLen=4,
             Repr='hex'),
         Bit('ForceStdby', ReprName='Force to standby', Pt=0, BitLen=4,
             Repr='hum', Dict=ForceStdby_dict),
         Type3_TV('RAND', T=0x21, V=16*'\0', Len=16),
         Type1_TV('CKSN', T=0x8, V=0, Dict=CKSN_dict),
         Type4_TLV('AUTN', T=0x28, V=16*'\0'),
         ])
     self.RAND.V.Repr = 'hex'
     self.AUTN.V.Repr = 'hex'
     self._post_init(with_options, **kwargs)
예제 #32
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('Cause',V='\0\x80'),
         Type4_TLV('Facility', T=0x1C, V='')])
     if self._initiator == 'Net':
         # network to MS direction
         self.extend([ \
         Type4_TLV('ProgressInd', T=0x1E, V='\x80\x80'),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, \
                   V='\0'),
         Type4_TLV('AA', ReprName='Allowed Actions (CCBS)', \
                   T=0x7B, V='\0')])
     else:
         # MS to network direction
         self.extend([Type4_TLV('SSversion', T=0x7F, V='')])
     self._post_init(with_options, **kwargs)
예제 #33
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('CKSN', ReprName='GPRS ciphering key sequence number',
             Pt=0, BitLen=4, Dict=CKSN_dict),
         Bit('UpdateTypeFOR', ReprName='Update follow-on request pending',
             Pt=0, BitLen=1, Repr='hum', Dict=AttachTypeFOR_dict),
         Bit('UpdateType', Pt=0, BitLen=3, Repr='hum', Dict=UpdateType_dict),
         Str('RAI', ReprName='Old routing area identification', Pt=6*'\0',
             Len=6),
         Type4_LV('MSRACap', ReprName='MS radio access capability',
                  V=5*'\0'),
         Type3_TV('PTMSISign', ReprName='Old P-TMSI signature', T=0x19,
                  V=3*'\0', Len=3),
         Type3_TV('GPRSTimer', ReprName='Request READY timer', T=0x17,
                  V='\0', Len=1),
         Type3_TV('DRXPara', ReprName='DRX parameter', T=0x27,
                  V='\0\0', Len=2),
         Type1_TV('TMSIStat', ReprName='TMSI status', T=0x9, V=0,
                  Dict=TMSIStatus_dict),
         Type4_TLV('ID', T=0x18, V=ID(type='TMSI')),
         Type4_TLV('MSNetCap', ReprName='MS network capability', T=0x31,
                   V='\0\0'),
         Type4_TLV('PDPCtxStat', ReprName='PDP context status', T=0x32,
                   V='\0\0'),
         Type4_TLV('PSLCSCap', ReprName='PS location service capability',
                   T=0x33, V='\0'),
         Type4_TLV('MBMSCtxStat', ReprName='MBMS context status', T=0x35,
                   V=''),
         Type4_TLV('UENetCap', ReprName='UE network capability', T=0x58,
                   V='\0\0'),
         Type4_TLV('ID_2', ReprName='Additional mobile identity', T=0x1A,
                   V=ID()),
         Type4_TLV('RAI_2', ReprName='Additional old routing area identification',
                   T=0x1B, V=6*'\0'),
         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'),
         Type4_TLV('VoicePref', ReprName='Voice domain preference', T=0x5D,
                   V='\0'),
         ])
     self._post_init(with_options, **kwargs)
예제 #34
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     if self._initiator == 'Net':
         # network to MS direction
         self.extend([ \
         Type4_TLV('Facility', T=0x1C, V=''),
         Type4_TLV('ProgressInd', T=0x1E, V='\x80\x80'),
         Type4_TLV('Number', T=0x4C, V='\0'),
         Type4_TLV('Subaddr', T=0x4D, V=''),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, \
                    V='\0')])
     else:
         # MS to network direction
         self.extend([ \
         Type4_TLV('Facility', T=0x1C, V=''),
         Type4_TLV('Subaddr', T=0x4D, V=''),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, \
                   V='\0'),
         Type4_TLV('SSversion', T=0x7F, V=''),
         Type4_TLV('StreamId', T=0x2D, V='\0')])
     self._post_init(with_options, **kwargs)
예제 #35
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     if self._initiator == 'Net':
         # Mobile terminated detach procedure
         self.extend([ \
         Bit('ForceStdby', ReprName='Force to standby', Pt=0, BitLen=4,
             Repr='hum', Dict=ForceStdby_dict),
         Bit('DetachType', Pt=1, BitLen=4, Repr='hum', \
             Dict=DetachTypeNet_dict),
         Type3_TV('GMMCause', T=0x25, V='\x01', Len=1), # see GMMCause_dict
         ])
     else:
         # Mobile originating detach procedure
         self.extend([ \
         Bit('spare', Pt=0, BitLen=4, Repr='hex'),
         Bit('DetachType', Pt=1, BitLen=4, Repr='hum',
             Dict=DetachTypeMS_dict),
         Type4_TLV('ID', T=0x18, V=ID(type='TMSI')),
         Type4_TLV('PTMSISign', ReprName='P-TMSI signature', T=0x19,
                   V='\0\0\0'),
         ])
     self._post_init(with_options, **kwargs)
예제 #36
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('UpdateResFOP', ReprName='Update follow-on proceed',
             Pt=0, BitLen=1, Repr='hum', Dict=AttachResFOP_dict),
         Bit('UpdateRes', ReprName='Update result', Pt=1, BitLen=3,
             Repr='hum', Dict=UpdateRes_dict),
         Bit('ForceStdby', ReprName='Force to standby', Pt=0, BitLen=4,
             Repr='hum', Dict=ForceStdby_dict),
         Int('GPRSTimer', ReprName='Periodic RA update timer', Pt=0,
             Type='uint8'),
         Str('RAI', ReprName='Routing area identification', Pt=6*'\0',
             Len=6),
         Type3_TV('PTMSISign', ReprName='Old P-TMSI signature', T=0x19,
                  V=3*'\0', Len=3),
         Type4_TLV('ID', ReprName='Allocated P-TMSI', T=0x18,
                   V=ID(type='TMSI')),
         Type4_TLV('ID_2', ReprName='MS identity', T=0x23, V=ID()),
         Type4_TLV('RxNPDU', ReprName='Receive N-PDU number list', T=0x26,
                   V='\0\0'),
         Type3_TV('GPRSTimer_2', ReprName='Negotiated READY timer', T=0x17,
                  V='\0', Len=1),
         Type3_TV('GMMCause', T=0x25, V='\x01', Len=1), # see GMMCause_dict
         Type4_TLV('T3302', T=0x2A, V='\0'),
         Type2('CellNotif', T=0x8C),
         Type4_TLV('PLMNList', T=0x4A, V=PLMNList()),
         Type4_TLV('PDPCtxStat', ReprName='PDP context status', T=0x32,
                   V='\0\0'),
         Type1_TV('NetFeatSupport', T=0xB, V=0),
         Type4_TLV('ECNumber', ReprName='Emergency number list', T=0x34,
                   V='\0\0\0'),
         Type4_TLV('MBMSCtxStat', ReprName='MBMS context status', T=0x35,
                   V=''),
         Type1_TV('MSInfo', ReprName='MS info requested', T=0xA, V=0),
         Type4_TLV('T3319', T=0x37, V='\0'),
         Type4_TLV('T3323', T=0x38, V='\0'),
         ])
     self._post_init(with_options, **kwargs)
예제 #37
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ Int('GMMCause', Pt=1, Type='uint8', Dict=GMMCause_dict) ])
     self._post_init(with_options, **kwargs)
예제 #38
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('UU', ReprName='User-User', V='\0'),
         Type2('MoreData', T=0xA0)])
     self._post_init(with_options, **kwargs)
예제 #39
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type1_TV('RepeatInd', T=0xD, V=1, Dict=Repeat_dict, \
                  Trans=True),
         Type4_TLV('BearerCap', T=0x4, V=BearerCap()),
         Type4_TLV('BearerCap_2', T=0x4, V=BearerCap(), Trans=True),
         Type4_TLV('Facility', T=0x1C, V='')])
     if self._initiator == 'Net':
         # network to MS direction
         self.extend([ \
         Type4_TLV('ProgressInd', T=0x1E, V='\x80\x80'),
         Type3_TV('Signal', T=0x34, V='\0', Len=1),
         Type4_TLV('CallingBCD', T=0x5C, V='\0'),
         Type4_TLV('CallingSub', T=0x5D, V=''),
         Type4_TLV('CalledBCD', T=0x5E, V='\0'),
         Type4_TLV('CalledSub', T=0x6D, V=''),
         Type4_TLV('RedirectingBCD', T=0x74, V='\0'),
         Type4_TLV('RedirectingSub', T=0x75, V=''),
         Type1_TV('RepeatInd', T=0xD, V=1, Dict=Repeat_dict, \
                  Trans=True),
         Type4_TLV('LowLayerComp', T=0x7C, V='\0'),
         Type4_TLV('LowLayerComp_2', T=0x7C, V='\0', Trans=True),
         Type1_TV('RepeatInd', T=0xD, V=1, Dict=Repeat_dict, \
                  Trans=True),
         Type4_TLV('HighLayerComp', T=0x7D, V='\0'),
         Type4_TLV('HighLayerComp_2', T=0x7D, V='\0', Trans=True),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, \
                   V='\0'),
         Type1_TV('Priority', T=0x8, V=0),
         Type4_TLV('Alert', T=0x19, V='\0'),
         Type4_TLV('NetCCCap', T=0x2F, V='\0'),
         Type4_TLV('CauseNoCLI', T=0x3A, V='\0'),
         Type4_TLV('BUBearerCap', T=0x41, V='\0')])
     else:
         # MS to network direction
         self.extend([ \
         Type4_TLV('CallingSub', T=0x5D, V=''),
         Type4_TLV('CalledBCD', T=0x5E, V='\0'),
         Type4_TLV('CalledSub', T=0x6D, V=''),
         Type1_TV('RepeatInd', T=0xD, V=1, Dict=Repeat_dict, \
                  Trans=True),
         Type4_TLV('LowLayerComp', T=0x7C, V='\0'),
         Type4_TLV('LowLayerComp_2', T=0x7C, V='\0', Trans=True),
         Type1_TV('RepeatInd', T=0xD, V=1, Dict=Repeat_dict, \
                  Trans=True),
         Type4_TLV('HighLayerComp', T=0x7D, V='\0'),
         Type4_TLV('HighLayerComp_2', T=0x7D, V='\0', Trans=True),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, \
                   V='\0'),
         Type4_TLV('SSversion', T=0x7F, V=''),
         Type2('CLIRSuppr', T=0x8),
         Type2('CLIRInvoc', T=0x19),
         Type4_TLV('CCCap', T=0x15, V=CCCap()),
         Type4_TLV('FacilityAdvanced', T=0x1D, V=''),
         Type4_TLV('FacilityNotEssential', T=0x1B, V=''),
         Type4_TLV('StreamId', T=0x2D, V='\0\0'),
         Type4_TLV('SuppCodecs', ReprName='Supported Codecs List', \
                   T=0x40, V='\0\0\0'),
         Type2('Redial', T=0xA3)])
     self._post_init(with_options, **kwargs)
예제 #40
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Str('Recall', Pt='\0', Len=1, Repr='hex'),
         Type4_LV('Facility', V='\0')])
     self._post_init(with_options, **kwargs)
예제 #41
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ Type4_LV('ID', V=ID()) ])
     self._post_init(with_options, **kwargs)
예제 #42
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('ProgressInd', V='\x80\x80'),
         Type4_TLV('UU', ReprName='User-User', T=0x7E, V='\0')])
     self._post_init(with_options, **kwargs)
예제 #43
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Bit('spare', Pt=0, BitLen=4),
         Bit('IDtype', Pt=1, BitLen=4, Dict=IDType_dict, Repr='hum')])
     self._post_init(with_options, **kwargs)
예제 #44
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Str('LAI', Pt=LAI(), Len=5),
         Type4_LV('ID', V=ID())])
     self._post_init(with_options, **kwargs)
예제 #45
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Str('NotifInd', ReprName='Notify Indication', \
             Pt='\0', Len=1, Repr='hex')])
     self._post_init(with_options, **kwargs)
예제 #46
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([Type3_TV('Keypad', T=0x2C, V='\0', Len=1)])
     self._post_init(with_options, **kwargs)
예제 #47
0
 def __init__(self, **kwargs):
     Layer3.__init__(self)
     self.append( Type4_LV('Data', V='') )
     self._post_init(**kwargs)
예제 #48
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([Type4_LV('Facility', V='\0')])
     self._post_init(with_options, **kwargs)
예제 #49
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Int('Cause', Pt=2, Type='uint8', Dict=Reject_dict)])
     self._post_init(with_options, **kwargs)
예제 #50
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_TLV('Cause', T=0x08, V='\0\x80'),
         Type4_TLV('Facility', T=0x1C, V='')])
     self._post_init(with_options, **kwargs)
예제 #51
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([ \
         Type4_LV('NotifInd', ReprName='SRVCC notification', V='\x01')
         ])
     self._post_init(with_options, **kwargs)
예제 #52
0
 def __init__(self, **kwargs):
     Layer3.__init__(self)
     self.append( Int('CPCause', Pt=17, Type='uint8', Dict=CPCause_dict) )
     self._post_init(**kwargs)
예제 #53
0
 def __init__(self, with_options=True, **kwargs):
     Layer3.__init__(self)
     self.extend([Type4_TLV('CCCap', T=0x15, V=CCCap())])
     self._post_init(with_options, **kwargs)