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:
mich 2018-11-21 17:02:55 +01:00
parent ab684af6f2
commit 9d7ec211de
269 changed files with 4170 additions and 3967 deletions

View File

@ -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 )

View File

@ -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:

View File

@ -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 > }

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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']

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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': ('', [

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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={

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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)])})

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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),

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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),

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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={

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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),

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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

View File

@ -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=[

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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),

View File

@ -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),

View File

@ -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),

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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': ('', []),

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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),

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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
# *--------------------------------------------------------
#*/

View File

@ -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