mobile: few fixes, wrap all capabilities IEs, align Id/PTI naming for (E)PS
This commit is contained in:
parent
cbf80f3f64
commit
5b84e8280f
|
@ -58,7 +58,7 @@ class Layer3(Envelope):
|
|||
if 'sec' in kw:
|
||||
# used within the NAS LTE EMM stack of corenet
|
||||
sec = kw['sec']
|
||||
del kw['nosec']
|
||||
del kw['sec']
|
||||
else:
|
||||
sec = None
|
||||
Envelope.__init__(self, *args, **kw)
|
||||
|
|
|
@ -89,7 +89,7 @@ class GMMAttachRequest(Layer3):
|
|||
Type4LV('MSNetCap', val={'V':b'\0\0'}, IE=MS_network_capability_value_part),
|
||||
Uint('CKSN', bl=4, dic=CKSN_dict),
|
||||
AttachType(),
|
||||
DRXParam(),
|
||||
Type3V('DRXParam', val={'V':b'\0\0'}, bl={'V':16}, IE=DRXParam()),
|
||||
Type4LV('ID', val={'V':b'\xf4\0\0\0\0'}, IE=ID()),
|
||||
RAI('OldRAI'),
|
||||
Type4LV('MSRACap', val={'V':5*b'\0'}, IE=MS_RA_capability_value_part),
|
||||
|
|
|
@ -575,7 +575,7 @@ class ID(Envelope):
|
|||
else:
|
||||
if not hasattr(self, '_IDNone'):
|
||||
self._IDNone = IDNone()
|
||||
log('WNG: ID type unhandled, %i' % type)
|
||||
log('WNG: ID, type unhandled, %i' % type)
|
||||
self._content = self._IDNone._content
|
||||
self._by_id = self._IDNone._by_id
|
||||
self._by_name = self._IDNone._by_name
|
||||
|
|
|
@ -291,7 +291,7 @@ class MMLocationUpdatingRequest(Layer3):
|
|||
Uint('CKSN', bl=4, dic=CKSN_dict),
|
||||
LocUpdateType(),
|
||||
LAI(),
|
||||
MSCm1(),
|
||||
Type3V('MSCm1', val={'V':b'\0'}, bl={'V':8}, IE=MSCm1()),
|
||||
Type4LV('ID', val={'V':b'\xf4\0\0\0\0'}, IE=ID()),
|
||||
Type4TLV('MSCm2', val={'T':0x33, 'V':b'@\0\0'}, IE=MSCm2()),
|
||||
Type1TV('AddUpdateParams', val={'T':0xC, 'V':0}, IE=AddUpdateParams()),
|
||||
|
|
|
@ -88,9 +88,9 @@ _ESM_dict = {
|
|||
|
||||
class ESMHeader(Envelope):
|
||||
_GEN = (
|
||||
Uint('EPSBearerID', bl=4),
|
||||
Uint('EPSBearerId', bl=4),
|
||||
Uint('ProtDisc', val=2, bl=4),
|
||||
Uint8('TransID'),
|
||||
Uint8('PTI'),
|
||||
Uint8('Type', val=232, dic=_ESM_dict)
|
||||
)
|
||||
|
||||
|
@ -130,7 +130,7 @@ class ESMActDediEPSBearerCtxtReject(Layer3):
|
|||
class ESMActDediEPSBearerCtxtRequest(Layer3):
|
||||
_GEN = tuple(ESMHeader(val={'Type':197})._content) + (
|
||||
Uint('spare', bl=4),
|
||||
Uint('LinkedEPSBearerID', bl=4),
|
||||
Uint('LinkedEPSBearerId', bl=4),
|
||||
Type4LV('EPSQoS', val={'V':b'\x09'}, IE=EPSQoS()),
|
||||
Type4LV('TFT', val={'V':b'\0'}, IE=TFT()),
|
||||
Type4TLV('TransId', val={'T':0x5D, 'V':b'\0'}, IE=TransId()),
|
||||
|
@ -222,7 +222,7 @@ class ESMBearerResourceAllocReject(Layer3):
|
|||
class ESMBearerResourceAllocRequest(Layer3):
|
||||
_GEN = tuple(ESMHeader(val={'Type':212})._content) + (
|
||||
Uint('spare', bl=4),
|
||||
Uint('LinkedEPSBearerID', bl=4),
|
||||
Uint('LinkedEPSBearerId', bl=4),
|
||||
Type4LV('TFAggregate', val={'V':b'\0'}, IE=TFAggregate()),
|
||||
Type4LV('EPSQoS', val={'V':b'\x09'}, IE=EPSQoS()),
|
||||
Type4TLV('ProtConfig', val={'T':0x27, 'V':b'\x80'}, IE=ProtConfig()),
|
||||
|
@ -256,7 +256,7 @@ class ESMBearerResourceModifReject(Layer3):
|
|||
class ESMBearerResourceModifRequest(Layer3):
|
||||
_GEN = tuple(ESMHeader(val={'Type':214})._content) + (
|
||||
Uint('spare', bl=4),
|
||||
Uint('LinkedEPSBearerID', bl=4),
|
||||
Uint('LinkedEPSBearerId', bl=4),
|
||||
Type4LV('TFAggregate', val={'V':b'\0'}, IE=TFAggregate()),
|
||||
Type4TLV('EPSQoS', val={'T':0x5B, 'V':b'\x09'}, IE=EPSQoS()),
|
||||
Type3TV('ESMCause', val={'T':0x58, 'V':b'\0'}, bl={'V':8}, IE=ESMCause()),
|
||||
|
@ -455,7 +455,7 @@ class ESMPDNDisconnectReject(Layer3):
|
|||
class ESMPDNDisconnectRequest(Layer3):
|
||||
_GEN = tuple(ESMHeader(val={'Type':210})._content) + (
|
||||
Uint('spare', bl=4),
|
||||
Uint('LinkedEPSBearerID', bl=4),
|
||||
Uint('LinkedEPSBearerId', bl=4),
|
||||
Type4TLV('ProtConfig', val={'T':0x27, 'V':b'\x80'}, IE=ProtConfig()),
|
||||
Type6TLVE('ExtProtConfig', val={'T':0x7B, 'V':b'\0'})
|
||||
)
|
||||
|
|
|
@ -756,7 +756,7 @@ class TAIList(Envelope):
|
|||
.format(self._name, err)))
|
||||
elif isinstance(ptail, dict):
|
||||
try:
|
||||
PTaiL = self._PTailListLUT[ptail['Type']](val=ptail)
|
||||
PTaiL = self._PTaiListLUT[ptail['Type']](val=ptail)
|
||||
except Exception as err:
|
||||
raise(PycrateErr('{0}: unable to set partial TAI list value, {1}'\
|
||||
.format(self._name, err)))
|
||||
|
|
Loading…
Reference in New Issue