libosmogsm 1.9.0.196-9975
Osmocom GSM library
gsm_08_08.h File Reference
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/endian.h>

Go to the source code of this file.

Data Structures

struct  bssmap_header
 
struct  dtap_header
 
struct  gsm0808_speech_codec
 3GPP TS 48.008 3.2.2.104 Speech Codec. More...
 
struct  gsm0808_speech_codec_list
 
struct  gsm0808_channel_type
 
struct  gsm0808_encrypt_info
 
struct  gsm0808_cell_id_list
 DEPRECATED: This definition of the cell identifier list is insufficient. More...
 
struct  gsm0808_diagnostics
 

Macros

#define CELL_IDENT_LAI_AND_LAC   CELL_IDENT_LAI
 
#define BSS_MAP_MSG_ASSIGMENT_RQST   BSS_MAP_MSG_ASSIGNMENT_RQST
 
#define BSS_MAP_MSG_ASSIGMENT_COMPLETE   BSS_MAP_MSG_ASSIGNMENT_COMPLETE
 
#define BSS_MAP_MSG_ASSIGMENT_FAILURE   BSS_MAP_MSG_ASSIGNMENT_FAILURE
 
#define GSM0808_DATA_FULL_RPREF   GSM0808_DATA_FULL_PREF
 
#define GSM0808_SCT_EXT   0x0f
 
#define SPEECH_CODEC_MAXLEN   255
 
#define CH_TYPE_PERM_SPCH_MAXLEN   9
 
#define ENCRY_INFO_KEY_MAXLEN   252
 
#define ENCRY_INFO_PERM_ALGO_MAXLEN   8
 
#define CELL_ID_LIST_LAC_MAXLEN   127
 

Enumerations

enum  CELL_IDENT {
  CELL_IDENT_WHOLE_GLOBAL = 0 ,
  CELL_IDENT_LAC_AND_CI = 1 ,
  CELL_IDENT_CI = 2 ,
  CELL_IDENT_NO_CELL = 3 ,
  CELL_IDENT_LAI = 4 ,
  CELL_IDENT_LAC = 5 ,
  CELL_IDENT_BSS = 6 ,
  CELL_IDENT_UTRAN_PLMN_LAC_RNC = 8 ,
  CELL_IDENT_UTRAN_RNC = 9 ,
  CELL_IDENT_UTRAN_LAC_RNC = 10 ,
  CELL_IDENT_SAI = 11 ,
  CELL_IDENT_WHOLE_GLOBAL_PS = 128
}
 
enum  BSSAP_MSG_TYPE {
  BSSAP_MSG_BSS_MANAGEMENT = 0x0 ,
  BSSAP_MSG_DTAP = 0x1
}
 
enum  gsm0406_dlci_sapi {
  DLCI_SAPI_RR_MM_CC = 0x0 ,
  DLCI_SAPI_SMS = 0x3
}
 
enum  BSS_MAP_MSG_TYPE {
  BSS_MAP_MSG_RESERVED_0 = 0 ,
  BSS_MAP_MSG_ASSIGNMENT_RQST = 1 ,
  BSS_MAP_MSG_ASSIGNMENT_COMPLETE = 2 ,
  BSS_MAP_MSG_ASSIGNMENT_FAILURE = 3 ,
  BSS_MAP_MSG_CHAN_MOD_RQST = 8 ,
  BSS_MAP_MSG_HANDOVER_RQST = 16 ,
  BSS_MAP_MSG_HANDOVER_REQUIRED = 17 ,
  BSS_MAP_MSG_HANDOVER_RQST_ACKNOWLEDGE = 18 ,
  BSS_MAP_MSG_HANDOVER_CMD = 19 ,
  BSS_MAP_MSG_HANDOVER_COMPLETE = 20 ,
  BSS_MAP_MSG_HANDOVER_SUCCEEDED = 21 ,
  BSS_MAP_MSG_HANDOVER_FAILURE = 22 ,
  BSS_MAP_MSG_HANDOVER_PERFORMED = 23 ,
  BSS_MAP_MSG_HANDOVER_CANDIDATE_ENQUIRE = 24 ,
  BSS_MAP_MSG_HANDOVER_CANDIDATE_RESPONSE = 25 ,
  BSS_MAP_MSG_HANDOVER_REQUIRED_REJECT = 26 ,
  BSS_MAP_MSG_HANDOVER_DETECT = 27 ,
  BSS_MAP_MSG_INT_HANDOVER_REQUIRED = 0x70 ,
  BSS_MAP_MSG_INT_HANDOVER_REQUIRED_REJ = 0x71 ,
  BSS_MAP_MSG_INT_HANDOVER_CMD = 0x72 ,
  BSS_MAP_MSG_INT_HANDOVER_ENQUIRY = 0x73 ,
  BSS_MAP_MSG_CLEAR_CMD = 32 ,
  BSS_MAP_MSG_CLEAR_COMPLETE = 33 ,
  BSS_MAP_MSG_CLEAR_RQST = 34 ,
  BSS_MAP_MSG_RESERVED_1 = 35 ,
  BSS_MAP_MSG_RESERVED_2 = 36 ,
  BSS_MAP_MSG_SAPI_N_REJECT = 37 ,
  BSS_MAP_MSG_CONFUSION = 38 ,
  BSS_MAP_MSG_SUSPEND = 40 ,
  BSS_MAP_MSG_RESUME = 41 ,
  BSS_MAP_MSG_CONNECTION_ORIENTED_INFORMATION = 42 ,
  BSS_MAP_MSG_PERFORM_LOCATION_RQST = 43 ,
  BSS_MAP_MSG_LSA_INFORMATION = 44 ,
  BSS_MAP_MSG_PERFORM_LOCATION_RESPONSE = 45 ,
  BSS_MAP_MSG_PERFORM_LOCATION_ABORT = 46 ,
  BSS_MAP_MSG_COMMON_ID = 47 ,
  BSS_MAP_MSG_REROUTE_CMD = 0x78 ,
  BSS_MAP_MSG_REROUTE_COMPLETE = 0x79 ,
  BSS_MAP_MSG_RESET = 48 ,
  BSS_MAP_MSG_RESET_ACKNOWLEDGE = 49 ,
  BSS_MAP_MSG_OVERLOAD = 50 ,
  BSS_MAP_MSG_RESERVED_3 = 51 ,
  BSS_MAP_MSG_RESET_CIRCUIT = 52 ,
  BSS_MAP_MSG_RESET_CIRCUIT_ACKNOWLEDGE = 53 ,
  BSS_MAP_MSG_MSC_INVOKE_TRACE = 54 ,
  BSS_MAP_MSG_BSS_INVOKE_TRACE = 55 ,
  BSS_MAP_MSG_CONNECTIONLESS_INFORMATION = 58 ,
  BSS_MAP_MSG_RESET_IP_RSRC = 0x3d ,
  BSS_MAP_MSG_RESET_IP_RSRC_ACK = 0x3e ,
  BSS_MAP_MSG_BLOCK = 64 ,
  BSS_MAP_MSG_BLOCKING_ACKNOWLEDGE = 65 ,
  BSS_MAP_MSG_UNBLOCK = 66 ,
  BSS_MAP_MSG_UNBLOCKING_ACKNOWLEDGE = 67 ,
  BSS_MAP_MSG_CIRCUIT_GROUP_BLOCK = 68 ,
  BSS_MAP_MSG_CIRCUIT_GROUP_BLOCKING_ACKNOWLEDGE = 69 ,
  BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCK = 70 ,
  BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCKING_ACKNOWLEDGE = 71 ,
  BSS_MAP_MSG_UNEQUIPPED_CIRCUIT = 72 ,
  BSS_MAP_MSG_CHANGE_CIRCUIT = 78 ,
  BSS_MAP_MSG_CHANGE_CIRCUIT_ACKNOWLEDGE = 79 ,
  BSS_MAP_MSG_RESOURCE_RQST = 80 ,
  BSS_MAP_MSG_RESOURCE_INDICATION = 81 ,
  BSS_MAP_MSG_PAGING = 82 ,
  BSS_MAP_MSG_CIPHER_MODE_CMD = 83 ,
  BSS_MAP_MSG_CLASSMARK_UPDATE = 84 ,
  BSS_MAP_MSG_CIPHER_MODE_COMPLETE = 85 ,
  BSS_MAP_MSG_QUEUING_INDICATION = 86 ,
  BSS_MAP_MSG_COMPLETE_LAYER_3 = 87 ,
  BSS_MAP_MSG_CLASSMARK_RQST = 88 ,
  BSS_MAP_MSG_CIPHER_MODE_REJECT = 89 ,
  BSS_MAP_MSG_LOAD_INDICATION = 90 ,
  BSS_MAP_MSG_VGCS_VBS_SETUP = 4 ,
  BSS_MAP_MSG_VGCS_VBS_SETUP_ACK = 5 ,
  BSS_MAP_MSG_VGCS_VBS_SETUP_REFUSE = 6 ,
  BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RQST = 7 ,
  BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RESULT = 28 ,
  BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_FAILURE = 29 ,
  BSS_MAP_MSG_VGCS_VBS_QUEUING_INDICATION = 30 ,
  BSS_MAP_MSG_UPLINK_RQST = 31 ,
  BSS_MAP_MSG_UPLINK_RQST_ACKNOWLEDGE = 39 ,
  BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_STATUS = 59 ,
  BSS_MAP_MSG_VGCS_VBS_AREA_CELL_INFO = 60 ,
  BSS_MAP_MSG_UPLINK_RQST_CONFIRMATION = 73 ,
  BSS_MAP_MSG_UPLINK_RELEASE_INDICATION = 74 ,
  BSS_MAP_MSG_UPLINK_REJECT_CMD = 75 ,
  BSS_MAP_MSG_UPLINK_RELEASE_CMD = 76 ,
  BSS_MAP_MSG_UPLINK_SEIZED_CMD = 77 ,
  BSS_MAP_MSG_VGCS_ADDL_INFO = 0x60 ,
  BSS_MAP_MSG_VGCS_SMS = 0x61 ,
  BSS_MAP_MSG_NOTIFICATION_DATA = 0x62 ,
  BSS_MAP_MSG_UPLINK_APP_DATA = 0x63 ,
  BSS_MAP_MSG_LCLS_CONNECT_CTRL = 0x74 ,
  BSS_MAP_MSG_LCLS_CONNECT_CTRL_ACK = 0x75 ,
  BSS_MAP_MSG_LCLS_NOTIFICATION = 0x76
}
 
enum  GSM0808_IE_CODING {
  GSM0808_IE_CIRCUIT_IDENTITY_CODE = 1 ,
  GSM0808_IE_RESERVED_0 = 2 ,
  GSM0808_IE_RESOURCE_AVAILABLE = 3 ,
  GSM0808_IE_CAUSE = 4 ,
  GSM0808_IE_CELL_IDENTIFIER = 5 ,
  GSM0808_IE_PRIORITY = 6 ,
  GSM0808_IE_LAYER_3_HEADER_INFORMATION = 7 ,
  GSM0808_IE_IMSI = 8 ,
  GSM0808_IE_TMSI = 9 ,
  GSM0808_IE_ENCRYPTION_INFORMATION = 10 ,
  GSM0808_IE_CHANNEL_TYPE = 11 ,
  GSM0808_IE_PERIODICITY = 12 ,
  GSM0808_IE_EXTENDED_RESOURCE_INDICATOR = 13 ,
  GSM0808_IE_NUMBER_OF_MSS = 14 ,
  GSM0808_IE_RESERVED_1 = 15 ,
  GSM0808_IE_RESERVED_2 = 16 ,
  GSM0808_IE_RESERVED_3 = 17 ,
  GSM0808_IE_CLASSMARK_INFORMATION_T2 = 18 ,
  GSM0808_IE_CLASSMARK_INFORMATION_T3 = 19 ,
  GSM0808_IE_INTERFERENCE_BAND_TO_USE = 20 ,
  GSM0808_IE_RR_CAUSE = 21 ,
  GSM0808_IE_RESERVED_4 = 22 ,
  GSM0808_IE_LAYER_3_INFORMATION = 23 ,
  GSM0808_IE_DLCI = 24 ,
  GSM0808_IE_DOWNLINK_DTX_FLAG = 25 ,
  GSM0808_IE_CELL_IDENTIFIER_LIST = 26 ,
  GSM0808_IE_RESPONSE_RQST = 27 ,
  GSM0808_IE_RESOURCE_INDICATION_METHOD = 28 ,
  GSM0808_IE_CLASSMARK_INFORMATION_TYPE_1 = 29 ,
  GSM0808_IE_CIRCUIT_IDENTITY_CODE_LIST = 30 ,
  GSM0808_IE_DIAGNOSTIC = 31 ,
  GSM0808_IE_LAYER_3_MESSAGE_CONTENTS = 32 ,
  GSM0808_IE_CHOSEN_CHANNEL = 33 ,
  GSM0808_IE_TOTAL_RESOURCE_ACCESSIBLE = 34 ,
  GSM0808_IE_CIPHER_RESPONSE_MODE = 35 ,
  GSM0808_IE_CHANNEL_NEEDED = 36 ,
  GSM0808_IE_TRACE_TYPE = 37 ,
  GSM0808_IE_TRIGGERID = 38 ,
  GSM0808_IE_TRACE_REFERENCE = 39 ,
  GSM0808_IE_TRANSACTIONID = 40 ,
  GSM0808_IE_MOBILE_IDENTITY = 41 ,
  GSM0808_IE_OMCID = 42 ,
  GSM0808_IE_FORWARD_INDICATOR = 43 ,
  GSM0808_IE_CHOSEN_ENCR_ALG = 44 ,
  GSM0808_IE_CIRCUIT_POOL = 45 ,
  GSM0808_IE_CIRCUIT_POOL_LIST = 46 ,
  GSM0808_IE_TIME_INDICATION = 47 ,
  GSM0808_IE_RESOURCE_SITUATION = 48 ,
  GSM0808_IE_CURRENT_CHANNEL_TYPE_1 = 49 ,
  GSM0808_IE_QUEUEING_INDICATOR = 50 ,
  GSM0808_IE_SPEECH_VERSION = 64 ,
  GSM0808_IE_ASSIGNMENT_REQUIREMENT = 51 ,
  GSM0808_IE_TALKER_FLAG = 53 ,
  GSM0808_IE_CONNECTION_RELEASE_RQSTED = 54 ,
  GSM0808_IE_GROUP_CALL_REFERENCE = 55 ,
  GSM0808_IE_EMLPP_PRIORITY = 56 ,
  GSM0808_IE_CONFIG_EVO_INDI = 57 ,
  GSM0808_IE_OLD_BSS_TO_NEW_BSS_INFORMATION = 58 ,
  GSM0808_IE_LSA_IDENTIFIER = 59 ,
  GSM0808_IE_LSA_IDENTIFIER_LIST = 60 ,
  GSM0808_IE_LSA_INFORMATION = 61 ,
  GSM0808_IE_LCS_QOS = 62 ,
  GSM0808_IE_LSA_ACCESS_CTRL_SUPPR = 63 ,
  GSM0808_IE_LCS_PRIORITY = 67 ,
  GSM0808_IE_LOCATION_TYPE = 68 ,
  GSM0808_IE_LOCATION_ESTIMATE = 69 ,
  GSM0808_IE_POSITIONING_DATA = 70 ,
  GSM0808_IE_LCS_CAUSE = 71 ,
  GSM0808_IE_LCS_CLIENT_TYPE = 72 ,
  GSM0808_IE_APDU = 73 ,
  GSM0808_IE_NETWORK_ELEMENT_IDENTITY = 74 ,
  GSM0808_IE_GPS_ASSISTANCE_DATA = 75 ,
  GSM0808_IE_DECIPHERING_KEYS = 76 ,
  GSM0808_IE_RETURN_ERROR_RQST = 77 ,
  GSM0808_IE_RETURN_ERROR_CAUSE = 78 ,
  GSM0808_IE_SEGMENTATION = 79 ,
  GSM0808_IE_SERVICE_HANDOVER = 80 ,
  GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_UMTS = 81 ,
  GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_CDMA2000 = 82 ,
  GSM0808_IE_RESERVED_5 = 65 ,
  GSM0808_IE_RESERVED_6 = 66 ,
  GSM0808_IE_GERAN_CLASSMARK = 0x53 ,
  GSM0808_IE_GERAN_BSC_CONTAINER = 0x54 ,
  GSM0808_IE_NEW_BSS_TO_OLD_BSS_INFO = 0x61 ,
  GSM0800_IE_INTER_SYSTEM_INFO = 0x63 ,
  GSM0808_IE_SNA_ACCESS_INFO = 0x64 ,
  GSM0808_IE_VSTK_RAND_INFO = 0x65 ,
  GSM0808_IE_VSTK_INFO = 0x66 ,
  GSM0808_IE_PAGING_INFO = 0x67 ,
  GSM0808_IE_IMEI = 0x68 ,
  GSM0808_IE_VELOCITY_ESTIMATE = 0x55 ,
  GSM0808_IE_VGCS_FEATURE_FLAGS = 0x69 ,
  GSM0808_IE_TALKER_PRIORITY = 0x6a ,
  GSM0808_IE_EMERGENCY_SET_INDICATION = 0x6b ,
  GSM0808_IE_TALKER_IDENTITY = 0x6c ,
  GSM0808_IE_CELL_ID_LIST_SEGMENT = 0x6d ,
  GSM0808_IE_SMS_TO_VGCS = 0x6e ,
  GSM0808_IE_VGCS_TALKER_MODE = 0x6f ,
  GSM0808_IE_VGCS_VBS_CELL_STATUS = 0x70 ,
  GSM0808_IE_CELL_ID_LIST_SEG_EST_CELLS = 0x71 ,
  GSM0808_IE_CELL_ID_LIST_SEG_CELLS_TBE = 0x72 ,
  GSM0808_IE_CELL_ID_LIST_SEG_REL_CELLS = 0x73 ,
  GSM0808_IE_CELL_ID_LIST_SEG_NE_CELLS = 0x74 ,
  GSM0808_IE_GANSS_ASSISTANCE_DATA = 0x75 ,
  GSM0808_IE_GANSS_POSITIONING_DATA = 0x76 ,
  GSM0808_IE_GANSS_LOCATION_TYPE = 0x77 ,
  GSM0808_IE_APP_DATA = 0x78 ,
  GSM0808_IE_DATA_IDENTITY = 0x79 ,
  GSM0808_IE_APP_DATA_INFO = 0x7a ,
  GSM0808_IE_MSISDN = 0x7b ,
  GSM0808_IE_AOIP_TRASP_ADDR = 0x7c ,
  GSM0808_IE_SPEECH_CODEC_LIST = 0x7d ,
  GSM0808_IE_SPEECH_CODEC = 0x7e ,
  GSM0808_IE_CALL_ID = 0x7f ,
  GSM0808_IE_CALL_ID_LIST = 0x80 ,
  GSM0808_IE_A_IF_SEL_FOR_RESET = 0x81 ,
  GSM0808_IE_KC_128 = 0x83 ,
  GSM0808_IE_CSG_IDENTIFIER = 0x84 ,
  GSM0808_IE_REDIR_ATTEMPT_FLAG = 0x85 ,
  GSM0808_IE_REROUTE_REJ_CAUSE = 0x86 ,
  GSM0808_IE_SEND_SEQ_NUM = 0x87 ,
  GSM0808_IE_REROUTE_COMPL_OUTCOME = 0x88 ,
  GSM0808_IE_GLOBAL_CALL_REF = 0x89 ,
  GSM0808_IE_LCLS_CONFIG = 0x8a ,
  GSM0808_IE_LCLS_CONN_STATUS_CTRL = 0x8b ,
  GSM0808_IE_LCLS_CORR_NOT_NEEDED = 0x8c ,
  GSM0808_IE_LCLS_BSS_STATUS = 0x8d ,
  GSM0808_IE_LCLS_BREAK_REQ = 0x8e ,
  GSM0808_IE_CSFB_INDICATION = 0x8f ,
  GSM0808_IE_CS_TO_PS_SRVCC = 0x90 ,
  GSM0808_IE_SRC_ENB_TO_TGT_ENB_TRANSP = 0x91 ,
  GSM0808_IE_CS_TO_PS_SRVCC_IND = 0x92 ,
  GSM0808_IE_CN_TO_MS_TRANSP_INFO = 0x93 ,
  GSM0808_IE_SELECTED_PLMN_ID = 0x94 ,
  GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID = 0x95 ,
  GSM0808_IE_OLD_LAI = 0x96 ,
  GSM0808_IE_ATTACH_INDICATOR = 0x97 ,
  GSM0808_IE_SELECTED_OPERATOR = 0x98 ,
  GSM0808_IE_PS_REGISTERED_OPERATOR = 0x99 ,
  GSM0808_IE_CS_REGISTERED_OPERATOR = 0x9a ,
  GSM0808_IE_OSMO_OSMUX_SUPPORT = 0xf0 ,
  GSM0808_IE_OSMO_OSMUX_CID = 0xf1
}
 
enum  GSM0808_SIGNALLING_FIELD_ELEMENT_CODING {
  GSM0808_FE_IE_EXTRA_INFORMATION = 0x01 ,
  GSM0808_FE_IE_CURRENT_CHANNEL_TYPE_2 = 0x02 ,
  GSM0808_FE_IE_TARGET_CELL_RADIO_INFORMATION = 0x03 ,
  GSM0808_FE_IE_GPRS_SUSPEND_INFORMATION = 0x04 ,
  GSM0808_FE_IE_MULTIRATE_CONFIGURATION_INFORMATION = 0x05 ,
  GSM0808_FE_IE_DUAL_TRANSFER_MODE_INFORMATION = 0x06 ,
  GSM0808_FE_IE_INTER_RAT_HANDOVER_INFO = 0x07 ,
  GSM0808_FE_IE_CDMA2000_CAPABILITY_INFORMATION = 0x08 ,
  GSM0808_FE_IE_DOWNLINK_CELL_LOAD_INFORMATION = 0x09 ,
  GSM0808_FE_IE_UPLINK_CELL_LOAD_INFORMATION = 0x0a ,
  GSM0808_FE_IE_CELL_LOAD_INFORMATION_GROUP = 0x0b ,
  GSM0808_FE_IE_CELL_LOAD_INFORMATION = 0x0c ,
  GSM0808_FE_IE_PS_INDICATION = 0x0d ,
  GSM0808_FE_IE_DTM_HANDOVER_COMMAND_INDICATION = 0x0e ,
  GSM0808_FE_IE_D_RNTI = 0xfe ,
  GSM0808_FE_IE_IRAT_MEASUREMENT_CONFIGURATION = 0x0f ,
  GSM0808_FE_IE_SOURCE_CELL_ID = 0x10 ,
  GSM0808_FE_IE_IRAT_MEASUREMENT_CONFIGURATION_EXTENDED_E_ARFCNS = 0x11 ,
  GSM0808_FE_IE_VGCS_TALKER_MODE = 0x6f ,
  GSM0808_FE_IE_LAST_USED_EUTRAN_PLMN_ID = 0x95
}
 
enum  gsm0808_cause {
  GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE = 0 ,
  GSM0808_CAUSE_RADIO_INTERFACE_FAILURE = 1 ,
  GSM0808_CAUSE_UPLINK_QUALITY = 2 ,
  GSM0808_CAUSE_UPLINK_STRENGTH = 3 ,
  GSM0808_CAUSE_DOWNLINK_QUALITY = 4 ,
  GSM0808_CAUSE_DOWNLINK_STRENGTH = 5 ,
  GSM0808_CAUSE_DISTANCE = 6 ,
  GSM0808_CAUSE_O_AND_M_INTERVENTION = 7 ,
  GSM0808_CAUSE_RESPONSE_TO_MSC_INVOCATION = 8 ,
  GSM0808_CAUSE_CALL_CONTROL = 9 ,
  GSM0808_CAUSE_RADIO_INTERFACE_FAILURE_REVERSION = 10 ,
  GSM0808_CAUSE_HANDOVER_SUCCESSFUL = 11 ,
  GSM0808_CAUSE_BETTER_CELL = 12 ,
  GSM0808_CAUSE_DIRECTED_RETRY = 13 ,
  GSM0808_CAUSE_JOINED_GROUP_CALL_CHANNEL = 14 ,
  GSM0808_CAUSE_TRAFFIC = 15 ,
  GSM0808_CAUSE_REDUCE_LOAD_IN_SERVING_CELL = 0x10 ,
  GSM0808_CAUSE_TRAFFIC_LOAD_IN_TGT_HIGHER_THAN_IN_SRC_CELL = 0x11 ,
  GSM0808_CAUSE_RELOCATION_TRIGGERED = 0x12 ,
  GSM0808_CAUSE_REQUESTED_OPT_NOT_AUTHORISED = 0x14 ,
  GSM0808_CAUSE_ALT_CHAN_CONFIG_REQUESTED = 0x15 ,
  GSM0808_CAUSE_RESP_TO_INT_HO_ENQ_MSG = 0x16 ,
  GSM0808_CAUSE_INT_HO_ENQUIRY_REJECT = 0x17 ,
  GSM0808_CAUSE_REDUNDANCY_LEVEL_NOT_ADEQUATE = 0x18 ,
  GSM0808_CAUSE_EQUIPMENT_FAILURE = 32 ,
  GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE = 33 ,
  GSM0808_CAUSE_RQSTED_TERRESTRIAL_RESOURCE_UNAVAILABLE = 34 ,
  GSM0808_CAUSE_CCCH_OVERLOAD = 35 ,
  GSM0808_CAUSE_PROCESSOR_OVERLOAD = 36 ,
  GSM0808_CAUSE_BSS_NOT_EQUIPPED = 37 ,
  GSM0808_CAUSE_MS_NOT_EQUIPPED = 38 ,
  GSM0808_CAUSE_INVALID_CELL = 39 ,
  GSM0808_CAUSE_TRAFFIC_LOAD = 40 ,
  GSM0808_CAUSE_PREEMPTION = 41 ,
  GSM0808_CAUSE_DTM_HO_SGSN_FAILURE = 0x2a ,
  GSM0808_CAUSE_DTM_HO_PS_ALLOC_FAILURE = 0x2b ,
  GSM0808_CAUSE_RQSTED_TRANSCODING_RATE_ADAPTION_UNAVAILABLE = 48 ,
  GSM0808_CAUSE_CIRCUIT_POOL_MISMATCH = 49 ,
  GSM0808_CAUSE_SWITCH_CIRCUIT_POOL = 50 ,
  GSM0808_CAUSE_RQSTED_SPEECH_VERSION_UNAVAILABLE = 51 ,
  GSM0808_CAUSE_LSA_NOT_ALLOWED = 52 ,
  GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL = 0x35 ,
  GSM0808_CAUSE_REQ_A_IF_TYPE_UNAVAIL = 0x36 ,
  GSM0808_CAUSE_INVALID_CSG_CELL = 0x37 ,
  GSM0808_CAUSE_REQ_REDUND_LEVEL_NOT_AVAIL = 0x3f ,
  GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED = 64 ,
  GSM0808_CAUSE_GERAN_IU_MODE_FAILURE = 0x41 ,
  GSM0808_CAUSE_INC_RELOC_NOT_SUPP_DT_PUESBINE_FEATURE = 0x42 ,
  GSM0808_CAUSE_ACCESS_RESTRICTED_DUE_TO_SHARED_NETWORKS = 0x43 ,
  GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP = 0x44 ,
  GSM0808_CAUSE_REQ_A_IF_TYPE_NOT_SUPP = 0x45 ,
  GSM0808_CAUSE_REQ_REDUND_LVL_NOT_SUPP = 0x46 ,
  GSM0808_CAUSE_TERRESTRIAL_CIRCUIT_ALREADY_ALLOCATED = 80 ,
  GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS = 81 ,
  GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING = 82 ,
  GSM0808_CAUSE_INCORRECT_VALUE = 83 ,
  GSM0808_CAUSE_UNKNOWN_MESSAGE_TYPE = 84 ,
  GSM0808_CAUSE_UNKNOWN_INFORMATION_ELEMENT = 85 ,
  GSM0808_CAUSE_DTM_HO_INVALID_PS_IND = 0x56 ,
  GSM0808_CAUSE_CALL_ID_ALREADY_ALLOC = 0x57 ,
  GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC = 96 ,
  GSM0808_CAUSE_VGCS_VBS_CALL_NON_EXISTENT = 0x61 ,
  GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY = 0x62
}
 
enum  gsm0808_cause_class {
  GSM0808_CAUSE_CLASS_NORM0 = 0 ,
  GSM0808_CAUSE_CLASS_NORM1 = 1 ,
  GSM0808_CAUSE_CLASS_RES_UNAVAIL = 2 ,
  GSM0808_CAUSE_CLASS_SRV_OPT_NA = 3 ,
  GSM0808_CAUSE_CLASS_SRV_OPT_NIMPL = 4 ,
  GSM0808_CAUSE_CLASS_INVAL = 5 ,
  GSM0808_CAUSE_CLASS_PERR = 6 ,
  GSM0808_CAUSE_CLASS_INTW = 7
}
 
enum  gsm0808_chan_indicator {
  GSM0808_CHAN_SPEECH = 1 ,
  GSM0808_CHAN_DATA = 2 ,
  GSM0808_CHAN_SIGN = 3 ,
  GSM0808_CHAN_SPEECH_CTM_TEXT_TELEPHONY = 4
}
 
enum  gsm0808_chan_rate_type_data {
  GSM0808_DATA_FULL_BM = 0x8 ,
  GSM0808_DATA_HALF_LM = 0x9 ,
  GSM0808_DATA_FULL_PREF = 0xa ,
  GSM0808_DATA_HALF_PREF = 0xb ,
  GSM0808_DATA_FULL_PREF_NO_CHANGE = 0x1a ,
  GSM0808_DATA_HALF_PREF_NO_CHANGE = 0x1b ,
  GSM0808_DATA_MULTI_MASK = 0x20 ,
  GSM0808_DATA_MULTI_MASK_NO_CHANGE = 0x30
}
 
enum  gsm0808_chan_rate_type_speech {
  GSM0808_SPEECH_FULL_BM = 0x8 ,
  GSM0808_SPEECH_HALF_LM = 0x9 ,
  GSM0808_SPEECH_FULL_PREF = 0xa ,
  GSM0808_SPEECH_HALF_PREF = 0xb ,
  GSM0808_SPEECH_FULL_PREF_NO_CHANGE = 0x1a ,
  GSM0808_SPEECH_HALF_PREF_NO_CHANGE = 0x1b ,
  GSM0808_SPEECH_PERM = 0xf ,
  GSM0808_SPEECH_PERM_NO_CHANGE = 0x1f
}
 
enum  gsm0808_chan_rate_type_sign {
  GSM0808_SIGN_ANY = 0x00 ,
  GSM0808_SIGN_SDCCH = 0x01 ,
  GSM0808_SIGN_SDCCH_FULL_BM = 0x02 ,
  GSM0808_SIGN_SDCCH_HALF_LM = 0x03 ,
  GSM0808_SIGN_FULL_BM = 0x08 ,
  GSM0808_SIGN_HALF_LM = 0x09 ,
  GSM0808_SIGN_FULL_PREF = 0x0a ,
  GSM0808_SIGN_HALF_PREF = 0x0b ,
  GSM0808_SIGN_FULL_PREF_NO_CHANGE = 0x1a ,
  GSM0808_SIGN_HALF_PREF_NO_CHANGE = 0x1b
}
 
enum  gsm0808_permitted_speech {
  GSM0808_PERM_FR1 = 0x01 ,
  GSM0808_PERM_FR2 = 0x11 ,
  GSM0808_PERM_FR3 = 0x21 ,
  GSM0808_PERM_FR4 = 0x41 ,
  GSM0808_PERM_FR5 = 0x42 ,
  GSM0808_PERM_HR1 = GSM0808_PERM_FR1 | 0x4 ,
  GSM0808_PERM_HR2 = GSM0808_PERM_FR2 | 0x4 ,
  GSM0808_PERM_HR3 = GSM0808_PERM_FR3 | 0x4 ,
  GSM0808_PERM_HR4 = 0x46 ,
  GSM0808_PERM_HR6 = 0x45
}
 GSM 08.08 3.2.2.11 Channel Type (see also 3GPP TS 48.008, section 3.2.2.11) More...
 
enum  gsm0808_data_rate_transp {
  GSM0808_DATA_RATE_TRANSP_32k0 = 0x3a ,
  GSM0808_DATA_RATE_TRANSP_28k8 = 0x39 ,
  GSM0808_DATA_RATE_TRANSP_14k4 = 0x18 ,
  GSM0808_DATA_RATE_TRANSP_9k6 = 0x10 ,
  GSM0808_DATA_RATE_TRANSP_4k8 = 0x11 ,
  GSM0808_DATA_RATE_TRANSP_2k4 = 0x12 ,
  GSM0808_DATA_RATE_TRANSP_1k2 = 0x13 ,
  GSM0808_DATA_RATE_TRANSP_600 = 0x14 ,
  GSM0808_DATA_RATE_TRANSP_1200_75 = 0x15
}
 
enum  gsm0808_data_rate_non_transp {
  GSM0808_DATA_RATE_NON_TRANSP_12000_6000 = 0x00 ,
  GSM0808_DATA_RATE_NON_TRANSP_43k5 = 0x34 ,
  GSM0808_DATA_RATE_NON_TRANSP_29k0 = 0x31 ,
  GSM0808_DATA_RATE_NON_TRANSP_14k5 = 0x14 ,
  GSM0808_DATA_RATE_NON_TRANSP_12k0 = 0x10 ,
  GSM0808_DATA_RATE_NON_TRANSP_6k0 = 0x11
}
 
enum  gsm0808_data_rate_allowed_r_if {
  GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_43k5 = 0x40 ,
  GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_32k0 = 0x20 ,
  GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_29k0 = 0x10 ,
  GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_14k5 = 0x08 ,
  GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_12k0 = 0x02 ,
  GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_6k0 = 0x01
}
 
enum  gsm0808_speech_codec_type {
  GSM0808_SCT_FR1 = 0x0 ,
  GSM0808_SCT_FR2 = 0x2 ,
  GSM0808_SCT_FR3 = 0x3 ,
  GSM0808_SCT_FR4 = 0xc ,
  GSM0808_SCT_FR5 = 0x9 ,
  GSM0808_SCT_HR1 = 0x1 ,
  GSM0808_SCT_HR3 = 0x4 ,
  GSM0808_SCT_HR4 = 0xd ,
  GSM0808_SCT_HR6 = 0xb ,
  GSM0808_SCT_CSD = 0xfd
}
 3GPP TS 48.008, 3.2.2.103 Speech Codec Type More...
 
enum  gsm0808_chosen_enc_alg {
  GSM0808_ALG_ID_A5_0 = 0x01 ,
  GSM0808_ALG_ID_A5_1 = 0x02 ,
  GSM0808_ALG_ID_A5_2 = 0x03 ,
  GSM0808_ALG_ID_A5_3 = 0x04 ,
  GSM0808_ALG_ID_A5_4 = 0x05 ,
  GSM0808_ALG_ID_A5_5 = 0x06 ,
  GSM0808_ALG_ID_A5_6 = 0x07 ,
  GSM0808_ALG_ID_A5_7 = 0x08
}
 
enum  gsm0808_paging_info {
  GSM0808_PAGINF_FOR_MT_CALL = 0x00 ,
  GSM0808_PAGINF_FOR_SMS = 0x01 ,
  GSM0808_PAGINF_FOR_USSD = 0x02
}
 
enum  gsm0808_speech_codec_defaults {
  GSM0808_SC_CFG_DEFAULT_FR_AMR = 0x57ff ,
  GSM0808_SC_CFG_DEFAULT_HR_AMR = 0x073f ,
  GSM0808_SC_CFG_DEFAULT_OHR_AMR = 0x57ff ,
  GSM0808_SC_CFG_DEFAULT_FR_AMR_WB = 0x01 ,
  GSM0808_SC_CFG_DEFAULT_OFR_AMR_WB = 0x15 ,
  GSM0808_SC_CFG_DEFAULT_OHR_AMR_WB = 0x01
}
 Default speech codec configurations: Some codecs specified with struct gsm0808_speech_codec, require a configuration (cfg). More...
 
enum  gsm0808_speech_codec_rate_defaults {
  GSM0808_SC_CFG_DEFAULT_AMR_4_75 = 0xff03 ,
  GSM0808_SC_CFG_DEFAULT_AMR_5_15 = 0x0000 ,
  GSM0808_SC_CFG_DEFAULT_AMR_5_90 = 0xff06 ,
  GSM0808_SC_CFG_DEFAULT_AMR_6_70 = 0x3e08 ,
  GSM0808_SC_CFG_DEFAULT_AMR_7_40 = 0x0c12 ,
  GSM0808_SC_CFG_DEFAULT_AMR_7_95 = 0xc020 ,
  GSM0808_SC_CFG_DEFAULT_AMR_10_2 = 0x3040 ,
  GSM0808_SC_CFG_DEFAULT_AMR_12_2 = 0xc082
}
 Default speech codec configurations broken down by rate. More...
 
enum  gsm0808_speech_codec_rate {
  GSM0808_SC_CFG_AMR_4_75 = 0x0001 ,
  GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 = 0x0002 ,
  GSM0808_SC_CFG_AMR_5_90 = 0x0004 ,
  GSM0808_SC_CFG_AMR_6_70 = 0x0008 ,
  GSM0808_SC_CFG_AMR_7_40 = 0x0010 ,
  GSM0808_SC_CFG_AMR_7_95 = 0x0020 ,
  GSM0808_SC_CFG_AMR_10_2 = 0x0040 ,
  GSM0808_SC_CFG_AMR_12_2 = 0x0080
}
 Single speech codec configurations broken down by rate. More...
 
enum  gsm0808_amr_mode {
  GSM0808_AMR_MODE_4_75 = 0 ,
  GSM0808_AMR_MODE_5_15 ,
  GSM0808_AMR_MODE_5_90 ,
  GSM0808_AMR_MODE_6_70 ,
  GSM0808_AMR_MODE_7_40 ,
  GSM0808_AMR_MODE_7_95 ,
  GSM0808_AMR_MODE_10_2 ,
  GSM0808_AMR_MODE_12_2
}
 
enum  gsm0808_channel_type_asym_pref {
  GSM0808_CT_ASYM_PREF_NOT_APPLICABLE = 0 ,
  GSM0808_CT_ASYM_PREF_UL = 1 ,
  GSM0808_CT_ASYM_PREF_DL = 2 ,
  GSM0808_CT_ASYM_PREF_SPARE = 3
}
 
enum  gsm0808_lcls_config {
  GSM0808_LCLS_CFG_BOTH_WAY = 0x00 ,
  GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL = 0x01 ,
  GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL = 0x02 ,
  GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL_BLOCK_LOCAL_DL = 0x03 ,
  GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL = 0x04 ,
  GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL_BLOCK_LOCAL_DL = 0x05 ,
  GSM0808_LCLS_CFG_NA = 0xFF
}
 
enum  gsm0808_lcls_control {
  GSM0808_LCLS_CSC_CONNECT = 0x00 ,
  GSM0808_LCLS_CSC_DO_NOT_CONNECT = 0x01 ,
  GSM0808_LCLS_CSC_RELEASE_LCLS = 0x02 ,
  GSM0808_LCLS_CSC_BICAST_UL_AT_HANDOVER = 0x03 ,
  GSM0808_LCLS_CSC_BICAST_UL_AND_RECV_DL_AT_HANDOVER = 0x04 ,
  GSM0808_LCLS_CSC_NA = 0xFF
}
 
enum  gsm0808_lcls_status {
  GSM0808_LCLS_STS_NOT_YET_LS = 0x00 ,
  GSM0808_LCLS_STS_NOT_POSSIBLE_LS = 0x01 ,
  GSM0808_LCLS_STS_NO_LONGER_LS = 0x02 ,
  GSM0808_LCLS_STS_REQ_LCLS_NOT_SUPP = 0x03 ,
  GSM0808_LCLS_STS_LOCALLY_SWITCHED = 0x04 ,
  GSM0808_LCLS_STS_NA = 0xFF
}
 

Functions

struct bssmap_header __attribute__ ((packed))
 
static const char * gsm0406_dlci_sapi_name (enum gsm0406_dlci_sapi val)
 
static const char * gsm0808_permitted_speech_name (enum gsm0808_permitted_speech val)
 
static const char * gsm0808_speech_codec_type_name (enum gsm0808_speech_codec_type val)
 
static const char * gsm0808_amr_mode_name (enum gsm0808_amr_mode val)
 

Variables

uint8_t type
 
uint8_t length
 
union {
   uint8_t   link_id
 
   struct {
   } 
 
}; 
 
enum gsm0406_dlci_sapi __attribute__
 
const struct value_string gsm0406_dlci_sapi_names []
 
const struct value_string gsm0808_permitted_speech_names []
 
const struct value_string gsm0808_speech_codec_type_names []
 
const struct value_string gsm0808_chosen_enc_alg_names []
 
const struct value_string gsm0808_amr_mode_names []
 
const uint8_t gsm0808_amr_modes_from_cfg [2][16]
 
uint8_t error_pointer_octet
 
uint8_t msg [0]
 

Macro Definition Documentation

◆ BSS_MAP_MSG_ASSIGMENT_COMPLETE

#define BSS_MAP_MSG_ASSIGMENT_COMPLETE   BSS_MAP_MSG_ASSIGNMENT_COMPLETE

◆ BSS_MAP_MSG_ASSIGMENT_FAILURE

#define BSS_MAP_MSG_ASSIGMENT_FAILURE   BSS_MAP_MSG_ASSIGNMENT_FAILURE

◆ BSS_MAP_MSG_ASSIGMENT_RQST

#define BSS_MAP_MSG_ASSIGMENT_RQST   BSS_MAP_MSG_ASSIGNMENT_RQST

◆ CELL_ID_LIST_LAC_MAXLEN

#define CELL_ID_LIST_LAC_MAXLEN   127

◆ CELL_IDENT_LAI_AND_LAC

#define CELL_IDENT_LAI_AND_LAC   CELL_IDENT_LAI

◆ CH_TYPE_PERM_SPCH_MAXLEN

#define CH_TYPE_PERM_SPCH_MAXLEN   9

◆ ENCRY_INFO_KEY_MAXLEN

#define ENCRY_INFO_KEY_MAXLEN   252

◆ ENCRY_INFO_PERM_ALGO_MAXLEN

#define ENCRY_INFO_PERM_ALGO_MAXLEN   8

◆ GSM0808_DATA_FULL_RPREF

#define GSM0808_DATA_FULL_RPREF   GSM0808_DATA_FULL_PREF

◆ GSM0808_SCT_EXT

#define GSM0808_SCT_EXT   0x0f

◆ SPEECH_CODEC_MAXLEN

#define SPEECH_CODEC_MAXLEN   255

Enumeration Type Documentation

◆ BSS_MAP_MSG_TYPE

Enumerator
BSS_MAP_MSG_RESERVED_0 
BSS_MAP_MSG_ASSIGNMENT_RQST 
BSS_MAP_MSG_ASSIGNMENT_COMPLETE 
BSS_MAP_MSG_ASSIGNMENT_FAILURE 
BSS_MAP_MSG_CHAN_MOD_RQST 
BSS_MAP_MSG_HANDOVER_RQST 
BSS_MAP_MSG_HANDOVER_REQUIRED 
BSS_MAP_MSG_HANDOVER_RQST_ACKNOWLEDGE 
BSS_MAP_MSG_HANDOVER_CMD 
BSS_MAP_MSG_HANDOVER_COMPLETE 
BSS_MAP_MSG_HANDOVER_SUCCEEDED 
BSS_MAP_MSG_HANDOVER_FAILURE 
BSS_MAP_MSG_HANDOVER_PERFORMED 
BSS_MAP_MSG_HANDOVER_CANDIDATE_ENQUIRE 
BSS_MAP_MSG_HANDOVER_CANDIDATE_RESPONSE 
BSS_MAP_MSG_HANDOVER_REQUIRED_REJECT 
BSS_MAP_MSG_HANDOVER_DETECT 
BSS_MAP_MSG_INT_HANDOVER_REQUIRED 
BSS_MAP_MSG_INT_HANDOVER_REQUIRED_REJ 
BSS_MAP_MSG_INT_HANDOVER_CMD 
BSS_MAP_MSG_INT_HANDOVER_ENQUIRY 
BSS_MAP_MSG_CLEAR_CMD 
BSS_MAP_MSG_CLEAR_COMPLETE 
BSS_MAP_MSG_CLEAR_RQST 
BSS_MAP_MSG_RESERVED_1 
BSS_MAP_MSG_RESERVED_2 
BSS_MAP_MSG_SAPI_N_REJECT 
BSS_MAP_MSG_CONFUSION 
BSS_MAP_MSG_SUSPEND 
BSS_MAP_MSG_RESUME 
BSS_MAP_MSG_CONNECTION_ORIENTED_INFORMATION 
BSS_MAP_MSG_PERFORM_LOCATION_RQST 
BSS_MAP_MSG_LSA_INFORMATION 
BSS_MAP_MSG_PERFORM_LOCATION_RESPONSE 
BSS_MAP_MSG_PERFORM_LOCATION_ABORT 
BSS_MAP_MSG_COMMON_ID 
BSS_MAP_MSG_REROUTE_CMD 
BSS_MAP_MSG_REROUTE_COMPLETE 
BSS_MAP_MSG_RESET 
BSS_MAP_MSG_RESET_ACKNOWLEDGE 
BSS_MAP_MSG_OVERLOAD 
BSS_MAP_MSG_RESERVED_3 
BSS_MAP_MSG_RESET_CIRCUIT 
BSS_MAP_MSG_RESET_CIRCUIT_ACKNOWLEDGE 
BSS_MAP_MSG_MSC_INVOKE_TRACE 
BSS_MAP_MSG_BSS_INVOKE_TRACE 
BSS_MAP_MSG_CONNECTIONLESS_INFORMATION 
BSS_MAP_MSG_RESET_IP_RSRC 
BSS_MAP_MSG_RESET_IP_RSRC_ACK 
BSS_MAP_MSG_BLOCK 
BSS_MAP_MSG_BLOCKING_ACKNOWLEDGE 
BSS_MAP_MSG_UNBLOCK 
BSS_MAP_MSG_UNBLOCKING_ACKNOWLEDGE 
BSS_MAP_MSG_CIRCUIT_GROUP_BLOCK 
BSS_MAP_MSG_CIRCUIT_GROUP_BLOCKING_ACKNOWLEDGE 
BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCK 
BSS_MAP_MSG_CIRCUIT_GROUP_UNBLOCKING_ACKNOWLEDGE 
BSS_MAP_MSG_UNEQUIPPED_CIRCUIT 
BSS_MAP_MSG_CHANGE_CIRCUIT 
BSS_MAP_MSG_CHANGE_CIRCUIT_ACKNOWLEDGE 
BSS_MAP_MSG_RESOURCE_RQST 
BSS_MAP_MSG_RESOURCE_INDICATION 
BSS_MAP_MSG_PAGING 
BSS_MAP_MSG_CIPHER_MODE_CMD 
BSS_MAP_MSG_CLASSMARK_UPDATE 
BSS_MAP_MSG_CIPHER_MODE_COMPLETE 
BSS_MAP_MSG_QUEUING_INDICATION 
BSS_MAP_MSG_COMPLETE_LAYER_3 
BSS_MAP_MSG_CLASSMARK_RQST 
BSS_MAP_MSG_CIPHER_MODE_REJECT 
BSS_MAP_MSG_LOAD_INDICATION 
BSS_MAP_MSG_VGCS_VBS_SETUP 
BSS_MAP_MSG_VGCS_VBS_SETUP_ACK 
BSS_MAP_MSG_VGCS_VBS_SETUP_REFUSE 
BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RQST 
BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_RESULT 
BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_FAILURE 
BSS_MAP_MSG_VGCS_VBS_QUEUING_INDICATION 
BSS_MAP_MSG_UPLINK_RQST 
BSS_MAP_MSG_UPLINK_RQST_ACKNOWLEDGE 
BSS_MAP_MSG_VGCS_VBS_ASSIGNMENT_STATUS 
BSS_MAP_MSG_VGCS_VBS_AREA_CELL_INFO 
BSS_MAP_MSG_UPLINK_RQST_CONFIRMATION 
BSS_MAP_MSG_UPLINK_RELEASE_INDICATION 
BSS_MAP_MSG_UPLINK_REJECT_CMD 
BSS_MAP_MSG_UPLINK_RELEASE_CMD 
BSS_MAP_MSG_UPLINK_SEIZED_CMD 
BSS_MAP_MSG_VGCS_ADDL_INFO 
BSS_MAP_MSG_VGCS_SMS 
BSS_MAP_MSG_NOTIFICATION_DATA 
BSS_MAP_MSG_UPLINK_APP_DATA 
BSS_MAP_MSG_LCLS_CONNECT_CTRL 
BSS_MAP_MSG_LCLS_CONNECT_CTRL_ACK 
BSS_MAP_MSG_LCLS_NOTIFICATION 

◆ BSSAP_MSG_TYPE

Enumerator
BSSAP_MSG_BSS_MANAGEMENT 
BSSAP_MSG_DTAP 

◆ CELL_IDENT

enum CELL_IDENT
Enumerator
CELL_IDENT_WHOLE_GLOBAL 
CELL_IDENT_LAC_AND_CI 
CELL_IDENT_CI 
CELL_IDENT_NO_CELL 
CELL_IDENT_LAI 
CELL_IDENT_LAC 
CELL_IDENT_BSS 
CELL_IDENT_UTRAN_PLMN_LAC_RNC 
CELL_IDENT_UTRAN_RNC 
CELL_IDENT_UTRAN_LAC_RNC 
CELL_IDENT_SAI 
CELL_IDENT_WHOLE_GLOBAL_PS 

◆ gsm0406_dlci_sapi

Enumerator
DLCI_SAPI_RR_MM_CC 
DLCI_SAPI_SMS 

◆ gsm0808_amr_mode

Enumerator
GSM0808_AMR_MODE_4_75 
GSM0808_AMR_MODE_5_15 
GSM0808_AMR_MODE_5_90 
GSM0808_AMR_MODE_6_70 
GSM0808_AMR_MODE_7_40 
GSM0808_AMR_MODE_7_95 
GSM0808_AMR_MODE_10_2 
GSM0808_AMR_MODE_12_2 

◆ gsm0808_cause

Enumerator
GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE 
GSM0808_CAUSE_RADIO_INTERFACE_FAILURE 
GSM0808_CAUSE_UPLINK_QUALITY 
GSM0808_CAUSE_UPLINK_STRENGTH 
GSM0808_CAUSE_DOWNLINK_QUALITY 
GSM0808_CAUSE_DOWNLINK_STRENGTH 
GSM0808_CAUSE_DISTANCE 
GSM0808_CAUSE_O_AND_M_INTERVENTION 
GSM0808_CAUSE_RESPONSE_TO_MSC_INVOCATION 
GSM0808_CAUSE_CALL_CONTROL 
GSM0808_CAUSE_RADIO_INTERFACE_FAILURE_REVERSION 
GSM0808_CAUSE_HANDOVER_SUCCESSFUL 
GSM0808_CAUSE_BETTER_CELL 
GSM0808_CAUSE_DIRECTED_RETRY 
GSM0808_CAUSE_JOINED_GROUP_CALL_CHANNEL 
GSM0808_CAUSE_TRAFFIC 
GSM0808_CAUSE_REDUCE_LOAD_IN_SERVING_CELL 
GSM0808_CAUSE_TRAFFIC_LOAD_IN_TGT_HIGHER_THAN_IN_SRC_CELL 
GSM0808_CAUSE_RELOCATION_TRIGGERED 
GSM0808_CAUSE_REQUESTED_OPT_NOT_AUTHORISED 
GSM0808_CAUSE_ALT_CHAN_CONFIG_REQUESTED 
GSM0808_CAUSE_RESP_TO_INT_HO_ENQ_MSG 
GSM0808_CAUSE_INT_HO_ENQUIRY_REJECT 
GSM0808_CAUSE_REDUNDANCY_LEVEL_NOT_ADEQUATE 
GSM0808_CAUSE_EQUIPMENT_FAILURE 
GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE 
GSM0808_CAUSE_RQSTED_TERRESTRIAL_RESOURCE_UNAVAILABLE 
GSM0808_CAUSE_CCCH_OVERLOAD 
GSM0808_CAUSE_PROCESSOR_OVERLOAD 
GSM0808_CAUSE_BSS_NOT_EQUIPPED 
GSM0808_CAUSE_MS_NOT_EQUIPPED 
GSM0808_CAUSE_INVALID_CELL 
GSM0808_CAUSE_TRAFFIC_LOAD 
GSM0808_CAUSE_PREEMPTION 
GSM0808_CAUSE_DTM_HO_SGSN_FAILURE 
GSM0808_CAUSE_DTM_HO_PS_ALLOC_FAILURE 
GSM0808_CAUSE_RQSTED_TRANSCODING_RATE_ADAPTION_UNAVAILABLE 
GSM0808_CAUSE_CIRCUIT_POOL_MISMATCH 
GSM0808_CAUSE_SWITCH_CIRCUIT_POOL 
GSM0808_CAUSE_RQSTED_SPEECH_VERSION_UNAVAILABLE 
GSM0808_CAUSE_LSA_NOT_ALLOWED 
GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL 
GSM0808_CAUSE_REQ_A_IF_TYPE_UNAVAIL 
GSM0808_CAUSE_INVALID_CSG_CELL 
GSM0808_CAUSE_REQ_REDUND_LEVEL_NOT_AVAIL 
GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED 
GSM0808_CAUSE_GERAN_IU_MODE_FAILURE 
GSM0808_CAUSE_INC_RELOC_NOT_SUPP_DT_PUESBINE_FEATURE 
GSM0808_CAUSE_ACCESS_RESTRICTED_DUE_TO_SHARED_NETWORKS 
GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP 
GSM0808_CAUSE_REQ_A_IF_TYPE_NOT_SUPP 
GSM0808_CAUSE_REQ_REDUND_LVL_NOT_SUPP 
GSM0808_CAUSE_TERRESTRIAL_CIRCUIT_ALREADY_ALLOCATED 
GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS 
GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING 
GSM0808_CAUSE_INCORRECT_VALUE 
GSM0808_CAUSE_UNKNOWN_MESSAGE_TYPE 
GSM0808_CAUSE_UNKNOWN_INFORMATION_ELEMENT 
GSM0808_CAUSE_DTM_HO_INVALID_PS_IND 
GSM0808_CAUSE_CALL_ID_ALREADY_ALLOC 
GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC 
GSM0808_CAUSE_VGCS_VBS_CALL_NON_EXISTENT 
GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY 

◆ gsm0808_cause_class

Enumerator
GSM0808_CAUSE_CLASS_NORM0 
GSM0808_CAUSE_CLASS_NORM1 
GSM0808_CAUSE_CLASS_RES_UNAVAIL 
GSM0808_CAUSE_CLASS_SRV_OPT_NA 
GSM0808_CAUSE_CLASS_SRV_OPT_NIMPL 
GSM0808_CAUSE_CLASS_INVAL 
GSM0808_CAUSE_CLASS_PERR 
GSM0808_CAUSE_CLASS_INTW 

◆ gsm0808_chan_indicator

Enumerator
GSM0808_CHAN_SPEECH 
GSM0808_CHAN_DATA 
GSM0808_CHAN_SIGN 
GSM0808_CHAN_SPEECH_CTM_TEXT_TELEPHONY 

◆ gsm0808_chan_rate_type_data

Enumerator
GSM0808_DATA_FULL_BM 
GSM0808_DATA_HALF_LM 
GSM0808_DATA_FULL_PREF 
GSM0808_DATA_HALF_PREF 
GSM0808_DATA_FULL_PREF_NO_CHANGE 
GSM0808_DATA_HALF_PREF_NO_CHANGE 
GSM0808_DATA_MULTI_MASK 
GSM0808_DATA_MULTI_MASK_NO_CHANGE 

◆ gsm0808_chan_rate_type_sign

Enumerator
GSM0808_SIGN_ANY 
GSM0808_SIGN_SDCCH 
GSM0808_SIGN_SDCCH_FULL_BM 
GSM0808_SIGN_SDCCH_HALF_LM 
GSM0808_SIGN_FULL_BM 
GSM0808_SIGN_HALF_LM 
GSM0808_SIGN_FULL_PREF 
GSM0808_SIGN_HALF_PREF 
GSM0808_SIGN_FULL_PREF_NO_CHANGE 
GSM0808_SIGN_HALF_PREF_NO_CHANGE 

◆ gsm0808_chan_rate_type_speech

Enumerator
GSM0808_SPEECH_FULL_BM 
GSM0808_SPEECH_HALF_LM 
GSM0808_SPEECH_FULL_PREF 
GSM0808_SPEECH_HALF_PREF 
GSM0808_SPEECH_FULL_PREF_NO_CHANGE 
GSM0808_SPEECH_HALF_PREF_NO_CHANGE 
GSM0808_SPEECH_PERM 
GSM0808_SPEECH_PERM_NO_CHANGE 

◆ gsm0808_channel_type_asym_pref

Enumerator
GSM0808_CT_ASYM_PREF_NOT_APPLICABLE 
GSM0808_CT_ASYM_PREF_UL 
GSM0808_CT_ASYM_PREF_DL 
GSM0808_CT_ASYM_PREF_SPARE 

◆ gsm0808_chosen_enc_alg

Enumerator
GSM0808_ALG_ID_A5_0 
GSM0808_ALG_ID_A5_1 
GSM0808_ALG_ID_A5_2 
GSM0808_ALG_ID_A5_3 
GSM0808_ALG_ID_A5_4 
GSM0808_ALG_ID_A5_5 
GSM0808_ALG_ID_A5_6 
GSM0808_ALG_ID_A5_7 

◆ gsm0808_data_rate_allowed_r_if

Enumerator
GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_43k5 
GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_32k0 
GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_29k0 
GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_14k5 
GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_12k0 
GSM0808_DATA_RATE_NON_TRANSP_ALLOWED_6k0 

◆ gsm0808_data_rate_non_transp

Enumerator
GSM0808_DATA_RATE_NON_TRANSP_12000_6000 
GSM0808_DATA_RATE_NON_TRANSP_43k5 
GSM0808_DATA_RATE_NON_TRANSP_29k0 
GSM0808_DATA_RATE_NON_TRANSP_14k5 
GSM0808_DATA_RATE_NON_TRANSP_12k0 
GSM0808_DATA_RATE_NON_TRANSP_6k0 

◆ gsm0808_data_rate_transp

Enumerator
GSM0808_DATA_RATE_TRANSP_32k0 
GSM0808_DATA_RATE_TRANSP_28k8 
GSM0808_DATA_RATE_TRANSP_14k4 
GSM0808_DATA_RATE_TRANSP_9k6 
GSM0808_DATA_RATE_TRANSP_4k8 
GSM0808_DATA_RATE_TRANSP_2k4 
GSM0808_DATA_RATE_TRANSP_1k2 
GSM0808_DATA_RATE_TRANSP_600 
GSM0808_DATA_RATE_TRANSP_1200_75 

◆ GSM0808_IE_CODING

Enumerator
GSM0808_IE_CIRCUIT_IDENTITY_CODE 
GSM0808_IE_RESERVED_0 
GSM0808_IE_RESOURCE_AVAILABLE 
GSM0808_IE_CAUSE 
GSM0808_IE_CELL_IDENTIFIER 
GSM0808_IE_PRIORITY 
GSM0808_IE_LAYER_3_HEADER_INFORMATION 
GSM0808_IE_IMSI 
GSM0808_IE_TMSI 
GSM0808_IE_ENCRYPTION_INFORMATION 
GSM0808_IE_CHANNEL_TYPE 
GSM0808_IE_PERIODICITY 
GSM0808_IE_EXTENDED_RESOURCE_INDICATOR 
GSM0808_IE_NUMBER_OF_MSS 
GSM0808_IE_RESERVED_1 
GSM0808_IE_RESERVED_2 
GSM0808_IE_RESERVED_3 
GSM0808_IE_CLASSMARK_INFORMATION_T2 
GSM0808_IE_CLASSMARK_INFORMATION_T3 
GSM0808_IE_INTERFERENCE_BAND_TO_USE 
GSM0808_IE_RR_CAUSE 
GSM0808_IE_RESERVED_4 
GSM0808_IE_LAYER_3_INFORMATION 
GSM0808_IE_DLCI 
GSM0808_IE_DOWNLINK_DTX_FLAG 
GSM0808_IE_CELL_IDENTIFIER_LIST 
GSM0808_IE_RESPONSE_RQST 
GSM0808_IE_RESOURCE_INDICATION_METHOD 
GSM0808_IE_CLASSMARK_INFORMATION_TYPE_1 
GSM0808_IE_CIRCUIT_IDENTITY_CODE_LIST 
GSM0808_IE_DIAGNOSTIC 
GSM0808_IE_LAYER_3_MESSAGE_CONTENTS 
GSM0808_IE_CHOSEN_CHANNEL 
GSM0808_IE_TOTAL_RESOURCE_ACCESSIBLE 
GSM0808_IE_CIPHER_RESPONSE_MODE 
GSM0808_IE_CHANNEL_NEEDED 
GSM0808_IE_TRACE_TYPE 
GSM0808_IE_TRIGGERID 
GSM0808_IE_TRACE_REFERENCE 
GSM0808_IE_TRANSACTIONID 
GSM0808_IE_MOBILE_IDENTITY 
GSM0808_IE_OMCID 
GSM0808_IE_FORWARD_INDICATOR 
GSM0808_IE_CHOSEN_ENCR_ALG 
GSM0808_IE_CIRCUIT_POOL 
GSM0808_IE_CIRCUIT_POOL_LIST 
GSM0808_IE_TIME_INDICATION 
GSM0808_IE_RESOURCE_SITUATION 
GSM0808_IE_CURRENT_CHANNEL_TYPE_1 
GSM0808_IE_QUEUEING_INDICATOR 
GSM0808_IE_SPEECH_VERSION 
GSM0808_IE_ASSIGNMENT_REQUIREMENT 
GSM0808_IE_TALKER_FLAG 
GSM0808_IE_CONNECTION_RELEASE_RQSTED 
GSM0808_IE_GROUP_CALL_REFERENCE 
GSM0808_IE_EMLPP_PRIORITY 
GSM0808_IE_CONFIG_EVO_INDI 
GSM0808_IE_OLD_BSS_TO_NEW_BSS_INFORMATION 
GSM0808_IE_LSA_IDENTIFIER 
GSM0808_IE_LSA_IDENTIFIER_LIST 
GSM0808_IE_LSA_INFORMATION 
GSM0808_IE_LCS_QOS 
GSM0808_IE_LSA_ACCESS_CTRL_SUPPR 
GSM0808_IE_LCS_PRIORITY 
GSM0808_IE_LOCATION_TYPE 
GSM0808_IE_LOCATION_ESTIMATE 
GSM0808_IE_POSITIONING_DATA 
GSM0808_IE_LCS_CAUSE 
GSM0808_IE_LCS_CLIENT_TYPE 
GSM0808_IE_APDU 
GSM0808_IE_NETWORK_ELEMENT_IDENTITY 
GSM0808_IE_GPS_ASSISTANCE_DATA 
GSM0808_IE_DECIPHERING_KEYS 
GSM0808_IE_RETURN_ERROR_RQST 
GSM0808_IE_RETURN_ERROR_CAUSE 
GSM0808_IE_SEGMENTATION 
GSM0808_IE_SERVICE_HANDOVER 
GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_UMTS 
GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_CDMA2000 
GSM0808_IE_RESERVED_5 
GSM0808_IE_RESERVED_6 
GSM0808_IE_GERAN_CLASSMARK 
GSM0808_IE_GERAN_BSC_CONTAINER 
GSM0808_IE_NEW_BSS_TO_OLD_BSS_INFO 
GSM0800_IE_INTER_SYSTEM_INFO 
GSM0808_IE_SNA_ACCESS_INFO 
GSM0808_IE_VSTK_RAND_INFO 
GSM0808_IE_VSTK_INFO 
GSM0808_IE_PAGING_INFO 
GSM0808_IE_IMEI 
GSM0808_IE_VELOCITY_ESTIMATE 
GSM0808_IE_VGCS_FEATURE_FLAGS 
GSM0808_IE_TALKER_PRIORITY 
GSM0808_IE_EMERGENCY_SET_INDICATION 
GSM0808_IE_TALKER_IDENTITY 
GSM0808_IE_CELL_ID_LIST_SEGMENT 
GSM0808_IE_SMS_TO_VGCS 
GSM0808_IE_VGCS_TALKER_MODE 
GSM0808_IE_VGCS_VBS_CELL_STATUS 
GSM0808_IE_CELL_ID_LIST_SEG_EST_CELLS 
GSM0808_IE_CELL_ID_LIST_SEG_CELLS_TBE 
GSM0808_IE_CELL_ID_LIST_SEG_REL_CELLS 
GSM0808_IE_CELL_ID_LIST_SEG_NE_CELLS 
GSM0808_IE_GANSS_ASSISTANCE_DATA 
GSM0808_IE_GANSS_POSITIONING_DATA 
GSM0808_IE_GANSS_LOCATION_TYPE 
GSM0808_IE_APP_DATA 
GSM0808_IE_DATA_IDENTITY 
GSM0808_IE_APP_DATA_INFO 
GSM0808_IE_MSISDN 
GSM0808_IE_AOIP_TRASP_ADDR 
GSM0808_IE_SPEECH_CODEC_LIST 
GSM0808_IE_SPEECH_CODEC 
GSM0808_IE_CALL_ID 
GSM0808_IE_CALL_ID_LIST 
GSM0808_IE_A_IF_SEL_FOR_RESET 
GSM0808_IE_KC_128 
GSM0808_IE_CSG_IDENTIFIER 
GSM0808_IE_REDIR_ATTEMPT_FLAG 
GSM0808_IE_REROUTE_REJ_CAUSE 
GSM0808_IE_SEND_SEQ_NUM 
GSM0808_IE_REROUTE_COMPL_OUTCOME 
GSM0808_IE_GLOBAL_CALL_REF 
GSM0808_IE_LCLS_CONFIG 
GSM0808_IE_LCLS_CONN_STATUS_CTRL 
GSM0808_IE_LCLS_CORR_NOT_NEEDED 
GSM0808_IE_LCLS_BSS_STATUS 
GSM0808_IE_LCLS_BREAK_REQ 
GSM0808_IE_CSFB_INDICATION 
GSM0808_IE_CS_TO_PS_SRVCC 
GSM0808_IE_SRC_ENB_TO_TGT_ENB_TRANSP 
GSM0808_IE_CS_TO_PS_SRVCC_IND 
GSM0808_IE_CN_TO_MS_TRANSP_INFO 
GSM0808_IE_SELECTED_PLMN_ID 
GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID 
GSM0808_IE_OLD_LAI 
GSM0808_IE_ATTACH_INDICATOR 
GSM0808_IE_SELECTED_OPERATOR 
GSM0808_IE_PS_REGISTERED_OPERATOR 
GSM0808_IE_CS_REGISTERED_OPERATOR 
GSM0808_IE_OSMO_OSMUX_SUPPORT 
GSM0808_IE_OSMO_OSMUX_CID 

◆ gsm0808_lcls_config

Enumerator
GSM0808_LCLS_CFG_BOTH_WAY 
GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL 
GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL 
GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL_BLOCK_LOCAL_DL 
GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL 
GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL_BLOCK_LOCAL_DL 
GSM0808_LCLS_CFG_NA 

◆ gsm0808_lcls_control

Enumerator
GSM0808_LCLS_CSC_CONNECT 
GSM0808_LCLS_CSC_DO_NOT_CONNECT 
GSM0808_LCLS_CSC_RELEASE_LCLS 
GSM0808_LCLS_CSC_BICAST_UL_AT_HANDOVER 
GSM0808_LCLS_CSC_BICAST_UL_AND_RECV_DL_AT_HANDOVER 
GSM0808_LCLS_CSC_NA 

◆ gsm0808_lcls_status

Enumerator
GSM0808_LCLS_STS_NOT_YET_LS 
GSM0808_LCLS_STS_NOT_POSSIBLE_LS 
GSM0808_LCLS_STS_NO_LONGER_LS 
GSM0808_LCLS_STS_REQ_LCLS_NOT_SUPP 
GSM0808_LCLS_STS_LOCALLY_SWITCHED 
GSM0808_LCLS_STS_NA 

◆ gsm0808_paging_info

Enumerator
GSM0808_PAGINF_FOR_MT_CALL 
GSM0808_PAGINF_FOR_SMS 
GSM0808_PAGINF_FOR_USSD 

◆ gsm0808_permitted_speech

GSM 08.08 3.2.2.11 Channel Type (see also 3GPP TS 48.008, section 3.2.2.11)

Enumerator
GSM0808_PERM_FR1 

GSM FR.

GSM0808_PERM_FR2 

GSM EFR.

GSM0808_PERM_FR3 

FR AMR.

GSM0808_PERM_FR4 

OFR AMR-WB.

GSM0808_PERM_FR5 

FR AMR-WB.

GSM0808_PERM_HR1 

GSM HR.

GSM0808_PERM_HR2 

(deprecated)

GSM0808_PERM_HR3 

HR AMR.

GSM0808_PERM_HR4 

OHR AMR-WB.

GSM0808_PERM_HR6 

OHR AMR.

◆ GSM0808_SIGNALLING_FIELD_ELEMENT_CODING

Enumerator
GSM0808_FE_IE_EXTRA_INFORMATION 
GSM0808_FE_IE_CURRENT_CHANNEL_TYPE_2 
GSM0808_FE_IE_TARGET_CELL_RADIO_INFORMATION 
GSM0808_FE_IE_GPRS_SUSPEND_INFORMATION 
GSM0808_FE_IE_MULTIRATE_CONFIGURATION_INFORMATION 
GSM0808_FE_IE_DUAL_TRANSFER_MODE_INFORMATION 
GSM0808_FE_IE_INTER_RAT_HANDOVER_INFO 
GSM0808_FE_IE_CDMA2000_CAPABILITY_INFORMATION 
GSM0808_FE_IE_DOWNLINK_CELL_LOAD_INFORMATION 
GSM0808_FE_IE_UPLINK_CELL_LOAD_INFORMATION 
GSM0808_FE_IE_CELL_LOAD_INFORMATION_GROUP 
GSM0808_FE_IE_CELL_LOAD_INFORMATION 
GSM0808_FE_IE_PS_INDICATION 
GSM0808_FE_IE_DTM_HANDOVER_COMMAND_INDICATION 
GSM0808_FE_IE_D_RNTI 
GSM0808_FE_IE_IRAT_MEASUREMENT_CONFIGURATION 
GSM0808_FE_IE_SOURCE_CELL_ID 
GSM0808_FE_IE_IRAT_MEASUREMENT_CONFIGURATION_EXTENDED_E_ARFCNS 
GSM0808_FE_IE_VGCS_TALKER_MODE 
GSM0808_FE_IE_LAST_USED_EUTRAN_PLMN_ID 

◆ gsm0808_speech_codec_defaults

Default speech codec configurations: Some codecs specified with struct gsm0808_speech_codec, require a configuration (cfg).

The following default configuration will configure the codec (RTP) to match the configuration that is used on the air interface (Um).

Default values for FR_AMR, HR_AMR and OHR_AMR: See also: 3GPP TS 28.062, Table 7.11.3.1.3-2: Preferred Configurations for the Adaptive Multi-Rate Codec Types and 3GPP TS 48.008, Section 3.2.2.103.

Default values for FR_AMR_WB, OFR_AMR_WB and OHR_AMR_WB: See also: 3GPP TS 26.103, Table 5.7-1: Allowed Configurations for the Adaptive Multi-Rate - Wideband Codec Types

This is a copy of 3GPP TS 28.062, Table 7.11.3.1.3-2:

  S0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15

12,20 (x) x x x 10,20 x x x 7,95 x x x 7,40 x x x x 6,70 x x x x x x 5,90 x x x x x x x x x x 5,15 4,75 x x x x x x x x x x

OM F F F F F F F F F F F A F A F A

HR Y Y Y Y Y Y Y Y Y FR Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

Each bit allows one Codec Configuration. E.g. when bit S3 is set, look at column labeled "3", and see that only 6,7k is active in this configuration; it is "F" forbidden to change in Optimisation Mode, "Y" HR AMR supports this mode, and "Y" FR AMR can also do it.

This means that whichever configuration is chosen from S0 thru S15, there are never more than four rates active.

The spec praises S1 as the most desired configuration: "because it leads in all call cases to TFO/TrFO compatible connections with optimal voice quality." (Since HR AMR supports up to 7.95k, it seems that S14 would be more optimal voice quality, but it is not marked as supported by HR AMR.)

For FR_AMR below, the default of 0x57ff means: 0x57ff = 0101 0111 1111 1111 ^14 ^10 ^0 allow config 0 thru 10, and configs 12 and 14.

For HR_AMR, drop all those where there is no "Y" in the HR row: 0x073f = 0000 0111 0011 1111 ^15 ^11 ^6 ^0

Enumerator
GSM0808_SC_CFG_DEFAULT_FR_AMR 
GSM0808_SC_CFG_DEFAULT_HR_AMR 
GSM0808_SC_CFG_DEFAULT_OHR_AMR 
GSM0808_SC_CFG_DEFAULT_FR_AMR_WB 
GSM0808_SC_CFG_DEFAULT_OFR_AMR_WB 
GSM0808_SC_CFG_DEFAULT_OHR_AMR_WB 

◆ gsm0808_speech_codec_rate

Single speech codec configurations broken down by rate.

See also: 3GPP TS 28.062, Table 7.11.3.1.3-2: Preferred Configurations for the Adaptive Multi-Rate Codec Types.

Set bit Sn (S0 = 0x01), where Sn is identified by a descriptive name.

Enumerator
GSM0808_SC_CFG_AMR_4_75 
GSM0808_SC_CFG_AMR_4_75_5_90_7_40_12_20 
GSM0808_SC_CFG_AMR_5_90 
GSM0808_SC_CFG_AMR_6_70 
GSM0808_SC_CFG_AMR_7_40 
GSM0808_SC_CFG_AMR_7_95 
GSM0808_SC_CFG_AMR_10_2 
GSM0808_SC_CFG_AMR_12_2 

◆ gsm0808_speech_codec_rate_defaults

Default speech codec configurations broken down by rate.

See also: 3GPP TS 28.062, Table 7.11.3.1.3-2: Preferred Configurations for the Adaptive Multi-Rate Codec Types.

Set all Sn bits that have this rate listed as active.

Enumerator
GSM0808_SC_CFG_DEFAULT_AMR_4_75 
GSM0808_SC_CFG_DEFAULT_AMR_5_15 
GSM0808_SC_CFG_DEFAULT_AMR_5_90 
GSM0808_SC_CFG_DEFAULT_AMR_6_70 
GSM0808_SC_CFG_DEFAULT_AMR_7_40 
GSM0808_SC_CFG_DEFAULT_AMR_7_95 
GSM0808_SC_CFG_DEFAULT_AMR_10_2 
GSM0808_SC_CFG_DEFAULT_AMR_12_2 

◆ gsm0808_speech_codec_type

3GPP TS 48.008, 3.2.2.103 Speech Codec Type

Enumerator
GSM0808_SCT_FR1 

GSM FR.

GSM0808_SCT_FR2 

GSM EFR.

GSM0808_SCT_FR3 

FR AMR.

GSM0808_SCT_FR4 

OFR AMR-WB.

GSM0808_SCT_FR5 

FR AMR-WB.

GSM0808_SCT_HR1 

GSM_HR.

GSM0808_SCT_HR3 

HR_AMR.

GSM0808_SCT_HR4 

OHR AMR-WB.

GSM0808_SCT_HR6 

OHR AMR.

GSM0808_SCT_CSD 

CSData (see also TS 26.103)

Function Documentation

◆ gsm0406_dlci_sapi_name()

static const char * gsm0406_dlci_sapi_name ( enum gsm0406_dlci_sapi  val)
inlinestatic

◆ gsm0808_amr_mode_name()

static const char * gsm0808_amr_mode_name ( enum gsm0808_amr_mode  val)
inlinestatic

◆ gsm0808_permitted_speech_name()

static const char * gsm0808_permitted_speech_name ( enum gsm0808_permitted_speech  val)
inlinestatic

◆ gsm0808_speech_codec_type_name()

static const char * gsm0808_speech_codec_type_name ( enum gsm0808_speech_codec_type  val)
inlinestatic

Variable Documentation

◆ 

union { ... }

◆ __attribute__

enum gsm0406_dlci_sapi __attribute__

◆ error_pointer_octet

uint8_t error_pointer_octet

◆ length

◆ link_id

◆ msg

uint8_t msg[0]

Referenced by __attribute__(), abis_nm_put_sw_desc(), abis_nm_put_sw_file(), cbsp_enc_error_ind(), cbsp_enc_failure(), cbsp_enc_keep_alive(), cbsp_enc_kill(), cbsp_enc_kill_compl(), cbsp_enc_kill_fail(), cbsp_enc_load_query(), cbsp_enc_load_query_compl(), cbsp_enc_load_query_fail(), cbsp_enc_msg_status_query(), cbsp_enc_msg_status_query_compl(), cbsp_enc_msg_status_query_fail(), cbsp_enc_reset(), cbsp_enc_reset_compl(), cbsp_enc_reset_fail(), cbsp_enc_restart(), cbsp_enc_write_repl(), cbsp_enc_write_repl_compl(), cbsp_enc_write_repl_fail(), create_simple_msg(), enc_speech_codec(), encode_auth_info(), encode_pdp_info(), gsm0480_create_notifySS(), gsm0480_create_release_complete(), gsm0480_create_unstructuredSS_Notify(), gsm0480_create_ussd_notify(), gsm0480_create_ussd_release_complete(), gsm0480_create_ussd_resp(), gsm0480_gen_reject(), gsm0480_gen_return_error(), gsm0480_gen_ussd_resp_7bit(), gsm0480_wrap_facility(), gsm0480_wrap_invoke(), gsm0808_create_ass2(), gsm0808_create_ass_compl2(), gsm0808_create_ass_fail(), gsm0808_create_cipher2(), gsm0808_create_cipher_complete(), gsm0808_create_cipher_reject(), gsm0808_create_cipher_reject_ext(), gsm0808_create_classmark_request(), gsm0808_create_classmark_update(), gsm0808_create_clear_command(), gsm0808_create_clear_command2(), gsm0808_create_clear_complete(), gsm0808_create_clear_rqst(), gsm0808_create_common_id(), gsm0808_create_dtap(), gsm0808_create_handover_command(), gsm0808_create_handover_complete(), gsm0808_create_handover_detect(), gsm0808_create_handover_failure(), gsm0808_create_handover_performed(), gsm0808_create_handover_request(), gsm0808_create_handover_request_ack2(), gsm0808_create_handover_required(), gsm0808_create_handover_required_reject(), gsm0808_create_handover_succeeded(), gsm0808_create_layer3_2(), gsm0808_create_lcls_conn_ctrl(), gsm0808_create_lcls_conn_ctrl_ack(), gsm0808_create_lcls_notification(), gsm0808_create_notification_data(), gsm0808_create_paging2(), gsm0808_create_perform_location_abort(), gsm0808_create_perform_location_request(), gsm0808_create_perform_location_response(), gsm0808_create_reset(), gsm0808_create_reset_ack(), gsm0808_create_sapi_reject_cause(), gsm0808_create_uplink_app_data(), gsm0808_create_uplink_reject_cmd(), gsm0808_create_uplink_release_cmd(), gsm0808_create_uplink_release_ind(), gsm0808_create_uplink_request(), gsm0808_create_uplink_request_ack(), gsm0808_create_uplink_request_cnf(), gsm0808_create_uplink_seized_cmd(), gsm0808_create_vgcs_additional_info(), gsm0808_create_vgcs_queuing_ind(), gsm0808_create_vgcs_sms(), gsm0808_create_vgcs_vbs_area_cell_info(), gsm0808_create_vgcs_vbs_assign_fail(), gsm0808_create_vgcs_vbs_assign_req(), gsm0808_create_vgcs_vbs_assign_res(), gsm0808_create_vgcs_vbs_assign_stat(), gsm0808_create_vgcs_vbs_setup(), gsm0808_create_vgcs_vbs_setup_ack(), gsm0808_create_vgcs_vbs_setup_refuse(), gsm0808_enc_assign_req(), gsm0808_enc_cell_id(), gsm0808_enc_cell_id_list(), gsm0808_enc_cell_id_list2(), gsm0808_enc_cell_id_list_segment(), gsm0808_enc_channel_type(), gsm0808_enc_data_identity(), gsm0808_enc_encrypt_info(), gsm0808_enc_gcr(), gsm0808_enc_group_callref(), gsm0808_enc_kc128(), gsm0808_enc_lcls(), gsm0808_enc_lcs_cause(), gsm0808_enc_msisdn(), gsm0808_enc_priority(), gsm0808_enc_speech_codec(), gsm0808_enc_speech_codec2(), gsm0808_enc_speech_codec_list(), gsm0808_enc_speech_codec_list2(), gsm0808_enc_talker_identity(), gsm0808_enc_vgcs_feature_flags(), gsm0808_msgb_put_cell_id_u(), gsm0808_prepend_dtap_header(), gsm29118_create_dl_ud(), gsm29118_create_lu_ack(), gsm29118_create_lu_rej(), gsm29118_create_mm_info_req(), gsm29118_create_paging_req(), gsm29118_create_release_req(), gsm29118_create_reset_ack(), gsm29118_create_reset_ind(), gsm29118_create_status(), gsm411_mmsms_cp_data(), gsm411_mmsms_cp_error(), gsm411_mnsms_abort_req(), gsm411_mnsms_data_ind_tx(), gsm411_mnsms_data_req(), gsm411_mnsms_error_ind_rx(), gsm411_mnsms_error_ind_tx(), gsm411_mnsms_est_ind(), gsm411_mnsms_est_req(), gsm411_mnsms_rel_req(), gsm411_push_cp_header(), gsm411_push_rp_header(), gsm411_rl_data_req(), gsm411_rl_report_req(), gsm411_rp_sendmsg(), gsm411_send_abort(), gsm411_send_release(), gsm411_send_report(), gsm411_send_rp_error(), gsm411_smc_recv(), gsm411_smc_send(), gsm411_smr_recv(), gsm411_smr_send(), gsm48_encode_bearer_cap(), gsm48_encode_called(), gsm48_encode_callerid(), gsm48_encode_calling(), gsm48_encode_cause(), gsm48_encode_cccap(), gsm48_encode_connected(), gsm48_encode_facility(), gsm48_encode_keypad(), gsm48_encode_more(), gsm48_encode_notify(), gsm48_encode_progress(), gsm48_encode_redirecting(), gsm48_encode_signal(), gsm48_encode_ssversion(), gsm48_encode_useruser(), gsm48_push_l3hdr(), ipa_ccm_make_id_resp(), ipa_ccm_rcvmsg_base(), ipa_ccm_rcvmsg_bts_base(), ipa_prepend_header(), ipa_prepend_header_ext(), ipa_send(), irp_error_event_alloc_c(), itp_copy_c(), l2_ph_chan_conf(), l2_ph_data_conf(), l2_ph_data_ind(), l2_ph_rach_ind(), lapdm_pad_msgb(), lapdm_phsap_dequeue_prim_fn(), lapdm_rslms_recvmsg(), lapdm_send_ph_data_req(), msgb_l16tv_put(), msgb_lv_put(), msgb_put_cbsp_cell_list(), msgb_put_cbsp_fail_list(), msgb_put_cbsp_loading_list(), msgb_put_cbsp_num_compl_list(), msgb_sgsap_imsi_put(), msgb_sgsap_lai_put(), msgb_sgsap_name_put(), msgb_t16lv_put(), msgb_tl16v_put(), msgb_tl_put(), msgb_tlv16_put(), msgb_tlv1_push(), msgb_tlv_push(), msgb_tlv_put(), msgb_tv16_push(), msgb_tv16_put(), msgb_tv32_push(), msgb_tv32_put(), msgb_tv_fixed_put(), msgb_tv_push(), msgb_tv_put(), msgb_tvl_put(), msgb_tvlv_push(), msgb_tvlv_put(), msgb_tvlv_put_16be(), msgb_tvlv_put_32be(), msgb_v_put(), msgb_vtvl_gan_push(), msgb_vtvlv_gan_push(), msgb_vtvlv_gan_put(), osmo_bssap_le_dec(), osmo_bssap_le_enc(), osmo_bsslap_enc(), osmo_bsslap_ie_enc_cause(), osmo_bsslap_ie_enc_cell_id(), osmo_bsslap_ie_enc_chan_desc(), osmo_bsslap_ie_enc_ta(), osmo_bssmap_le_enc(), osmo_bssmap_le_enc_conn_oriented_info(), osmo_bssmap_le_enc_perform_loc_abort(), osmo_bssmap_le_enc_perform_loc_req(), osmo_bssmap_le_enc_perform_loc_resp(), osmo_bssmap_le_enc_reset(), osmo_bssmap_le_ie_enc_apdu(), osmo_bssmap_le_ie_enc_lcs_client_type(), osmo_bssmap_le_ie_enc_lcs_priority(), osmo_bssmap_le_ie_enc_lcs_qos(), osmo_bssmap_le_ie_enc_location_type(), osmo_cbsp_encode(), osmo_enc_gcr(), osmo_gad_raw_write(), osmo_gsup_encode(), osmo_gsup_encode_an_apdu(), osmo_gsup_sms_encode_sm_rp_da(), osmo_gsup_sms_encode_sm_rp_oa(), osmo_iuup_rnl_prim_alloc(), osmo_iuup_tnl_prim_alloc(), osmo_lcs_cause_enc(), osmo_mobile_identity_decode_from_l3(), osmo_mobile_identity_encode_msgb(), osmo_oap_client_encoded(), osmo_oap_encode(), osmo_routing_area_id_encode_msgb(), put_old_bss_to_new_bss_information(), rnl_to_tnl_data(), rsl_rll_error(), rsl_rll_push_hdr(), rsl_rll_push_l3(), rsl_rll_simple(), rslms_rx_chan_rqd(), rslms_rx_com_chan(), rslms_rx_rll(), rslms_rx_rll_data_req(), rslms_rx_rll_est_req(), rslms_rx_rll_rel_req(), rslms_rx_rll_res_req(), rslms_rx_rll_susp_req(), rslms_rx_rll_udata_req(), rslms_sendmsg(), send_rll_simple(), send_rslms_rll_l3(), send_rslms_rll_l3_ui(), tlv_encode(), tlv_encode_one(), tlv_encode_ordered(), tnl_to_rnl_data(), tnp_ctrl_init_alloc(), tx_dequeue_acch_msgb(), tx_dequeue_dcch_msgb(), tx_dequeue_msgb(), tx_ph_data_enqueue(), tx_ph_data_enqueue_ui(), and update_pending_frames().

◆ type

uint8_t type