mobile: some work on GSM RR and CSN.1, regenerated all CSN.1 structures, more work is required on the CSN.1 runtime for setting values and encoding
This commit is contained in:
parent
ab684af6f2
commit
9d7ec211de
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2017. Benoit Michau. ANSSI.
|
||||
# * Copyright 2017. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -50,18 +50,20 @@ class CSN1Obj(Element):
|
|||
int, static number of repetition for the object
|
||||
default is 1, it can be >= 0
|
||||
or -1, for an undefined number of repetitions
|
||||
(x:int, (a:int, b:int) is an alternate possible value in case
|
||||
(x:int, (a:int, b:int)) is an alternate possible value in case
|
||||
the number of repetitions is dynamic and depends on another
|
||||
object, handling is similar to lref
|
||||
In case of undefined number of repetitions, the decoding happens
|
||||
until there is no more buffer to decode, or a fixed value defined in
|
||||
the object is not present anymore in the buffer to decode
|
||||
- lref: (x:int, (a:int, b:int)), enforces the length in bit during
|
||||
the decoding and potentially the encoding
|
||||
x: offset into a field in the parent object (which has to be a list)
|
||||
to get the value from
|
||||
a, b: transform in the form x: a*(x+b) to be applied to the
|
||||
value of the referred object to get the length of self
|
||||
object:
|
||||
x: backward reference to a field into the parent object which
|
||||
has to be a list
|
||||
a, b: transform in the form x: a*(x+b) to be applied to the
|
||||
value of the backward reference to get the length of self
|
||||
- lref: enforces a limitation to the length in bits during the decoding
|
||||
and potentially the encoding, used for lists and alternatives
|
||||
None, no limitation
|
||||
int, static limitation of the number of bits
|
||||
(x:int, (a:int, b:int)) is an alternate possible value in case the
|
||||
limitation of number of bits is dynamic and depends on another
|
||||
object, handling is similar to num
|
||||
|
||||
This class must not be used directly, only CSN1Bit, CSN1List, CSN1Alt,
|
||||
CSN1Val, CSN1Ref, CSN1SelfRef.
|
||||
|
@ -114,6 +116,8 @@ class CSN1Obj(Element):
|
|||
self._num = kw['num']
|
||||
if 'lref' in kw and kw['lref'] is not None:
|
||||
self._lref = kw['lref']
|
||||
if 'val' in kw:
|
||||
self.set_val(kw['val'])
|
||||
# offset for dealing with L / H bits
|
||||
self._off = 0
|
||||
|
||||
|
@ -255,8 +259,12 @@ class CSN1Obj(Element):
|
|||
_root_obj = self
|
||||
#
|
||||
if self._lref is not None:
|
||||
# dynamic shortage of the char buffer
|
||||
lref = self._resolve_ref(self._lref)
|
||||
if isinstance(self._lref, integer_types):
|
||||
# static shortage of the char buffer
|
||||
lref = self._lref
|
||||
else:
|
||||
# dynamic shortage of the char buffer
|
||||
lref = self._resolve_ref(self._lref)
|
||||
char_lb = char._len_bit
|
||||
char._len_bit = char._cur + lref
|
||||
assert( char._len_bit <= char_lb )
|
||||
|
|
|
@ -47,15 +47,20 @@ class CSN1Obj(object):
|
|||
int, static number of repetition for the object
|
||||
default is 1, it can be >= 0
|
||||
or -1, for an undefined number of repetitions
|
||||
(x:int, (a:int, b:int) is an alternate possible value in case
|
||||
(x:int, (a:int, b:int)) is an alternate possible value in case
|
||||
the number of repetitions is dynamic and depends on another
|
||||
object, handling is similar to lref
|
||||
- lref: (x:int, (a:int, b:int)), enforces the length in bit during
|
||||
the decoding and potentially the encoding
|
||||
x: backward reference to a field into the parent object which
|
||||
has to be a list
|
||||
a, b: transform in the form x: a*(x+b) to be applied to the
|
||||
value of the backward reference to get the length of self
|
||||
object:
|
||||
x: backward reference to a field into the parent object which
|
||||
has to be a list
|
||||
a, b: transform in the form x: a*(x+b) to be applied to the
|
||||
value of the backward reference to get the length of self
|
||||
- lref: enforces a limitation to the length in bits during the decoding
|
||||
and potentially the encoding, used for lists and alternatives
|
||||
None, no limitation
|
||||
int, static limitation to the number of bits
|
||||
(x:int, (a:int, b:int)) is an alternate possible value in case the
|
||||
limitation of number of bits is dynamic and depends on another
|
||||
object, handling is similar to num
|
||||
- ref : set of str, list all reference to external CSN.1 objects
|
||||
|
||||
In case the CSN.1 object is a bit-field:
|
||||
|
@ -63,9 +68,9 @@ class CSN1Obj(object):
|
|||
int, static number of bits for the object
|
||||
default is 1, it can be >= 0
|
||||
or -1, for an undefined number of bits
|
||||
(x:int, (a:int, b:int) is an alternate possible value in case
|
||||
(x:int, (a:int, b:int)) is an alternate possible value in case
|
||||
the number of bits is dynamic and depends on another
|
||||
object, handling is similar to lref
|
||||
object, handling is similar to num
|
||||
- excl: None or CSN1Val, list of excluded values
|
||||
|
||||
In case the CSN.1 object is a list of objects:
|
||||
|
@ -1170,7 +1175,14 @@ def build_alt_selector(Obj):
|
|||
if val == 'null':
|
||||
has_null.append( True )
|
||||
else:
|
||||
selec.append( (val, (pythonize_name(alt._name), [])) )
|
||||
# potential alternative
|
||||
if val[-2:] == '**':
|
||||
# take care of repeated value (e.g. 0**)
|
||||
nv = ASN1Val()
|
||||
nv.parse_val(val)
|
||||
selec.append( (val[:-2], (pythonize_name(alt._name), [nv])) )
|
||||
else:
|
||||
selec.append( (val, (pythonize_name(alt._name), [])) )
|
||||
has_null.append( False )
|
||||
else:
|
||||
if alt._val[0] == 'null':
|
||||
|
@ -1178,7 +1190,11 @@ def build_alt_selector(Obj):
|
|||
has_null.append(True)
|
||||
else:
|
||||
# potential alternative
|
||||
selec.append( (alt._val[0], (pythonize_name(alt._name), [])) )
|
||||
if alt._val[0][-2:] == '**':
|
||||
# take care of repeated value (e.g. 0**)
|
||||
selec.append( (alt._val[0][:-2], (pythonize_name(alt._name), [alt])) )
|
||||
else:
|
||||
selec.append( (alt._val[0], (pythonize_name(alt._name), [])) )
|
||||
has_null.append( False )
|
||||
#
|
||||
elif isinstance(alt, CSN1Ref):
|
||||
|
@ -1193,9 +1209,13 @@ def build_alt_selector(Obj):
|
|||
# associate all of them with the rest of the objects' list
|
||||
rest = alt[1:]
|
||||
for val in alt[0]._val:
|
||||
if val[-2:] == '**':
|
||||
raise(CSN1Err('unsupported alternative key, %s' % val))
|
||||
selec.append( (val, (pythonize_name(alt[0]._name), rest)) )
|
||||
has_null.append( False )
|
||||
else:
|
||||
if alt[0]._val[0][-2:] == '**':
|
||||
raise(CSN1Err('unsupported alternative key, %s' % alt[0]._val[0]))
|
||||
selec.append( (alt[0]._val[0], (pythonize_name(alt[0]._name), alt[1:])) )
|
||||
has_null.append( False )
|
||||
elif alt[0]._bit and alt[0]._excl:
|
||||
|
@ -1231,9 +1251,13 @@ def build_alt_selector(Obj):
|
|||
# associate all of them with the rest of the objects' list
|
||||
rest = alt._list[1:]
|
||||
for val in alt._list[0]._val:
|
||||
if val[-2:] == '**':
|
||||
raise(CSN1Err('unsupported alternative key, %s' % val))
|
||||
selec.append( (val, (pythonize_name(alt_name), rest)) )
|
||||
has_null.append( False )
|
||||
else:
|
||||
if alt._list[0]._val[0][-2:] == '**':
|
||||
raise(CSN1Err('unsupported alternative key, %s' % alt._list[0]._val[0]))
|
||||
selec.append( (alt._list[0]._val[0], (pythonize_name(alt_name), alt._list[1:])) )
|
||||
has_null.append( False )
|
||||
elif alt._list[0]._bit and alt._list[0]._excl:
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
< Message Type : bit (4) >
|
||||
< Used DL Coverage Class : bit (2) >
|
||||
{ 0 | 1 < EC Page Extension : bit (4) > }
|
||||
< Acknowledged Access Request 1 : Acknowldeged Access Request struct >
|
||||
< Acknowledged Access Request 1 : Acknowledged Access Request struct >
|
||||
{ 0 | 1 < Acknowledged Access Request 2 : Acknowledged Access Request struct > }
|
||||
{ 0 | 1 < Acknowledged Access Request 3 : Acknowledged Access Request struct > }
|
||||
{ 0 | 1 < Acknowledged Access Request 4 : Acknowledged Access Request struct > }
|
||||
|
|
|
@ -1,86 +0,0 @@
|
|||
-- TS 44.060 - d60
|
||||
-- 11.2.21b Packet System Information Type 3 quater
|
||||
-- PSI3 quater message content
|
||||
|
||||
< PSI3 quater message content > ::=
|
||||
< PAGE_MODE : bit (2) >
|
||||
< PSI3_CHANGE_MARK : bit (2) >
|
||||
< PSI3_QUATER_INDEX : bit (4) >
|
||||
< PSI3_QUATER_COUNT : bit (4) >
|
||||
{ { 0 | 1 < GPRS REP_PRIORITY Description : < GPRS REP PRIORITY Description struct >> }
|
||||
{ 0 | 1 < 3G Neighbour Cells Description : < 3G Neighbour Cells Description struct >> }
|
||||
{ 0 | 1 < 3G MEASUREMENT Parameters Description :
|
||||
< 3G MEASUREMENT PARAMETERS Description struct >> }
|
||||
{ 0 | 1 < 3G Initial Dedicated Mode Reporting Description :
|
||||
< 3G Initial Dedicated Mode Reporting Description struct >> }
|
||||
{ null | 0 bit** = < no string> -- Receiver compatible with earlier release
|
||||
| 1 -- Additions in Release 5:
|
||||
{ 0 | 1 < GPRS 3G Additional Measurement Parameters Description :
|
||||
< GPRS 3G Additional Measurement Parameters Description struct >> }
|
||||
{ 0 | 1 < GPRS 3G Additional Measurement Parameters Description 2:
|
||||
< GPRS 3G Additional Measurement Parameters Description 2 struct >> }
|
||||
{ null | 0 bit** = < no string > --Receiver compatible with earlier release
|
||||
| 1 --Additions in Release 6:
|
||||
< 3G_CCN_ACTIVE : bit >
|
||||
< padding bits > }
|
||||
}
|
||||
} // -- truncation at end of message allowed, bits '0' assumed
|
||||
! < Distribution part error : bit (*) = < no string > > ;
|
||||
|
||||
< GPRS REP PRIORITY Description struct > ::=
|
||||
< Number_Cells : bit(7) >
|
||||
{ < REP_PRIORITY : bit > } * (val(Number_Cells)) ;
|
||||
|
||||
< 3G Neighbour Cells Description struct > ::=
|
||||
{ 0 | 1 < Index_Start_3G : bit (7) > }
|
||||
{ 0 | 1 < Absolute_Index_Start_EMR : bit (7) > }
|
||||
{ 0 | 1 < UTRAN FDD Description : < UTRAN FDD Description struct >> }
|
||||
{ 0 | 1 < UTRAN TDD Description : < UTRAN TDD Description struct >> } ;
|
||||
|
||||
< UTRAN FDD Description struct > ::=
|
||||
{ 0 | 1 < Bandwidth_FDD : bit (3) > }
|
||||
{ 1 < Repeated UTRAN FDD Neighbour Cells : < Repeated UTRAN FDD Neighbour Cells struct >> } ** 0 ;
|
||||
|
||||
< Repeated UTRAN FDD Neighbour Cells struct > ::=
|
||||
0 < FDD-ARFCN : bit (14) > -- The value ‘1’ was used in an earlier
|
||||
-- version of the protocol and shall not be used.
|
||||
< FDD_Indic0 : bit >
|
||||
< NR_OF_FDD_CELLS : bit (5) >
|
||||
< FDD _CELL_INFORMATION Field : bit(p(NR_OF_FDD_CELLS)) > ;
|
||||
|
||||
< UTRAN TDD Description struct > ::=
|
||||
{ 0 | 1 < Bandwidth_TDD : bit (3) > }
|
||||
{ 1 < Repeated UTRAN TDD Neighbour Cells : < Repeated UTRAN TDD Neighbour Cells struct >> } ** 0 ;
|
||||
|
||||
< Repeated UTRAN TDD Neighbour Cells struct > ::=
|
||||
0 < TDD-ARFCN : bit (14) > -- The value ‘1’ was used in an earlier
|
||||
-- version of the protocol and shall not be used.
|
||||
< TDD_Indic0 : bit >
|
||||
< NR_OF_TDD_CELLS : bit (5) >
|
||||
< TDD_CELL_INFORMATION Field : bit(q(NR_OF_TDD_CELLS)) > ;
|
||||
|
||||
< 3G MEASUREMENT PARAMETERS Description struct > ::=
|
||||
< Qsearch_P : bit (4) >
|
||||
{ 1 ! < Ignore : bit = < no string >> } -- this bit shall be ignored by the receiver
|
||||
-- for backward compatibility with earlier releases
|
||||
{ 0 | 1 < FDD_GPRS_Qoffset : bit (4) > -- FDD information
|
||||
< FDD_Qmin : bit (3) > }
|
||||
{ 0 | 1 < TDD_GPRS_Qoffset : bit (4) > } ; -- TDD information
|
||||
|
||||
< 3G Initial Dedicated Mode Reporting Description struct > ::=
|
||||
< 3G_BA_IND : bit >
|
||||
< Qsearch_I : bit (4) >
|
||||
< Qsearch_C_Initial : bit (1) >
|
||||
{ 0 | 1 < FDD_Qoffset : bit (4) > -- FDD information
|
||||
< FDD_REP_QUANT : bit (1) >
|
||||
< FDD_MULTIRAT_REPORTING : bit (2) > }
|
||||
{ 0 | 1 < TDD_Qoffset : bit (4) > -- TDD information
|
||||
< TDD_MULTIRAT_REPORTING : bit (2) > } ;
|
||||
|
||||
< GPRS 3G Additional Measurement Parameters Description struct > ::=
|
||||
< FDD_Qmin_Offset : bit (3) > -- FDD information
|
||||
< FDD_RSCPmin : bit (4) > ;
|
||||
|
||||
< GPRS 3G Additional Measurement Parameters Description 2 struct > ::=
|
||||
{ 0 | 1 < FDD_REPORTING_THRESHOLD_2 : bit (6) > } ; -- FDD information
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/_3g_csg_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/_3g_priority_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -1,287 +0,0 @@
|
|||
|
||||
# -*- coding: UTF-8 -*-
|
||||
#/**
|
||||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
# * License as published by the Free Software Foundation; either
|
||||
# * version 2.1 of the License, or (at your option) any later version.
|
||||
# *
|
||||
# * This library is distributed in the hope that it will be useful,
|
||||
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# * Lesser General Public License for more details.
|
||||
# *
|
||||
# * You should have received a copy of the GNU Lesser General Public
|
||||
# * License along with this library; if not, write to the Free Software
|
||||
# * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
# * MA 02110-1301 USA
|
||||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/_init_.py
|
||||
# * Created : 2018-07-26
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
||||
__version__ = '0.3.0'
|
||||
__all__ = [
|
||||
'_3g_csg_description_ie',
|
||||
'_3g_priority_parameters_ie',
|
||||
'ack_nack_description_ie',
|
||||
'additional_ms_radio_access_capabilities_message_content',
|
||||
'ba_list_pref',
|
||||
'cell_identification_ie',
|
||||
'cell_selection_indicator_after_release_of_all_tch_and_sdcch_value_part',
|
||||
'channel_request_description_2_value_part',
|
||||
'channel_request_description_ie',
|
||||
'classmark_3_value_part',
|
||||
'compact_reduced_ma_ie',
|
||||
'cs_handover_radio_resources_ie',
|
||||
'dlmc_channel_quality_report_ie',
|
||||
'downlink_rlc_mac_control_message',
|
||||
'dtm_handover_command_message_content',
|
||||
'dtm_handover_ps_radio_resources_2_ie',
|
||||
'dtm_handover_ps_radio_resources_3_ie',
|
||||
'dtm_handover_ps_radio_resources_ie',
|
||||
'dtm_information_details_value_part',
|
||||
'dual_carrier_frequency_parameters_ie',
|
||||
'dynamic_allocation_2_ie',
|
||||
'dynamic_allocation_3_ie',
|
||||
'dynamic_arfcn_mapping',
|
||||
'ec_ack_nack_description_ie',
|
||||
'ec_channel_quality_report_ie',
|
||||
'ec_downlink_assignment_message_content',
|
||||
'ec_dummy_message_content',
|
||||
'ec_immediate_assignment_reject_message_content',
|
||||
'ec_immediate_assignment_type_2_message_content',
|
||||
'ec_packet_access_reject_message_content',
|
||||
'ec_packet_channel_description_type_1',
|
||||
'ec_packet_channel_description_type_2',
|
||||
'ec_packet_channel_request_message_content_cc1',
|
||||
'ec_packet_control_acknowledgement_message_content',
|
||||
'ec_packet_downlink_ack_nack_message_content',
|
||||
'ec_packet_downlink_assignment_message_content',
|
||||
'ec_packet_downlink_dummy_control_block_message_content',
|
||||
'ec_packet_polling_request_message_content',
|
||||
'ec_packet_power_control_timing_advance_message_content',
|
||||
'ec_packet_tbf_release_message_content',
|
||||
'ec_packet_timing_advance_ie',
|
||||
'ec_packet_uplink_ack_nack_and_contention_resolution_message_content',
|
||||
'ec_packet_uplink_ack_nack_message_content',
|
||||
'ec_packet_uplink_assignment_message_content',
|
||||
'ec_paging_request_message_content',
|
||||
'ec_primary_ack_nack_description_ie',
|
||||
'ec_request_reference_description',
|
||||
'ec_system_information_type_1',
|
||||
'ec_system_information_type_2',
|
||||
'ec_system_information_type_3',
|
||||
'ec_system_information_type_4',
|
||||
'egprs_ack_nack_description_dlmc_ie',
|
||||
'egprs_ack_nack_description_ie',
|
||||
'egprs_bep_link_quality_measurements_ie',
|
||||
'egprs_bep_link_quality_measurements_type_2_ie',
|
||||
'egprs_channel_quality_report_ie',
|
||||
'egprs_channel_quality_report_type_2_ie',
|
||||
'egprs_level_ie',
|
||||
'egprs_mode_2_ie',
|
||||
'egprs_modulation_and_coding_scheme_ie',
|
||||
'egprs_packet_channel_request_message_content',
|
||||
'egprs_packet_downlink_ack_nack_dlmc_message_content',
|
||||
'egprs_packet_downlink_ack_nack_message_content',
|
||||
'egprs_packet_downlink_ack_nack_type_2_message_content',
|
||||
'egprs_packet_downlink_ack_nack_type_3_message_content',
|
||||
'egprs_timeslot_link_quality_measurements_ie',
|
||||
'egprs_timeslot_link_quality_measurements_type_2_ie',
|
||||
'egprs_window_size_ie',
|
||||
'enhanced_cell_reselection_parameters_ie',
|
||||
'enhanced_measurement_report',
|
||||
'e_utran_csg_description_ie',
|
||||
'e_utran_csg_measurement_report_ie',
|
||||
'e_utran_csg_target_cell_ie',
|
||||
'e_utran_ipp_with_extended_earfcns_ie',
|
||||
'e_utran_nc_with_extended_earfcns_ie',
|
||||
'e_utran_parameters_ie',
|
||||
'e_utran_target_cell_ie',
|
||||
'e_utran_target_cell_with_extended_earfcn_ie',
|
||||
'extension_bits_ie',
|
||||
'flo_ack_nack_description_ie',
|
||||
'frequency_parameters_ie',
|
||||
'global_packet_timing_advance_ie',
|
||||
'global_power_control_parameters_ie',
|
||||
'global_tfi_ie',
|
||||
'gprs_broadcast_information_value_part',
|
||||
'gprs_cell_options_ie',
|
||||
'gprs_mobile_allocation_ie',
|
||||
'gprs_power_control_parameters_ie',
|
||||
'g_rnti_ie',
|
||||
'gsm_priority_parameters_ie',
|
||||
'handover_access_8_bit_message',
|
||||
'ia_rest_octets',
|
||||
'iar_rest_octets',
|
||||
'iax_rest_octets',
|
||||
'individual_priorities_ie',
|
||||
'individual_priorities',
|
||||
'ipa_rest_octets',
|
||||
'iu_mode_channel_request_description_ie',
|
||||
'lsa_parameters_ie',
|
||||
'mbms_assignment_distribution_message_content',
|
||||
'mbms_assignment_non_distribution_message_content',
|
||||
'mbms_channel_parameters_ie',
|
||||
'mbms_downlink_ack_nack_message_content',
|
||||
'mbms_in_band_signalling_indicator_ie',
|
||||
'mbms_ms_id_assignment_message_content',
|
||||
'mbms_neighbouring_cell_information_message_content',
|
||||
'mbms_p_t_m_channel_description_ie',
|
||||
'mbms_p_t_m_channel_description_value_part',
|
||||
'mbms_service_request_message_content',
|
||||
'mbms_session_identity_value_part',
|
||||
'mbms_session_parameters_list_ie',
|
||||
'mbms_session_parameters_list_value_part',
|
||||
'mbms_sessions_list_ie',
|
||||
'measurement_control_parameters_description',
|
||||
'measurement_information',
|
||||
'measurement_results_contents',
|
||||
'mprach_control_parameters_ie',
|
||||
'mprach_description_ie',
|
||||
'mprach_description_value_part',
|
||||
'mprach_packet_channel_request_message_content',
|
||||
'ms_network_capability_value_part',
|
||||
'ms_ra_capability_value_part',
|
||||
'ms_radio_access_capability_2_ie',
|
||||
'multiple_downlink_assignment_2_ie',
|
||||
'multiple_tbf_downlink_assignment_message_content',
|
||||
'multiple_tbf_timeslot_reconfigure_message_content',
|
||||
'multiple_tbf_uplink_assignment_message_content',
|
||||
'multiple_uplink_assignment_2_ie',
|
||||
'nas_container_for_ps_handover_ie',
|
||||
'non_gprs_cell_options_ie',
|
||||
'notification_facch',
|
||||
'ntn_rest_octets',
|
||||
'p1_rest_octets',
|
||||
'p2_rest_octets',
|
||||
'p3_rest_octets',
|
||||
'packet_access_reject_message_content',
|
||||
'packet_application_information_message_content',
|
||||
'packet_cell_change_continue_message_content',
|
||||
'packet_cell_change_failure_message_content',
|
||||
'packet_cell_change_notification_message_content',
|
||||
'packet_cell_change_order_message_content',
|
||||
'packet_channel_description',
|
||||
'packet_channel_request_11_bit_message_content',
|
||||
'packet_control_acknowledgement_message_content',
|
||||
'packet_cs_command_message_content',
|
||||
'packet_cs_release_message_content',
|
||||
'packet_cs_request_message_content',
|
||||
'packet_dbpsch_assignment_message_content',
|
||||
'packet_dbpsch_downlink_ack_nack_message',
|
||||
'packet_dbpsch_downlink_ack_nack_type_2_message',
|
||||
'packet_dbpsch_uplink_ack_nack_message_content',
|
||||
'packet_dbpsch_uplink_ack_nack_type_2_message_content',
|
||||
'packet_downlink_ack_nack_message_content',
|
||||
'packet_downlink_assignment_message_content',
|
||||
'packet_downlink_dummy_control_block_message_content',
|
||||
'packet_enhanced_measurement_report_message_content',
|
||||
'packet_mbms_announcement_message_content',
|
||||
'packet_measurement_order_message_content',
|
||||
'packet_measurement_report_message_content',
|
||||
'packet_mobile_tbf_status_message_content',
|
||||
'packet_neighbour_cell_data_message_content',
|
||||
'packet_paging_request_message_content',
|
||||
'packet_pause_message_content',
|
||||
'packet_pdch_release_message_content',
|
||||
'packet_physical_information_message_content',
|
||||
'packet_polling_request_message_content',
|
||||
'packet_power_control_timing_advance_message_content',
|
||||
'packet_prach_parameters_message_content',
|
||||
'packet_psi_status_message_content',
|
||||
'packet_queueing_notification_message_content',
|
||||
'packet_request_reference_ie',
|
||||
'packet_resource_request_message_content',
|
||||
'packet_serving_cell_data_message_content',
|
||||
'packet_serving_cell_si_message_content',
|
||||
'packet_si_status_message_content',
|
||||
'packet_tbf_release_message_content',
|
||||
'packet_timeslot_reconfigure_message_content',
|
||||
'packet_timing_advance_ie',
|
||||
'packet_uplink_ack_nack_message_content',
|
||||
'packet_uplink_assignment_message_content',
|
||||
'packet_uplink_dummy_control_block_message_content',
|
||||
'padding_bits',
|
||||
'pccch_organization_parameters_ie',
|
||||
'pcid_group_ie',
|
||||
'pdch_pairs_description_ie',
|
||||
'physical_information_message_content',
|
||||
'power_control_parameters_ie',
|
||||
'prach_control_parameters_ie',
|
||||
'psc_group_ie',
|
||||
'ps_handover_access_message_content_8_bit_message',
|
||||
'ps_handover_command_message_content',
|
||||
'ps_handover_radio_resources_2_ie',
|
||||
'ps_handover_radio_resources_3_ie',
|
||||
'ps_handover_radio_resources_ie',
|
||||
'psi13_message_content',
|
||||
'psi14_message_content',
|
||||
'psi15_message_content',
|
||||
'psi16_message_content',
|
||||
'psi1_message_content',
|
||||
'psi2_message_content',
|
||||
'psi3_bis_message_content',
|
||||
'psi3_message_content',
|
||||
'psi3_quater_message_content',
|
||||
'psi3_ter_message_content',
|
||||
'psi5_message_content',
|
||||
'psi6_message_content',
|
||||
'psi8_message_content',
|
||||
'pulse_format_ie',
|
||||
'receive_npdu_number_list_value',
|
||||
'restriction_timer_value_part',
|
||||
'rrc_container_ie',
|
||||
'rr_packet_downlink_assignment_type_2_value_part',
|
||||
'rr_packet_downlink_assignment_value_part',
|
||||
'rr_packet_uplink_assignment_value_part',
|
||||
'si10bis_rest_octets',
|
||||
'si10_rest_octets',
|
||||
'si_13alt_rest_octets',
|
||||
'si_13_rest_octets',
|
||||
'si14_rest_octets',
|
||||
'si15_rest_octets',
|
||||
'si16_rest_octets',
|
||||
'si_18_rest_octets',
|
||||
'si_19_rest_octets',
|
||||
'si1_rest_octets',
|
||||
'si_21_rest_octets',
|
||||
'si_22_rest_octets',
|
||||
'si_23_rest_octets',
|
||||
'si2bis_rest_octets',
|
||||
'si2n_rest_octets',
|
||||
'si2quater_rest_octets',
|
||||
'si2ter_rest_octets',
|
||||
'si3_rest_octet',
|
||||
'si4_rest_octets',
|
||||
'si6_rest_octets',
|
||||
'si9_rest_octets',
|
||||
'single_downlink_assignment_2_ie',
|
||||
'single_uplink_assignment_2_ie',
|
||||
'starting_frame_number_description_ie',
|
||||
'system_information_type_10bis',
|
||||
'system_information_type_10ter',
|
||||
'tlli_g_rnti_ie',
|
||||
'tmgi_ie',
|
||||
'uplink_free',
|
||||
'uplink_rlc_mac_control_message',
|
||||
'used_dl_coverage_class_ie',
|
||||
'utran_csg_measurement_report_ie',
|
||||
'utran_csg_target_cell_ie',
|
||||
'utran_fdd_target_cell_ie',
|
||||
'utran_freq_list',
|
||||
'utran_tdd_target_cell_ie',
|
||||
'vbs_vgcs_reconfigure2',
|
||||
'vbs_vgcs_reconfigure',
|
||||
'vgcs_additional_info',
|
||||
'vgcs_neighbour_cell_information',
|
||||
'vgcs_sms_information']
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ack_nack_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/additional_ms_radio_access_capabilities_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,9 +31,9 @@
|
|||
# top-level object: Additional MS Radio Access Capabilities message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.ms_radio_access_capability_2_ie import ms_radio_access_capability_2_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.ms_radio_access_capability_2_ie import ms_radio_access_capability_2_ie
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ba_list_pref.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/cell_identification_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/cell_selection_indicator_after_release_of_all_tch_and_sdcch_value_part.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -30,6 +30,65 @@
|
|||
# section: 10.5.2.1e Cell selection indicator after release of all TCH and SDCCH IE
|
||||
# top-level object: Cell Selection Indicator after release of all TCH and SDCCH value part
|
||||
|
||||
# table 9.1.54.1a
|
||||
_TransP = {
|
||||
0 : 0,
|
||||
1 : 10,
|
||||
2 : 19,
|
||||
3 : 28,
|
||||
4 : 36,
|
||||
5 : 44,
|
||||
6 : 52,
|
||||
7 : 60,
|
||||
8 : 67,
|
||||
9 : 74,
|
||||
10: 81,
|
||||
11: 88,
|
||||
12: 95,
|
||||
13: 102,
|
||||
14: 109,
|
||||
15: 116,
|
||||
16: 122
|
||||
}
|
||||
|
||||
def trans_p(n):
|
||||
try:
|
||||
return _TransP[n]
|
||||
except:
|
||||
return 0
|
||||
|
||||
# table 9.1.54.1b
|
||||
_TransQ = {
|
||||
0 : 0,
|
||||
1 : 9,
|
||||
2 : 17,
|
||||
3 : 25,
|
||||
4 : 32,
|
||||
5 : 39,
|
||||
6 : 46,
|
||||
7 : 53,
|
||||
8 : 59,
|
||||
9 : 65,
|
||||
10: 71,
|
||||
11: 77,
|
||||
12: 83,
|
||||
13: 89,
|
||||
14: 95,
|
||||
15: 101,
|
||||
16: 106,
|
||||
17: 111,
|
||||
18: 116,
|
||||
19: 121,
|
||||
20: 126
|
||||
}
|
||||
|
||||
def trans_q(n):
|
||||
try:
|
||||
return _TransQ[n]
|
||||
except:
|
||||
return 0
|
||||
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.pcid_group_ie import pcid_group_ie
|
||||
|
||||
|
@ -40,21 +99,6 @@ from pycrate_csn1dir.pcid_group_ie import pcid_group_ie
|
|||
|
||||
from pycrate_csn1.csnobj import *
|
||||
|
||||
e_utran_description_struct = CSN1List(name='e_utran_description_struct', list=[
|
||||
CSN1Bit(name='earfcn', bit=16),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='measurement_bandwidth', bit=3)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Ref(name='not_allowed_cells', obj=pcid_group_ie)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='target_pcid', bit=9)])})])
|
||||
|
||||
gsm_description_struct = CSN1List(name='gsm_description_struct', list=[
|
||||
CSN1Bit(name='band_indicator'),
|
||||
CSN1Bit(name='arfcn', bit=10),
|
||||
|
@ -71,7 +115,23 @@ utran_tdd_description_struct = CSN1List(name='utran_tdd_description_struct', lis
|
|||
'1': ('', [
|
||||
CSN1Bit(name='tdd_indic0'),
|
||||
CSN1Bit(name='nr_of_tdd_cells', bit=5),
|
||||
CSN1Bit(name='tdd_cell_information_field', bit=('# unprocessed: (q(NR_OF_TDD_CELLS))', lambda: 0))])})])
|
||||
#CSN1Bit(name='tdd_cell_information_field', bit=('# unprocessed: (q(NR_OF_TDD_CELLS))', lambda: 0))])})])
|
||||
CSN1Bit(name='tdd_cell_information_field', bit=([2], trans_q))])})])
|
||||
|
||||
e_utran_description_struct = CSN1List(name='e_utran_description_struct', list=[
|
||||
CSN1Bit(name='earfcn', bit=16),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='measurement_bandwidth', bit=3)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Ref(name='not_allowed_cells', obj=pcid_group_ie)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='target_pcid', bit=9)])})])
|
||||
|
||||
utran_fdd_description_struct = CSN1List(name='utran_fdd_description_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
|
@ -84,7 +144,8 @@ utran_fdd_description_struct = CSN1List(name='utran_fdd_description_struct', lis
|
|||
'1': ('', [
|
||||
CSN1Bit(name='fdd_indic0'),
|
||||
CSN1Bit(name='nr_of_fdd_cells', bit=5),
|
||||
CSN1Bit(name='fdd_cell_information_field', bit=('# unprocessed: (p(NR_OF_FDD_CELLS))', lambda: 0))])})])
|
||||
#CSN1Bit(name='fdd_cell_information_field', bit=('# unprocessed: (p(NR_OF_FDD_CELLS))', lambda: 0))])})])
|
||||
CSN1Bit(name='fdd_cell_information_field', bit=([2], trans_p))])})])
|
||||
|
||||
cell_selection_indicator_after_release_of_all_tch_and_sdcch_value_part = CSN1Alt(name='cell_selection_indicator_after_release_of_all_tch_and_sdcch_value_part', alt={
|
||||
'000': ('', [
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/channel_request_description_2_value_part.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/channel_request_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/classmark_3_value_part.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -47,7 +47,19 @@ spare_bits = CSN1Bit(name='spare_bits', num=-1)
|
|||
Spare_bits = spare_bits
|
||||
Spare_Bits = spare_bits
|
||||
|
||||
r_support = CSN1Bit(name='r_support', bit=3)
|
||||
ms_measurement_capability = CSN1List(name='ms_measurement_capability', list=[
|
||||
CSN1Bit(name='sms_value', bit=4),
|
||||
CSN1Bit(name='sm_value', bit=4)])
|
||||
|
||||
ecsd_multi_slot_capability = CSN1Bit(name='ecsd_multi_slot_capability', bit=5)
|
||||
|
||||
hscsd_multi_slot_capability = CSN1Bit(name='hscsd_multi_slot_capability', bit=5)
|
||||
|
||||
a5_bits = CSN1List(name='a5_bits', list=[
|
||||
CSN1Bit(name='a5_7'),
|
||||
CSN1Bit(name='a5_6'),
|
||||
CSN1Bit(name='a5_5'),
|
||||
CSN1Bit(name='a5_4')])
|
||||
|
||||
_8_psk_struct = CSN1List(name='_8_psk_struct', list=[
|
||||
CSN1Bit(name='modulation_capability'),
|
||||
|
@ -60,24 +72,12 @@ _8_psk_struct = CSN1List(name='_8_psk_struct', list=[
|
|||
'1': ('', [
|
||||
CSN1Bit(name='_8_psk_rf_power_capability_2', bit=2)])})])
|
||||
|
||||
ecsd_multi_slot_capability = CSN1Bit(name='ecsd_multi_slot_capability', bit=5)
|
||||
|
||||
a5_bits = CSN1List(name='a5_bits', list=[
|
||||
CSN1Bit(name='a5_7'),
|
||||
CSN1Bit(name='a5_6'),
|
||||
CSN1Bit(name='a5_5'),
|
||||
CSN1Bit(name='a5_4')])
|
||||
|
||||
hscsd_multi_slot_capability = CSN1Bit(name='hscsd_multi_slot_capability', bit=5)
|
||||
|
||||
ms_measurement_capability = CSN1List(name='ms_measurement_capability', list=[
|
||||
CSN1Bit(name='sms_value', bit=4),
|
||||
CSN1Bit(name='sm_value', bit=4)])
|
||||
|
||||
ms_positioning_method_capability = CSN1Bit(name='ms_positioning_method_capability', bit=5)
|
||||
r_support = CSN1Bit(name='r_support', bit=3)
|
||||
|
||||
single_band_support = CSN1Bit(name='single_band_support', bit=4)
|
||||
|
||||
ms_positioning_method_capability = CSN1Bit(name='ms_positioning_method_capability', bit=5)
|
||||
|
||||
classmark_3_value_part = CSN1List(name='classmark_3_value_part', trunc=True, list=[
|
||||
CSN1Ref(obj=spare_bit),
|
||||
CSN1Alt(alt={
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/compact_reduced_ma_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/cs_handover_radio_resources_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dlmc_channel_quality_report_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/downlink_rlc_mac_control_message.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,62 +31,62 @@
|
|||
# top-level object: Downlink RLC/MAC control message
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.multiple_tbf_uplink_assignment_message_content import multiple_tbf_uplink_assignment_message_content
|
||||
from pycrate_csn1dir.packet_uplink_assignment_message_content import packet_uplink_assignment_message_content
|
||||
from pycrate_csn1dir.psi5_message_content import psi5_message_content
|
||||
from pycrate_csn1dir.psi3_ter_message_content import psi3_ter_message_content
|
||||
from pycrate_csn1dir.psi3_quater_message_content import psi3_quater_message_content
|
||||
from pycrate_csn1dir.ec_packet_uplink_ack_nack_message_content import ec_packet_uplink_ack_nack_message_content
|
||||
from pycrate_csn1dir.packet_paging_request_message_content import packet_paging_request_message_content
|
||||
from pycrate_csn1dir.multiple_tbf_timeslot_reconfigure_message_content import multiple_tbf_timeslot_reconfigure_message_content
|
||||
from pycrate_csn1dir.mbms_ms_id_assignment_message_content import mbms_ms_id_assignment_message_content
|
||||
from pycrate_csn1dir.packet_uplink_ack_nack_message_content import packet_uplink_ack_nack_message_content
|
||||
from pycrate_csn1dir.packet_prach_parameters_message_content import packet_prach_parameters_message_content
|
||||
from pycrate_csn1dir.psi2_message_content import psi2_message_content
|
||||
from pycrate_csn1dir.packet_cell_change_order_message_content import packet_cell_change_order_message_content
|
||||
from pycrate_csn1dir.ec_packet_power_control_timing_advance_message_content import ec_packet_power_control_timing_advance_message_content
|
||||
from pycrate_csn1dir.packet_application_information_message_content import packet_application_information_message_content
|
||||
from pycrate_csn1dir.psi1_message_content import psi1_message_content
|
||||
from pycrate_csn1dir.mbms_assignment_distribution_message_content import mbms_assignment_distribution_message_content
|
||||
from pycrate_csn1dir.psi14_message_content import psi14_message_content
|
||||
from pycrate_csn1dir.psi16_message_content import psi16_message_content
|
||||
from pycrate_csn1dir.packet_physical_information_message_content import packet_physical_information_message_content
|
||||
from pycrate_csn1dir.psi13_message_content import psi13_message_content
|
||||
from pycrate_csn1dir.packet_cs_release_message_content import packet_cs_release_message_content
|
||||
from pycrate_csn1dir.packet_neighbour_cell_data_message_content import packet_neighbour_cell_data_message_content
|
||||
from pycrate_csn1dir.ec_packet_polling_request_message_content import ec_packet_polling_request_message_content
|
||||
from pycrate_csn1dir.packet_pdch_release_message_content import packet_pdch_release_message_content
|
||||
from pycrate_csn1dir.ec_packet_access_reject_message_content import ec_packet_access_reject_message_content
|
||||
from pycrate_csn1dir.packet_timeslot_reconfigure_message_content import packet_timeslot_reconfigure_message_content
|
||||
from pycrate_csn1dir.packet_serving_cell_data_message_content import packet_serving_cell_data_message_content
|
||||
from pycrate_csn1dir.packet_downlink_assignment_message_content import packet_downlink_assignment_message_content
|
||||
from pycrate_csn1dir.ec_packet_downlink_dummy_control_block_message_content import ec_packet_downlink_dummy_control_block_message_content
|
||||
from pycrate_csn1dir.multiple_tbf_downlink_assignment_message_content import multiple_tbf_downlink_assignment_message_content
|
||||
from pycrate_csn1dir.packet_power_control_timing_advance_message_content import packet_power_control_timing_advance_message_content
|
||||
from pycrate_csn1dir.packet_cs_command_message_content import packet_cs_command_message_content
|
||||
from pycrate_csn1dir.psi15_message_content import psi15_message_content
|
||||
from pycrate_csn1dir.dtm_handover_command_message_content import dtm_handover_command_message_content
|
||||
from pycrate_csn1dir.ec_packet_uplink_assignment_message_content import ec_packet_uplink_assignment_message_content
|
||||
from pycrate_csn1dir.ec_packet_uplink_ack_nack_and_contention_resolution_message_content import ec_packet_uplink_ack_nack_and_contention_resolution_message_content
|
||||
from pycrate_csn1dir.ps_handover_command_message_content import ps_handover_command_message_content
|
||||
from pycrate_csn1dir.packet_queueing_notification_message_content import packet_queueing_notification_message_content
|
||||
from pycrate_csn1dir.packet_serving_cell_si_message_content import packet_serving_cell_si_message_content
|
||||
from pycrate_csn1dir.packet_downlink_dummy_control_block_message_content import packet_downlink_dummy_control_block_message_content
|
||||
from pycrate_csn1dir.psi3_message_content import psi3_message_content
|
||||
from pycrate_csn1dir.packet_polling_request_message_content import packet_polling_request_message_content
|
||||
from pycrate_csn1dir.packet_tbf_release_message_content import packet_tbf_release_message_content
|
||||
from pycrate_csn1dir.psi3_bis_message_content import psi3_bis_message_content
|
||||
from pycrate_csn1dir.packet_mbms_announcement_message_content import packet_mbms_announcement_message_content
|
||||
from pycrate_csn1dir.mbms_neighbouring_cell_information_message_content import mbms_neighbouring_cell_information_message_content
|
||||
from pycrate_csn1dir.psi6_message_content import psi6_message_content
|
||||
from pycrate_csn1dir.psi3_ter_message_content import psi3_ter_message_content
|
||||
from pycrate_csn1dir.ps_handover_command_message_content import ps_handover_command_message_content
|
||||
from pycrate_csn1dir.ec_packet_power_control_timing_advance_message_content import ec_packet_power_control_timing_advance_message_content
|
||||
from pycrate_csn1dir.packet_queueing_notification_message_content import packet_queueing_notification_message_content
|
||||
from pycrate_csn1dir.ec_packet_access_reject_message_content import ec_packet_access_reject_message_content
|
||||
from pycrate_csn1dir.dtm_handover_command_message_content import dtm_handover_command_message_content
|
||||
from pycrate_csn1dir.packet_cs_command_message_content import packet_cs_command_message_content
|
||||
from pycrate_csn1dir.packet_uplink_ack_nack_message_content import packet_uplink_ack_nack_message_content
|
||||
from pycrate_csn1dir.psi14_message_content import psi14_message_content
|
||||
from pycrate_csn1dir.packet_downlink_assignment_message_content import packet_downlink_assignment_message_content
|
||||
from pycrate_csn1dir.packet_pdch_release_message_content import packet_pdch_release_message_content
|
||||
from pycrate_csn1dir.psi2_message_content import psi2_message_content
|
||||
from pycrate_csn1dir.packet_cs_release_message_content import packet_cs_release_message_content
|
||||
from pycrate_csn1dir.multiple_tbf_timeslot_reconfigure_message_content import multiple_tbf_timeslot_reconfigure_message_content
|
||||
from pycrate_csn1dir.packet_cell_change_order_message_content import packet_cell_change_order_message_content
|
||||
from pycrate_csn1dir.psi8_message_content import psi8_message_content
|
||||
from pycrate_csn1dir.ec_packet_downlink_dummy_control_block_message_content import ec_packet_downlink_dummy_control_block_message_content
|
||||
from pycrate_csn1dir.packet_tbf_release_message_content import packet_tbf_release_message_content
|
||||
from pycrate_csn1dir.ec_packet_uplink_ack_nack_message_content import ec_packet_uplink_ack_nack_message_content
|
||||
from pycrate_csn1dir.multiple_tbf_downlink_assignment_message_content import multiple_tbf_downlink_assignment_message_content
|
||||
from pycrate_csn1dir.mbms_ms_id_assignment_message_content import mbms_ms_id_assignment_message_content
|
||||
from pycrate_csn1dir.packet_access_reject_message_content import packet_access_reject_message_content
|
||||
from pycrate_csn1dir.ec_packet_downlink_assignment_message_content import ec_packet_downlink_assignment_message_content
|
||||
from pycrate_csn1dir.packet_dbpsch_assignment_message_content import packet_dbpsch_assignment_message_content
|
||||
from pycrate_csn1dir.mbms_assignment_non_distribution_message_content import mbms_assignment_non_distribution_message_content
|
||||
from pycrate_csn1dir.ec_packet_tbf_release_message_content import ec_packet_tbf_release_message_content
|
||||
from pycrate_csn1dir.packet_uplink_assignment_message_content import packet_uplink_assignment_message_content
|
||||
from pycrate_csn1dir.ec_packet_uplink_ack_nack_and_contention_resolution_message_content import ec_packet_uplink_ack_nack_and_contention_resolution_message_content
|
||||
from pycrate_csn1dir.packet_cell_change_continue_message_content import packet_cell_change_continue_message_content
|
||||
from pycrate_csn1dir.psi16_message_content import psi16_message_content
|
||||
from pycrate_csn1dir.ec_packet_downlink_assignment_message_content import ec_packet_downlink_assignment_message_content
|
||||
from pycrate_csn1dir.packet_timeslot_reconfigure_message_content import packet_timeslot_reconfigure_message_content
|
||||
from pycrate_csn1dir.packet_measurement_order_message_content import packet_measurement_order_message_content
|
||||
from pycrate_csn1dir.packet_downlink_dummy_control_block_message_content import packet_downlink_dummy_control_block_message_content
|
||||
from pycrate_csn1dir.psi15_message_content import psi15_message_content
|
||||
from pycrate_csn1dir.packet_power_control_timing_advance_message_content import packet_power_control_timing_advance_message_content
|
||||
from pycrate_csn1dir.ec_packet_uplink_assignment_message_content import ec_packet_uplink_assignment_message_content
|
||||
from pycrate_csn1dir.packet_physical_information_message_content import packet_physical_information_message_content
|
||||
from pycrate_csn1dir.packet_serving_cell_si_message_content import packet_serving_cell_si_message_content
|
||||
from pycrate_csn1dir.packet_application_information_message_content import packet_application_information_message_content
|
||||
from pycrate_csn1dir.multiple_tbf_uplink_assignment_message_content import multiple_tbf_uplink_assignment_message_content
|
||||
from pycrate_csn1dir.mbms_neighbouring_cell_information_message_content import mbms_neighbouring_cell_information_message_content
|
||||
from pycrate_csn1dir.packet_serving_cell_data_message_content import packet_serving_cell_data_message_content
|
||||
from pycrate_csn1dir.psi3_quater_message_content import psi3_quater_message_content
|
||||
from pycrate_csn1dir.packet_mbms_announcement_message_content import packet_mbms_announcement_message_content
|
||||
from pycrate_csn1dir.mbms_assignment_non_distribution_message_content import mbms_assignment_non_distribution_message_content
|
||||
from pycrate_csn1dir.packet_dbpsch_assignment_message_content import packet_dbpsch_assignment_message_content
|
||||
from pycrate_csn1dir.psi3_message_content import psi3_message_content
|
||||
from pycrate_csn1dir.psi3_bis_message_content import psi3_bis_message_content
|
||||
from pycrate_csn1dir.packet_prach_parameters_message_content import packet_prach_parameters_message_content
|
||||
from pycrate_csn1dir.ec_packet_polling_request_message_content import ec_packet_polling_request_message_content
|
||||
from pycrate_csn1dir.psi1_message_content import psi1_message_content
|
||||
from pycrate_csn1dir.packet_polling_request_message_content import packet_polling_request_message_content
|
||||
from pycrate_csn1dir.ec_packet_tbf_release_message_content import ec_packet_tbf_release_message_content
|
||||
from pycrate_csn1dir.psi5_message_content import psi5_message_content
|
||||
from pycrate_csn1dir.psi13_message_content import psi13_message_content
|
||||
from pycrate_csn1dir.mbms_assignment_distribution_message_content import mbms_assignment_distribution_message_content
|
||||
from pycrate_csn1dir.packet_paging_request_message_content import packet_paging_request_message_content
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
@ -95,36 +95,12 @@ from pycrate_csn1dir.packet_measurement_order_message_content import packet_meas
|
|||
|
||||
from pycrate_csn1.csnobj import *
|
||||
|
||||
default_downlink_message_content_on_ec_pacch = CSN1List(name='default_downlink_message_content_on_ec_pacch', list=[
|
||||
CSN1Bit(name='used_dl_coverage_class', bit=2),
|
||||
CSN1Bit(bit=-1)])
|
||||
|
||||
psi7_message_content = CSN1Ref(name='psi7_message_content', obj=psi6_message_content)
|
||||
|
||||
default_downlink_message_content = CSN1List(name='default_downlink_message_content', list=[
|
||||
CSN1Bit(name='page_mode', bit=2),
|
||||
CSN1Bit(bit=-1)])
|
||||
|
||||
downlink_rlc_mac_control_message_on_ec_pacch = CSN1Alt(name='downlink_rlc_mac_control_message_on_ec_pacch', alt={
|
||||
'00001': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_downlink_assignment_message_content)]),
|
||||
'00010': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_polling_request_message_content)]),
|
||||
'00011': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_power_control_timing_advance_message_content)]),
|
||||
'00100': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_tbf_release_message_content)]),
|
||||
'00101': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_uplink_ack_nack_message_content)]),
|
||||
'00110': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_uplink_assignment_message_content)]),
|
||||
'00111': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_uplink_ack_nack_and_contention_resolution_message_content)]),
|
||||
'10001': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_access_reject_message_content)]),
|
||||
'10010': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_downlink_dummy_control_block_message_content)])})
|
||||
|
||||
downlink_rlc_mac_control_message = CSN1Alt(name='downlink_rlc_mac_control_message', alt={
|
||||
'000001': ('message_type', [
|
||||
CSN1Ref(obj=packet_cell_change_order_message_content)]),
|
||||
|
@ -223,3 +199,27 @@ downlink_rlc_mac_control_message = CSN1Alt(name='downlink_rlc_mac_control_messag
|
|||
'111110': ('message_type', [
|
||||
CSN1Ref(obj=psi15_message_content)])})
|
||||
|
||||
default_downlink_message_content_on_ec_pacch = CSN1List(name='default_downlink_message_content_on_ec_pacch', list=[
|
||||
CSN1Bit(name='used_dl_coverage_class', bit=2),
|
||||
CSN1Bit(bit=-1)])
|
||||
|
||||
downlink_rlc_mac_control_message_on_ec_pacch = CSN1Alt(name='downlink_rlc_mac_control_message_on_ec_pacch', alt={
|
||||
'00001': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_downlink_assignment_message_content)]),
|
||||
'00010': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_polling_request_message_content)]),
|
||||
'00011': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_power_control_timing_advance_message_content)]),
|
||||
'00100': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_tbf_release_message_content)]),
|
||||
'00101': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_uplink_ack_nack_message_content)]),
|
||||
'00110': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_uplink_assignment_message_content)]),
|
||||
'00111': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_uplink_ack_nack_and_contention_resolution_message_content)]),
|
||||
'10001': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_access_reject_message_content)]),
|
||||
'10010': ('message_type', [
|
||||
CSN1Ref(obj=ec_packet_downlink_dummy_control_block_message_content)])})
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dtm_handover_command_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,14 +31,14 @@
|
|||
# top-level object: DTM Handover Command message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.rrc_container_ie import rrc_container_ie
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.cs_handover_radio_resources_ie import cs_handover_radio_resources_ie
|
||||
from pycrate_csn1dir.rrc_container_ie import rrc_container_ie
|
||||
from pycrate_csn1dir.nas_container_for_ps_handover_ie import nas_container_for_ps_handover_ie
|
||||
from pycrate_csn1dir.dtm_handover_ps_radio_resources_3_ie import dtm_handover_ps_radio_resources_3_ie
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.dtm_handover_ps_radio_resources_2_ie import dtm_handover_ps_radio_resources_2_ie
|
||||
from pycrate_csn1dir.dtm_handover_ps_radio_resources_ie import dtm_handover_ps_radio_resources_ie
|
||||
from pycrate_csn1dir.dtm_handover_ps_radio_resources_3_ie import dtm_handover_ps_radio_resources_3_ie
|
||||
from pycrate_csn1dir.nas_container_for_ps_handover_ie import nas_container_for_ps_handover_ie
|
||||
from pycrate_csn1dir.cs_handover_radio_resources_ie import cs_handover_radio_resources_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dtm_handover_ps_radio_resources_2_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -34,8 +34,8 @@
|
|||
from pycrate_csn1dir.egprs_mode_2_ie import egprs_mode_2_ie
|
||||
from pycrate_csn1dir.egprs_window_size_ie import egprs_window_size_ie
|
||||
from pycrate_csn1dir.cell_identification_ie import cell_identification_ie
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
from pycrate_csn1dir.gprs_power_control_parameters_ie import gprs_power_control_parameters_ie
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dtm_handover_ps_radio_resources_3_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -34,8 +34,8 @@
|
|||
from pycrate_csn1dir.egprs_mode_2_ie import egprs_mode_2_ie
|
||||
from pycrate_csn1dir.egprs_window_size_ie import egprs_window_size_ie
|
||||
from pycrate_csn1dir.cell_identification_ie import cell_identification_ie
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
from pycrate_csn1dir.gprs_power_control_parameters_ie import gprs_power_control_parameters_ie
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dtm_handover_ps_radio_resources_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,10 +31,10 @@
|
|||
# top-level object: DTM Handover PS Radio Resources IE
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.cell_identification_ie import cell_identification_ie
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
from pycrate_csn1dir.egprs_window_size_ie import egprs_window_size_ie
|
||||
from pycrate_csn1dir.cell_identification_ie import cell_identification_ie
|
||||
from pycrate_csn1dir.egprs_modulation_and_coding_scheme_ie import egprs_modulation_and_coding_scheme_ie
|
||||
from pycrate_csn1dir.gprs_power_control_parameters_ie import gprs_power_control_parameters_ie
|
||||
|
||||
|
@ -58,6 +58,10 @@ downlink_tbf_assignment_struct = CSN1List(name='downlink_tbf_assignment_struct',
|
|||
'1': ('', [
|
||||
CSN1Ref(name='egprs_window_size', obj=egprs_window_size_ie)])})])
|
||||
|
||||
downlink_assignment_struct = CSN1List(name='downlink_assignment_struct', list=[
|
||||
CSN1Bit(name='timeslot_allocation', bit=8),
|
||||
CSN1Ref(name='downlink_tbf_assignment', obj=downlink_tbf_assignment_struct)])
|
||||
|
||||
timeslot_description_struct = CSN1Alt(name='timeslot_description_struct', alt={
|
||||
'0': ('', [
|
||||
CSN1Bit(name='ms_timeslot_allocation', bit=8)]),
|
||||
|
@ -130,9 +134,23 @@ uplink_tbf_assignment_struct = CSN1List(name='uplink_tbf_assignment_struct', lis
|
|||
'1': ('', [
|
||||
CSN1Bit(name='usf_allocation', bit=3)])})])})])
|
||||
|
||||
downlink_assignment_struct = CSN1List(name='downlink_assignment_struct', list=[
|
||||
CSN1Bit(name='timeslot_allocation', bit=8),
|
||||
CSN1Ref(name='downlink_tbf_assignment', obj=downlink_tbf_assignment_struct)])
|
||||
gprs_mode_struct = CSN1List(name='gprs_mode_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='channel_coding_command', bit=2)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Ref(name='global_timeslot_description', obj=timeslot_description_struct),
|
||||
CSN1List(num=-1, list=[
|
||||
CSN1Val(name='', val='1'),
|
||||
CSN1Ref(name='uplink_assignment', obj=uplink_tbf_assignment_struct)]),
|
||||
CSN1Val(name='', val='0')])}),
|
||||
CSN1List(num=-1, list=[
|
||||
CSN1Val(name='', val='1'),
|
||||
CSN1Ref(name='downlink_assignment', obj=downlink_assignment_struct)]),
|
||||
CSN1Val(name='', val='0')])
|
||||
|
||||
egprs_mode_struct = CSN1List(name='egprs_mode_struct', list=[
|
||||
CSN1List(list=[
|
||||
|
@ -176,24 +194,6 @@ egprs_mode_struct = CSN1List(name='egprs_mode_struct', list=[
|
|||
CSN1Ref(name='downlink_assignment', obj=downlink_assignment_struct)]),
|
||||
CSN1Val(name='', val='0')])})])
|
||||
|
||||
gprs_mode_struct = CSN1List(name='gprs_mode_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='channel_coding_command', bit=2)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Ref(name='global_timeslot_description', obj=timeslot_description_struct),
|
||||
CSN1List(num=-1, list=[
|
||||
CSN1Val(name='', val='1'),
|
||||
CSN1Ref(name='uplink_assignment', obj=uplink_tbf_assignment_struct)]),
|
||||
CSN1Val(name='', val='0')])}),
|
||||
CSN1List(num=-1, list=[
|
||||
CSN1Val(name='', val='1'),
|
||||
CSN1Ref(name='downlink_assignment', obj=downlink_assignment_struct)]),
|
||||
CSN1Val(name='', val='0')])
|
||||
|
||||
dtm_handover_ps_radio_resources_ie = CSN1List(name='dtm_handover_ps_radio_resources_ie', list=[
|
||||
CSN1Ref(name='cell_identification', obj=cell_identification_ie),
|
||||
CSN1Bit(name='max_lapdm', bit=3),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dtm_information_details_value_part.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dual_carrier_frequency_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -40,7 +40,7 @@ from pycrate_csn1dir.gprs_mobile_allocation_ie import gprs_mobile_allocation_ie
|
|||
|
||||
from pycrate_csn1.csnobj import *
|
||||
|
||||
dual_carrier_direct_encoding_2_struct = CSN1List(name='dual_carrier_direct_encoding_2_struct', list=[
|
||||
dual_carrier_direct_encoding_1_struct = CSN1List(name='dual_carrier_direct_encoding_1_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
|
@ -49,9 +49,7 @@ dual_carrier_direct_encoding_2_struct = CSN1List(name='dual_carrier_direct_encod
|
|||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='maio2', bit=6)])}),
|
||||
CSN1Bit(name='hsn', bit=6),
|
||||
CSN1Bit(name='length_of_ma_frequency_list_contents', bit=4),
|
||||
CSN1Bit(name='ma_frequency_list_contents', bit=8, num=([3], lambda x: x + 3))])
|
||||
CSN1Ref(name='gprs_mobile_allocation', obj=gprs_mobile_allocation_ie)])
|
||||
|
||||
dual_carrier_indirect_encoding_struct = CSN1List(name='dual_carrier_indirect_encoding_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
|
@ -72,7 +70,7 @@ dual_carrier_indirect_encoding_struct = CSN1List(name='dual_carrier_indirect_enc
|
|||
'1': ('', [
|
||||
CSN1Bit(name='change_mark_2', bit=2)])})])})])
|
||||
|
||||
dual_carrier_direct_encoding_1_struct = CSN1List(name='dual_carrier_direct_encoding_1_struct', list=[
|
||||
dual_carrier_direct_encoding_2_struct = CSN1List(name='dual_carrier_direct_encoding_2_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
|
@ -81,7 +79,9 @@ dual_carrier_direct_encoding_1_struct = CSN1List(name='dual_carrier_direct_encod
|
|||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='maio2', bit=6)])}),
|
||||
CSN1Ref(name='gprs_mobile_allocation', obj=gprs_mobile_allocation_ie)])
|
||||
CSN1Bit(name='hsn', bit=6),
|
||||
CSN1Bit(name='length_of_ma_frequency_list_contents', bit=4),
|
||||
CSN1Bit(name='ma_frequency_list_contents', bit=8, num=([3], lambda x: x + 3))])
|
||||
|
||||
dual_carrier_frequency_parameters_ie = CSN1List(name='dual_carrier_frequency_parameters_ie', list=[
|
||||
CSN1Bit(name='tsc', bit=3),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dynamic_allocation_2_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dynamic_allocation_3_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. P1sec.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/dynamic_arfcn_mapping.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_csg_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_csg_measurement_report_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_csg_target_cell_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_ipp_with_extended_earfcns_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_nc_with_extended_earfcns_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -79,13 +79,6 @@ repeated_e_utran_pcid_to_ta_mapping_struct = CSN1List(name='repeated_e_utran_pci
|
|||
CSN1Bit(name='e_utran_frequency_index', bit=3)]),
|
||||
CSN1Val(name='', val='0')])
|
||||
|
||||
repeated_e_utran_not_allowed_cells_struct = CSN1List(name='repeated_e_utran_not_allowed_cells_struct', list=[
|
||||
CSN1Ref(name='not_allowed_cells', obj=pcid_group_ie),
|
||||
CSN1List(num=-1, list=[
|
||||
CSN1Val(name='', val='1'),
|
||||
CSN1Bit(name='e_utran_frequency_index', bit=3)]),
|
||||
CSN1Val(name='', val='0')])
|
||||
|
||||
repeated_e_utran_neighbour_cells_struct = CSN1List(name='repeated_e_utran_neighbour_cells_struct', list=[
|
||||
CSN1List(num=-1, list=[
|
||||
CSN1Val(name='', val='1'),
|
||||
|
@ -109,6 +102,13 @@ repeated_e_utran_neighbour_cells_struct = CSN1List(name='repeated_e_utran_neighb
|
|||
'1': ('', [
|
||||
CSN1Bit(name='e_utran_qrxlevmin', bit=5)])})])
|
||||
|
||||
repeated_e_utran_not_allowed_cells_struct = CSN1List(name='repeated_e_utran_not_allowed_cells_struct', list=[
|
||||
CSN1Ref(name='not_allowed_cells', obj=pcid_group_ie),
|
||||
CSN1List(num=-1, list=[
|
||||
CSN1Val(name='', val='1'),
|
||||
CSN1Bit(name='e_utran_frequency_index', bit=3)]),
|
||||
CSN1Val(name='', val='0')])
|
||||
|
||||
e_utran_parameters_ie = CSN1List(name='e_utran_parameters_ie', list=[
|
||||
CSN1Bit(name='e_utran_ccn_active'),
|
||||
CSN1Alt(alt={
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_target_cell_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/e_utran_target_cell_with_extended_earfcn_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_ack_nack_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_channel_quality_report_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_downlink_assignment_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. P1sec.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_downlink_assignment_message_type_2_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_dummy_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_immediate_assignment_reject_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_immediate_assignment_type_2_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. P1sec.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_immediate_assignment_type_3_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. P1sec.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,13 +22,13 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_immediate_assignment_type_4_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
# specification: TS 44.018 - d80
|
||||
# section: 9.1.66 EC IMMEDIATE ASSIGNMENT TYPE 4
|
||||
# top-level object: EC IMMEDIATE ASSIGNMENT TYPE 4 message content
|
||||
# top-level object: EC IMMEDIATE ASSIGNMENT TYPE 4 message content
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_access_reject_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_channel_description_type_1.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_channel_description_type_2.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_channel_request_message_content_cc1.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -45,13 +45,13 @@ ec_packet_channel_request_message_content_cc3 = CSN1List(name='ec_packet_channel
|
|||
CSN1Bit(name='randombits', bit=3),
|
||||
CSN1Bit(name='selected_dl_coverage_class', bit=3)])
|
||||
|
||||
ec_packet_channel_request_message_content_cc4 = CSN1List(name='ec_packet_channel_request_message_content_cc4', list=[
|
||||
ec_packet_channel_request_message_content_cc1 = CSN1List(name='ec_packet_channel_request_message_content_cc1', list=[
|
||||
CSN1Bit(name='ec_numberofblocks', bit=3),
|
||||
CSN1Bit(name='ec_priority'),
|
||||
CSN1Bit(name='randombits', bit=3),
|
||||
CSN1Bit(name='selected_dl_coverage_class', bit=3)])
|
||||
|
||||
ec_packet_channel_request_message_content_cc1 = CSN1List(name='ec_packet_channel_request_message_content_cc1', list=[
|
||||
ec_packet_channel_request_message_content_cc4 = CSN1List(name='ec_packet_channel_request_message_content_cc4', list=[
|
||||
CSN1Bit(name='ec_numberofblocks', bit=3),
|
||||
CSN1Bit(name='ec_priority'),
|
||||
CSN1Bit(name='randombits', bit=3),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_control_acknowledgement_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_downlink_ack_nack_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,9 +31,9 @@
|
|||
# top-level object: EC Packet Downlink Ack/Nack message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.ec_ack_nack_description_ie import ec_ack_nack_description_ie
|
||||
from pycrate_csn1dir.ec_channel_quality_report_ie import ec_channel_quality_report_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.ec_channel_quality_report_ie import ec_channel_quality_report_ie
|
||||
from pycrate_csn1dir.ec_ack_nack_description_ie import ec_ack_nack_description_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_downlink_assignment_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,9 +31,9 @@
|
|||
# top-level object: EC Packet Downlink Assignment message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.used_dl_coverage_class_ie import used_dl_coverage_class_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_downlink_dummy_control_block_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_polling_request_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,8 +31,8 @@
|
|||
# top-level object: EC Packet Polling Request message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.used_dl_coverage_class_ie import used_dl_coverage_class_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_power_control_timing_advance_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,9 +31,9 @@
|
|||
# top-level object: EC Packet Power Control/Timing Advance message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.used_dl_coverage_class_ie import used_dl_coverage_class_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_tbf_release_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_timing_advance_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_uplink_ack_nack_and_contention_resolution_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,8 +31,8 @@
|
|||
# top-level object: EC Packet Uplink Ack/Nack and Contention Resolution message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.ec_primary_ack_nack_description_ie import ec_primary_ack_nack_description_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.ec_primary_ack_nack_description_ie import ec_primary_ack_nack_description_ie
|
||||
from pycrate_csn1dir.used_dl_coverage_class_ie import used_dl_coverage_class_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_uplink_ack_nack_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,11 +31,11 @@
|
|||
# top-level object: EC Packet Uplink Ack/Nack message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.ec_primary_ack_nack_description_ie import ec_primary_ack_nack_description_ie
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.used_dl_coverage_class_ie import used_dl_coverage_class_ie
|
||||
from pycrate_csn1dir.ec_ack_nack_description_ie import ec_ack_nack_description_ie
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.egprs_modulation_and_coding_scheme_ie import egprs_modulation_and_coding_scheme_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_packet_uplink_assignment_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,10 +31,10 @@
|
|||
# top-level object: EC Packet Uplink Assignment message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.global_tfi_ie import global_tfi_ie
|
||||
from pycrate_csn1dir.egprs_modulation_and_coding_scheme_ie import egprs_modulation_and_coding_scheme_ie
|
||||
from pycrate_csn1dir.ec_packet_timing_advance_ie import ec_packet_timing_advance_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.used_dl_coverage_class_ie import used_dl_coverage_class_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
@ -44,6 +44,11 @@ from pycrate_csn1dir.used_dl_coverage_class_ie import used_dl_coverage_class_ie
|
|||
|
||||
from pycrate_csn1.csnobj import *
|
||||
|
||||
frequency_parameters_struct = CSN1List(name='frequency_parameters_struct', list=[
|
||||
CSN1Bit(name='ec_ma_number', bit=5),
|
||||
CSN1Bit(name='tsc', bit=3),
|
||||
CSN1Bit(name='primary_tsc_set')])
|
||||
|
||||
fixed_uplink_allocation_struct = CSN1List(name='fixed_uplink_allocation_struct', list=[
|
||||
CSN1Bit(name='start_first_ul_rlc_data_block', bit=4),
|
||||
CSN1List(num=-1, list=[
|
||||
|
@ -54,11 +59,6 @@ fixed_uplink_allocation_struct = CSN1List(name='fixed_uplink_allocation_struct',
|
|||
'1': ('', [])})]),
|
||||
CSN1Val(name='', val='0')])
|
||||
|
||||
frequency_parameters_struct = CSN1List(name='frequency_parameters_struct', list=[
|
||||
CSN1Bit(name='ec_ma_number', bit=5),
|
||||
CSN1Bit(name='tsc', bit=3),
|
||||
CSN1Bit(name='primary_tsc_set')])
|
||||
|
||||
ec_packet_uplink_assignment_message_content = CSN1List(name='ec_packet_uplink_assignment_message_content', list=[
|
||||
CSN1Ref(name='used_dl_coverage_class', obj=used_dl_coverage_class_ie),
|
||||
CSN1List(list=[
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. P1sec.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_paging_indication.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_paging_request_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_primary_ack_nack_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_request_reference_description.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_system_information_type_1.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -43,10 +43,6 @@ spare_padding = CSN1Val(name='spare_padding', val='L', num=-1)
|
|||
Spare_padding = spare_padding
|
||||
Spare_Padding = spare_padding
|
||||
|
||||
ec_cell_channel_description_struct = CSN1List(name='ec_cell_channel_description_struct', list=[
|
||||
CSN1Bit(name='numberofoctets', bit=5),
|
||||
CSN1Bit(name='frequency_list_information', bit=([0], lambda x: 8 * (x + 1)))])
|
||||
|
||||
ec_mobile_allocation_struct = CSN1List(name='ec_mobile_allocation_struct', list=[
|
||||
CSN1Bit(name='ec_ma_number', bit=5),
|
||||
CSN1Alt(alt={
|
||||
|
@ -73,6 +69,10 @@ ec_mobile_allocation_list_struct = CSN1List(name='ec_mobile_allocation_list_stru
|
|||
CSN1Ref(obj=ec_mobile_allocation_struct)]),
|
||||
CSN1Val(name='', val='0')])
|
||||
|
||||
ec_cell_channel_description_struct = CSN1List(name='ec_cell_channel_description_struct', list=[
|
||||
CSN1Bit(name='numberofoctets', bit=5),
|
||||
CSN1Bit(name='frequency_list_information', bit=([0], lambda x: 8 * (x + 1)))])
|
||||
|
||||
ec_system_information_type_1 = CSN1List(name='ec_system_information_type_1', list=[
|
||||
CSN1Bit(name='message_type', bit=3),
|
||||
CSN1Bit(name='ec_si_1_index', bit=2),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_system_information_type_2.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -43,24 +43,22 @@ spare_padding = CSN1Val(name='spare_padding', val='L', num=-1)
|
|||
Spare_padding = spare_padding
|
||||
Spare_Padding = spare_padding
|
||||
|
||||
ec_cell_options_struct = CSN1List(name='ec_cell_options_struct', list=[
|
||||
ec_rach_control_parameters_struct = CSN1List(name='ec_rach_control_parameters_struct', list=[
|
||||
CSN1Bit(name='ec_max_retrans', bit=2),
|
||||
CSN1Bit(name='sm', bit=2),
|
||||
CSN1Bit(name='tm', bit=2),
|
||||
CSN1Bit(name='access_timeslots'),
|
||||
CSN1Bit(name='cc_access_adaptation', bit=2),
|
||||
CSN1Bit(name='cell_bar_access'),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='alpha', bit=4)])}),
|
||||
CSN1Bit(name='ec_access_control_class', bit=7),
|
||||
CSN1Bit(name='exception_report_status')])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='t3168', bit=3)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='t3192', bit=3)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='t3226', bit=3)])}),
|
||||
CSN1Bit(name='t3248', bit=2)])
|
||||
CSN1Bit(name='bt_threshold_ul_margin', bit=3)])})])
|
||||
|
||||
coverage_class_selection_parameters_struct = CSN1List(name='coverage_class_selection_parameters_struct', list=[
|
||||
CSN1Bit(name='dl_cc_selection'),
|
||||
|
@ -89,6 +87,35 @@ coverage_class_selection_parameters_struct = CSN1List(name='coverage_class_selec
|
|||
CSN1Bit(name='dl_signal_strength_step_size', bit=2)])}),
|
||||
CSN1Bit(name='ec_reduced_pdch_allocation')])
|
||||
|
||||
short_rach_control_parameters_struct = CSN1List(name='short_rach_control_parameters_struct', list=[
|
||||
CSN1Bit(name='max_retrans', bit=2),
|
||||
CSN1Bit(name='tx_integer', bit=4),
|
||||
CSN1Bit(name='cell_bar_access'),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='access_control_class', bit=16),
|
||||
CSN1Bit(name='exception_report_status')])})])
|
||||
|
||||
ec_cell_options_struct = CSN1List(name='ec_cell_options_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='alpha', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='t3168', bit=3)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='t3192', bit=3)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='t3226', bit=3)])}),
|
||||
CSN1Bit(name='t3248', bit=2)])
|
||||
|
||||
ec_cell_selection_parameters_struct = CSN1List(name='ec_cell_selection_parameters_struct', list=[
|
||||
CSN1Bit(name='location_area_identification', bit=40),
|
||||
CSN1Bit(name='routing_area_code', bit=8),
|
||||
|
@ -105,33 +132,6 @@ ec_cell_selection_parameters_struct = CSN1List(name='ec_cell_selection_parameter
|
|||
'1': ('', [
|
||||
CSN1Bit(name='cell_selection_rla_margin', bit=3)])})])
|
||||
|
||||
short_rach_control_parameters_struct = CSN1List(name='short_rach_control_parameters_struct', list=[
|
||||
CSN1Bit(name='max_retrans', bit=2),
|
||||
CSN1Bit(name='tx_integer', bit=4),
|
||||
CSN1Bit(name='cell_bar_access'),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='access_control_class', bit=16),
|
||||
CSN1Bit(name='exception_report_status')])})])
|
||||
|
||||
ec_rach_control_parameters_struct = CSN1List(name='ec_rach_control_parameters_struct', list=[
|
||||
CSN1Bit(name='ec_max_retrans', bit=2),
|
||||
CSN1Bit(name='sm', bit=2),
|
||||
CSN1Bit(name='tm', bit=2),
|
||||
CSN1Bit(name='access_timeslots'),
|
||||
CSN1Bit(name='cc_access_adaptation', bit=2),
|
||||
CSN1Bit(name='cell_bar_access'),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='ec_access_control_class', bit=7),
|
||||
CSN1Bit(name='exception_report_status')])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='bt_threshold_ul_margin', bit=3)])})])
|
||||
|
||||
ec_system_information_type_2 = CSN1List(name='ec_system_information_type_2', list=[
|
||||
CSN1Bit(name='message_type', bit=3),
|
||||
CSN1Bit(name='ec_si_2_index', bit=2),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_system_information_type_3.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -43,19 +43,6 @@ spare_padding = CSN1Val(name='spare_padding', val='L', num=-1)
|
|||
Spare_padding = spare_padding
|
||||
Spare_Padding = spare_padding
|
||||
|
||||
ec_cell_reselection_parameters_struct = CSN1List(name='ec_cell_reselection_parameters_struct', list=[
|
||||
CSN1Bit(name='cell_reselect_hysteresis', bit=3),
|
||||
CSN1Bit(name='cell_reselect_offset', bit=6),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='c1_delta_min', bit=2),
|
||||
CSN1Bit(name='c1_delta_max', bit=3)])})])
|
||||
|
||||
ec_neighbour_cell_description_struct = CSN1List(name='ec_neighbour_cell_description_struct', list=[
|
||||
CSN1Bit(name='numberofoctets', bit=5),
|
||||
CSN1Bit(name='neighbour_frequency_list_information', bit=([0], lambda x: 8 * (x + 1)))])
|
||||
|
||||
ec_neighbour_cell_reselection_parameters_struct = CSN1List(name='ec_neighbour_cell_reselection_parameters_struct', list=[
|
||||
CSN1Bit(name='nb_ncell', bit=5),
|
||||
CSN1List(num=([0], lambda x: x + 1), list=[
|
||||
|
@ -86,6 +73,19 @@ ec_neighbour_cell_reselection_parameters_struct = CSN1List(name='ec_neighbour_ce
|
|||
'1': ('', [
|
||||
CSN1Bit(name='cell_reselect_offset', bit=6)])})])})])])
|
||||
|
||||
ec_cell_reselection_parameters_struct = CSN1List(name='ec_cell_reselection_parameters_struct', list=[
|
||||
CSN1Bit(name='cell_reselect_hysteresis', bit=3),
|
||||
CSN1Bit(name='cell_reselect_offset', bit=6),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='c1_delta_min', bit=2),
|
||||
CSN1Bit(name='c1_delta_max', bit=3)])})])
|
||||
|
||||
ec_neighbour_cell_description_struct = CSN1List(name='ec_neighbour_cell_description_struct', list=[
|
||||
CSN1Bit(name='numberofoctets', bit=5),
|
||||
CSN1Bit(name='neighbour_frequency_list_information', bit=([0], lambda x: 8 * (x + 1)))])
|
||||
|
||||
ec_system_information_type_3 = CSN1List(name='ec_system_information_type_3', list=[
|
||||
CSN1Bit(name='message_type', bit=3),
|
||||
CSN1Bit(name='ec_si_3_index', bit=2),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/ec_system_information_type_4.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_ack_nack_description_dlmc_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_ack_nack_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_bep_link_quality_measurements_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_bep_link_quality_measurements_type_2_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_channel_quality_report_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,8 +31,8 @@
|
|||
# top-level object: EGPRS Channel Quality Report IE
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.egprs_bep_link_quality_measurements_ie import egprs_bep_link_quality_measurements_ie
|
||||
from pycrate_csn1dir.egprs_timeslot_link_quality_measurements_ie import egprs_timeslot_link_quality_measurements_ie
|
||||
from pycrate_csn1dir.egprs_bep_link_quality_measurements_ie import egprs_bep_link_quality_measurements_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_channel_quality_report_type_2_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,8 +31,8 @@
|
|||
# top-level object: EGPRS Channel Quality Report Type 2 IE
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.egprs_timeslot_link_quality_measurements_type_2_ie import egprs_timeslot_link_quality_measurements_type_2_ie
|
||||
from pycrate_csn1dir.egprs_bep_link_quality_measurements_type_2_ie import egprs_bep_link_quality_measurements_type_2_ie
|
||||
from pycrate_csn1dir.egprs_timeslot_link_quality_measurements_type_2_ie import egprs_timeslot_link_quality_measurements_type_2_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_level_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_mode_2_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -32,9 +32,9 @@
|
|||
|
||||
# external references
|
||||
from pycrate_csn1dir.single_downlink_assignment_2_ie import single_downlink_assignment_2_ie
|
||||
from pycrate_csn1dir.multiple_downlink_assignment_2_ie import multiple_downlink_assignment_2_ie
|
||||
from pycrate_csn1dir.multiple_uplink_assignment_2_ie import multiple_uplink_assignment_2_ie
|
||||
from pycrate_csn1dir.single_uplink_assignment_2_ie import single_uplink_assignment_2_ie
|
||||
from pycrate_csn1dir.multiple_downlink_assignment_2_ie import multiple_downlink_assignment_2_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_modulation_and_coding_scheme_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_packet_channel_request_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_packet_downlink_ack_nack_dlmc_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,10 +31,10 @@
|
|||
# top-level object: EGPRS Packet Downlink Ack/Nack DLMC message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.channel_request_description_ie import channel_request_description_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.egprs_ack_nack_description_dlmc_ie import egprs_ack_nack_description_dlmc_ie
|
||||
from pycrate_csn1dir.dlmc_channel_quality_report_ie import dlmc_channel_quality_report_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.channel_request_description_ie import channel_request_description_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_packet_downlink_ack_nack_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,11 +31,11 @@
|
|||
# top-level object: EGPRS Packet Downlink Ack/Nack message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.egprs_ack_nack_description_ie import egprs_ack_nack_description_ie
|
||||
from pycrate_csn1dir.channel_request_description_ie import channel_request_description_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.egprs_ack_nack_description_ie import egprs_ack_nack_description_ie
|
||||
from pycrate_csn1dir.iu_mode_channel_request_description_ie import extended_channel_request_description_ie
|
||||
from pycrate_csn1dir.egprs_channel_quality_report_ie import egprs_channel_quality_report_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.iu_mode_channel_request_description_ie import iu_mode_channel_request_description_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_packet_downlink_ack_nack_type_2_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,10 +31,10 @@
|
|||
# top-level object: EGPRS Packet Downlink Ack/Nack Type 2 message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.iu_mode_channel_request_description_ie import extended_channel_request_description_ie
|
||||
from pycrate_csn1dir.channel_request_description_ie import channel_request_description_ie
|
||||
from pycrate_csn1dir.egprs_ack_nack_description_ie import egprs_ack_nack_description_ie
|
||||
from pycrate_csn1dir.iu_mode_channel_request_description_ie import extended_channel_request_description_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.egprs_channel_quality_report_type_2_ie import egprs_channel_quality_report_type_2_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_packet_downlink_ack_nack_type_3_message_content.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,10 +31,10 @@
|
|||
# top-level object: EGPRS Packet Downlink Ack/Nack Type 3 message content
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.egprs_ack_nack_description_ie import egprs_ack_nack_description_ie
|
||||
from pycrate_csn1dir.extension_bits_ie import extension_bits_ie
|
||||
from pycrate_csn1dir.egprs_channel_quality_report_type_2_ie import egprs_channel_quality_report_type_2_ie
|
||||
from pycrate_csn1dir.padding_bits import padding_bits
|
||||
from pycrate_csn1dir.extension_bits_ie import extension_bits_ie
|
||||
from pycrate_csn1dir.egprs_ack_nack_description_ie import egprs_ack_nack_description_ie
|
||||
from pycrate_csn1dir.egprs_channel_quality_report_type_2_ie import egprs_channel_quality_report_type_2_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_timeslot_link_quality_measurements_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_timeslot_link_quality_measurements_type_2_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -39,6 +39,40 @@
|
|||
|
||||
from pycrate_csn1.csnobj import *
|
||||
|
||||
interference_measurement_report_struct = CSN1List(name='interference_measurement_report_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn0', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn1', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn2', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn3', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn4', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn5', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn6', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn7', bit=4)])})])
|
||||
|
||||
bep_measurement_report_struct = CSN1List(name='bep_measurement_report_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
|
@ -81,40 +115,6 @@ bep_measurement_report_struct = CSN1List(name='bep_measurement_report_struct', l
|
|||
CSN1Bit(name='reported_modulation', bit=2),
|
||||
CSN1Bit(name='mean_bep_tn7', bit=4)])})])
|
||||
|
||||
interference_measurement_report_struct = CSN1List(name='interference_measurement_report_struct', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn0', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn1', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn2', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn3', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn4', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn5', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn6', bit=4)])}),
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
'1': ('', [
|
||||
CSN1Bit(name='i_level_tn7', bit=4)])})])
|
||||
|
||||
egprs_timeslot_link_quality_measurements_type_2_ie = CSN1List(name='egprs_timeslot_link_quality_measurements_type_2_ie', list=[
|
||||
CSN1Alt(alt={
|
||||
'0': ('', []),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/egprs_window_size_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/enhanced_cell_reselection_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/enhanced_measurement_report.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -44,6 +44,13 @@ spare_padding = CSN1Val(name='spare_padding', val='L', num=-1)
|
|||
Spare_padding = spare_padding
|
||||
Spare_Padding = spare_padding
|
||||
|
||||
eutran_measurement_report_struct = CSN1List(name='eutran_measurement_report_struct', list=[
|
||||
CSN1Bit(name='n_eutran', bit=2),
|
||||
CSN1List(num=([0], lambda x: x + 1), list=[
|
||||
CSN1Bit(name='eutran_frequency_index', bit=3),
|
||||
CSN1Bit(name='cell_identity', bit=9),
|
||||
CSN1Bit(name='reporting_quantity', bit=6)])])
|
||||
|
||||
repeated_invalid_bsic_information_struct = CSN1List(name='repeated_invalid_bsic_information_struct', list=[
|
||||
CSN1Bit(name='bcch_freq_ncell', bit=5),
|
||||
CSN1Bit(name='bsic', bit=6),
|
||||
|
@ -57,13 +64,6 @@ serving_cell_data_struct = CSN1List(name='serving_cell_data_struct', list=[
|
|||
CSN1Bit(name='cv_bep', bit=3),
|
||||
CSN1Bit(name='nbr_rcvd_blocks', bit=5)])
|
||||
|
||||
eutran_measurement_report_struct = CSN1List(name='eutran_measurement_report_struct', list=[
|
||||
CSN1Bit(name='n_eutran', bit=2),
|
||||
CSN1List(num=([0], lambda x: x + 1), list=[
|
||||
CSN1Bit(name='eutran_frequency_index', bit=3),
|
||||
CSN1Bit(name='cell_identity', bit=9),
|
||||
CSN1Bit(name='reporting_quantity', bit=6)])])
|
||||
|
||||
enhanced_measurement_report = CSN1List(name='enhanced_measurement_report', list=[
|
||||
CSN1Bit(name='rr_short_pd'),
|
||||
CSN1Bit(name='message_type', bit=5),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/extension_bits_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/flo_ack_nack_description_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/frequency_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/g_rnti_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -1,18 +1,32 @@
|
|||
> 44060/multiple_tbf_timeslot_reconfigure_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
### Warnings
|
||||
|
||||
> 44060/packet_cs_release_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
> 44018/si2quater_rest_octets.csn
|
||||
WARN: unable to process arithmetic expression, (p(NR_OF_FDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
WARN: unable to process arithmetic expression, (q(NR_OF_TDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
# handled below
|
||||
|
||||
> 44018/cell_selection_indicator_after_release_of_all_tch_and_sdcch_value_part.csn
|
||||
WARN: unable to process arithmetic expression, (p(NR_OF_FDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (q(NR_OF_TDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
# handled below
|
||||
|
||||
> 44018/measurement_information.csn
|
||||
WARN: unable to process arithmetic expression, (p(NR_OF_FDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (q(NR_OF_TDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
# handled below
|
||||
|
||||
> 44060/psi3_bis_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (1+max(val(CELL_PARAMS_POINTER)))
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (1+max(val(CELL_PARAMS_POINTER)))
|
||||
do it by hand within the Python file generated
|
||||
# handled below
|
||||
|
||||
> 44060/multiple_uplink_assignment_2_ie.csn
|
||||
WARN: unable to resolve reference, N_PAIRS
|
||||
|
@ -21,6 +35,7 @@ WARN: unable to resolve reference, N_PAIRS
|
|||
do it by hand within the Python file generated
|
||||
WARN: unable to resolve reference, N_PAIRS
|
||||
do it by hand within the Python file generated
|
||||
# unhandled
|
||||
|
||||
> 44060/multiple_tbf_uplink_assignment_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
|
@ -31,26 +46,69 @@ WARN: unable to process arithmetic expression, (N)
|
|||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
# unhandled
|
||||
|
||||
> 44060/ps_handover_radio_resources_ie.csn
|
||||
> 44060/packet_measurement_order_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (p(NR_OF_FDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (q(NR_OF_TDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
# handled below
|
||||
|
||||
> 44060/packet_cs_release_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
# unhandled
|
||||
|
||||
> 44060/packet_cell_change_order_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (p(NR_OF_FDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (q(NR_OF_TDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
# handled below
|
||||
|
||||
> 44060/psi3_quater_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (p(NR_OF_FDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (q(NR_OF_TDD_CELLS))
|
||||
do it by hand within the Python file generated
|
||||
# handled below
|
||||
|
||||
> 44060/multiple_tbf_timeslot_reconfigure_message_content.csn
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
# unhandled
|
||||
|
||||
> 44060/dtm_handover_ps_radio_resources_ie.csn
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
# unhandled
|
||||
|
||||
> 44060/ps_handover_radio_resources_ie.csn
|
||||
WARN: unable to process arithmetic expression, (N)
|
||||
do it by hand within the Python file generated
|
||||
WARN: unable to process arithmetic expression, (M-1)
|
||||
do it by hand within the Python file generated
|
||||
# unhandled
|
||||
|
||||
|
||||
# manual patching required
|
||||
|
||||
# 24.008
|
||||
# ms_ra_capability_value_part.py
|
||||
### Manual patching required
|
||||
|
||||
# manual edit
|
||||
## 24.008
|
||||
## ms_ra_capability_value_part.py
|
||||
|
||||
# create a dict:
|
||||
_AccessTechnoType_dict = {
|
||||
0 : 'GSM P',
|
||||
1 : 'GSM E --note that GSM E covers GSM P',
|
||||
|
@ -67,14 +125,18 @@ _AccessTechnoType_dict = {
|
|||
12 : 'GSM 710',
|
||||
13 : 'GSM T 810',
|
||||
}
|
||||
# ref it with a kdic=_AccessTechnoType_dict
|
||||
# within the object ms_ra_capability_value_part_struct
|
||||
|
||||
|
||||
# 44.018
|
||||
# cell_selection_indicator_after_release_of_all_tch_and_sdcch_value_part.py
|
||||
# measurement_information.py
|
||||
# si2quater_rest_octets.py
|
||||
## 44.018
|
||||
## cell_selection_indicator_after_release_of_all_tch_and_sdcch_value_part.py
|
||||
## measurement_information.py
|
||||
## si2quater_rest_octets.py
|
||||
|
||||
# add the following function definitions
|
||||
# and patch all objects having such crappy references: ('# unprocessed: ...', lambda: 0)
|
||||
|
||||
# manual edit
|
||||
# table 9.1.54.1a
|
||||
_TransP = {
|
||||
0 : 0,
|
||||
|
@ -133,11 +195,21 @@ def trans_q(n):
|
|||
except:
|
||||
return 0
|
||||
|
||||
# 44.060
|
||||
# psi3_bis_message_content.py
|
||||
|
||||
## 44.060
|
||||
## psi3_bis_message_content.py
|
||||
|
||||
# add the following function definitions
|
||||
# and patch all objects having such crappy references: ('# unprocessed: ...', lambda: 0)
|
||||
|
||||
def max_cell_params(cpp):
|
||||
# cpp is a list of list of (1, ref, val)
|
||||
# cpp is a list of list of fmt [1, ref, 2-bit-val]
|
||||
#
|
||||
# CSN1List(num=-1, list=[
|
||||
# CSN1Val(name='', val='1'),
|
||||
# CSN1Ref(obj=ncp2_repeat_struct),
|
||||
# CSN1Bit(name='cell_params_pointer', bit=2)])
|
||||
#
|
||||
if cpp:
|
||||
try:
|
||||
if isinstance(cpp[0][2], integer_types):
|
||||
|
@ -148,67 +220,14 @@ def max_cell_params(cpp):
|
|||
pass
|
||||
return 0
|
||||
|
||||
# 44.060
|
||||
# packet_cell_change_order_message_content.py
|
||||
# packet_measurement_order_message_content.py
|
||||
# psi3_quater_message_content.py
|
||||
|
||||
# manual edit
|
||||
# table 11.2.9b.2.a
|
||||
_TransP = {
|
||||
0 : 0,
|
||||
1 : 10,
|
||||
2 : 19,
|
||||
3 : 28,
|
||||
4 : 36,
|
||||
5 : 44,
|
||||
6 : 52,
|
||||
7 : 60,
|
||||
8 : 67,
|
||||
9 : 74,
|
||||
10: 81,
|
||||
11: 88,
|
||||
12: 95,
|
||||
13: 102,
|
||||
14: 109,
|
||||
15: 116,
|
||||
16: 122
|
||||
}
|
||||
## 44.060
|
||||
## packet_cell_change_order_message_content.py
|
||||
## packet_measurement_order_message_content.py
|
||||
## psi3_quater_message_content.py
|
||||
|
||||
def trans_p(n):
|
||||
try:
|
||||
return _TransP[n]
|
||||
except:
|
||||
return 0
|
||||
# add the following function definitions
|
||||
# and patch all objects having such crappy references: ('# unprocessed: ...', lambda: 0)
|
||||
|
||||
# table 11.2.9b.2.b
|
||||
_TransQ = {
|
||||
0 : 0,
|
||||
1 : 9,
|
||||
2 : 17,
|
||||
3 : 25,
|
||||
4 : 32,
|
||||
5 : 39,
|
||||
6 : 46,
|
||||
7 : 53,
|
||||
8 : 59,
|
||||
9 : 65,
|
||||
10: 71,
|
||||
11: 77,
|
||||
12: 83,
|
||||
13: 89,
|
||||
14: 95,
|
||||
15: 101,
|
||||
16: 106,
|
||||
17: 111,
|
||||
18: 116,
|
||||
19: 121,
|
||||
20: 126
|
||||
}
|
||||
|
||||
def trans_q(n):
|
||||
try:
|
||||
return _TransQ[n]
|
||||
except:
|
||||
return 0
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/global_packet_timing_advance_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/global_power_control_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/global_tfi_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/gprs_broadcast_information_value_part.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
@ -31,8 +31,8 @@
|
|||
# top-level object: GPRS broadcast information value part
|
||||
|
||||
# external references
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
from pycrate_csn1dir.gprs_power_control_parameters_ie import gprs_power_control_parameters_ie
|
||||
from pycrate_csn1dir.gprs_cell_options_ie import gprs_cell_options_ie
|
||||
|
||||
# code automatically generated by pycrate_csn1
|
||||
# change object type with type=CSN1T_BSTR (default type is CSN1T_UINT) in init
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/gprs_cell_options_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/gprs_mobile_allocation_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/gprs_power_control_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# * Software Name : pycrate
|
||||
# * Version : 0.3
|
||||
# *
|
||||
# * Copyright 2018. Benoit Michau. ANSSI.
|
||||
# * Copyright 2018. Benoit Michau. ANSSI. P1sec.
|
||||
# *
|
||||
# * This library is free software; you can redistribute it and/or
|
||||
# * modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -22,7 +22,7 @@
|
|||
# *
|
||||
# *--------------------------------------------------------
|
||||
# * File Name : pycrate_csn1dir/gsm_priority_parameters_ie.py
|
||||
# * Created : 2018-10-08
|
||||
# * Created : 2018-11-21
|
||||
# * Authors : Benoit Michau
|
||||
# *--------------------------------------------------------
|
||||
#*/
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue