libosmogsm UNKNOWN
Osmocom GSM library
Loading...
Searching...
No Matches

Go to the source code of this file.

Data Structures

struct  gsm0808_cipher_mode_command
struct  gsm0808_old_bss_to_new_bss_info
 3GPP TS 48.008 §3.2.2.5.8 Old BSS to New BSS information More...
struct  gsm0808_handover_required
 3GPP TS 48.008 §3.2.1.9 HANDOVER REQUIRED More...
struct  gsm0808_handover_required_reject
 3GPP TS 48.008 §3.2.1.37 HANDOVER REQUIRED REJECT More...
struct  gsm0808_handover_request
 3GPP TS 48.008 §3.2.1.8 HANDOVER REQUEST More...
struct  gsm0808_handover_request_ack
struct  gsm0808_handover_command
struct  gsm0808_handover_complete
struct  gsm0808_handover_failure
struct  gsm0808_handover_performed
struct  gsm0808_vgcs_vbs_setup
 3GPP TS 48.008 §3.2.1.50 VGCS/VBS SETUP More...
struct  gsm0808_vgcs_vbs_setup_ack
 3GPP TS 48.008 §3.2.1.51 VGCS/VBS SETUP ACK More...
struct  gsm0808_vgcs_vbs_assign_req
 3GPP TS 48.008 §3.2.1.53 VGCS/VBS ASSIGNMENT REQUEST More...
struct  gsm0808_vgcs_vbs_assign_res
 3GPP TS 48.008 §3.2.1.54 VGCS/VBS ASSIGNMENT RESULT More...
struct  gsm0808_vgcs_vbs_assign_fail
 3GPP TS 48.008 §3.2.1.55 VGCS/VBS ASSIGNMENT FAILURE More...
 3GPP TS 48.008 §3.2.1.57 (VGCS) UPLINK REQUEST More...
 3GPP TS 48.008 §3.2.1.58 (VGCS) UPLINK REQUEST ACKNOWLEDGE More...
 3GPP TS 48.008 §3.2.1.59 (VGCS) UPLINK REQUEST CONFIRM More...
 3GPP TS 48.008 §3.2.1.59a (VGCS) UPLINK APPLICATION DATA More...
 3GPP TS 48.008 §3.2.1.60 (VGCS) UPLINK RELEASE INDICATION More...
 3GPP TS 48.008 §3.2.1.61 (VGCS) UPLINK REJECT COMMAND More...
 3GPP TS 48.008 §3.2.1.63 (VGCS) UPLINK SEIZED COMMAND More...
struct  gsm0808_vgcs_vbs_area_cell_info
 3GPP TS 48.008 §3.2.1.79 VGCS/VBS AREA CELL INFO More...
struct  gsm0808_vgcs_vbs_assign_stat
 3GPP TS 48.008 §3.2.1.80 VGCS/VBS ASSIGNMENT STATUS More...
struct  gsm0808_notification_data
 3GPP TS 48.008 §3.2.1.82 (VGCS/VBS) NOTIFICATION DATA More...

Macros

#define BSSMAP_MSG_SIZE   1024
#define BSSMAP_MSG_HEADROOM   512
#define osmo_bssap_tlv_parse(dec, buf, len)
 Parse BSSAP TLV structure using tlv_parse.
#define osmo_bssap_tlv_parse2(dec, dec_multiples, buf, len)
 Parse BSSAP TLV structure using tlv_parse2.

Functions

struct msgbgsm0808_create_layer3 (struct msgb *msg_l3, uint16_t nc, uint16_t cc, int lac, uint16_t _ci)
 Create "Complete L3 Info" for A, legacy implementation.
struct msgbgsm0808_create_layer3_aoip (const struct msgb *msg_l3, uint16_t nc, uint16_t cc, int lac, uint16_t _ci, const struct gsm0808_speech_codec_list *scl)
 Create "Complete L3 Info" for AoIP, legacy implementation.
struct msgbgsm0808_create_layer3_2 (const struct msgb *msg_l3, const struct osmo_cell_global_id *cell, const struct gsm0808_speech_codec_list *scl)
 Create "Complete L3 Info" for AoIP.
struct msgbgsm0808_create_reset (void)
 Create BSSMAP RESET message.
struct msgbgsm0808_create_reset_ack (void)
 Create BSSMAP RESET ACK message.
struct msgbgsm0808_create_clear_command (uint8_t cause)
 Create BSSMAP Clear Command message with BSSAP header before l3h and BSSMAP in l3h.
struct msgbgsm0808_create_clear_command2 (uint8_t cause, bool csfb_ind)
 Create BSSMAP Clear Command message.
struct msgbgsm0808_create_clear_complete (void)
 Create BSSMAP Clear Complete message.
struct msgbgsm0808_create_cipher (const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode)
 Superseded by gsm0808_create_cipher2() to include Kc128.
struct msgbgsm0808_create_cipher2 (const struct gsm0808_cipher_mode_command *cmc)
 Create BSSMAP Cipher Mode Command message.
struct msgbgsm0808_create_cipher_complete (struct msgb *layer3, uint8_t alg_id)
 Create BSSMAP Cipher Mode Complete message.
struct msgbgsm0808_create_cipher_reject (enum gsm0808_cause cause)
 Create BSSMAP Cipher Mode Reject message.
struct msgbgsm0808_create_cipher_reject_ext (enum gsm0808_cause_class class, uint8_t ext)
 Create BSSMAP Cipher Mode Reject message.
struct msgbgsm0808_create_classmark_request (void)
 Create BSSMAP Classmark Request message.
struct msgbgsm0808_create_classmark_update (const uint8_t *cm2, uint8_t cm2_len, const uint8_t *cm3, uint8_t cm3_len)
 Create BSSMAP Classmark Update message.
struct msgbgsm0808_create_sapi_reject_cause (uint8_t link_id, uint16_t cause)
 Create BSSMAP SAPI N Reject message.
struct msgbgsm0808_create_sapi_reject (uint8_t link_id)
 Create BSSMAP SAPI N Reject message (with hard-coded cause "BSS not equipped").
struct msgbgsm0808_create_ass (const struct gsm0808_channel_type *ct, const uint16_t *cic, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec_list *scl, const uint32_t *ci)
 Create BSSMAP Assignment Request message, 3GPP TS 48.008 §3.2.1.1.
struct msgbgsm0808_create_ass2 (const struct gsm0808_channel_type *ct, const uint16_t *cic, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec_list *scl, const uint32_t *ci, const uint8_t *kc, const struct osmo_lcls *lcls)
 Create BSSMAP Assignment Request message, 3GPP TS 48.008 §3.2.1.1.
struct msgbgsm0808_create_ass_compl (uint8_t rr_cause, uint8_t chosen_channel, uint8_t encr_alg_id, uint8_t speech_mode, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec *sc, const struct gsm0808_speech_codec_list *scl)
 Create BSSMAP Assignment Completed message.
struct msgbgsm0808_create_ass_compl2 (uint8_t rr_cause, uint8_t chosen_channel, uint8_t encr_alg_id, uint8_t speech_mode, const struct sockaddr_storage *ss, const struct gsm0808_speech_codec *sc, const struct gsm0808_speech_codec_list *scl, enum gsm0808_lcls_status lcls_bss_status)
 Create BSSMAP Assignment Completed message as per 3GPP TS 48.008 §3.2.1.2.
struct msgbgsm0808_create_assignment_completed (uint8_t rr_cause, uint8_t chosen_channel, uint8_t encr_alg_id, uint8_t speech_mode)
 Create BSSMAP Assignment Completed message.
struct msgbgsm0808_create_ass_fail (uint8_t cause, const uint8_t *rr_cause, const struct gsm0808_speech_codec_list *scl)
 Create BSSMAP Assignment Failure message.
struct msgbgsm0808_create_assignment_failure (uint8_t cause, uint8_t *rr_cause)
 Create BSSMAP Assignment Failure message.
struct msgbgsm0808_create_clear_rqst (uint8_t cause)
 Create BSSMAP Clear Request message.
struct msgbgsm0808_create_paging2 (const char *imsi, const uint32_t *tmsi, const struct gsm0808_cell_id_list2 *cil, const uint8_t *chan_needed)
 Create BSSMAP PAGING message.
struct msgbgsm0808_create_paging (const char *imsi, const uint32_t *tmsi, const struct gsm0808_cell_id_list *cil, const uint8_t *chan_needed)
 DEPRECATED: Use gsm0808_create_paging2 instead.
struct msgbgsm0808_create_lcls_conn_ctrl (enum gsm0808_lcls_config config, enum gsm0808_lcls_control control)
 Create BSSMAP LCLS CONNECT CONTROL message (TS 48.008 3.2.1.91).
struct msgbgsm0808_create_lcls_conn_ctrl_ack (enum gsm0808_lcls_status status)
 Create BSSMAP LCLS CONNECT CONTROL ACK message (TS 48.008 3.2.1.92).
struct msgbgsm0808_create_lcls_notification (enum gsm0808_lcls_status status, bool break_req)
 Create BSSMAP LCLS NOTIFICATION message (TS 48.008 3.2.1.93).
struct msgbgsm0808_create_common_id (const char *imsi, const struct osmo_plmn_id *selected_plmn_id, const struct osmo_plmn_id *last_used_eutran_plnm_id)
 Create BSSMAP COMMON ID message, 3GPP TS 48.008 3.2.1.68.
struct msgbgsm0808_create_handover_required (const struct gsm0808_handover_required *params)
 Create BSSMAP HANDOVER REQUIRED message.
struct msgbgsm0808_create_handover_required_reject (const struct gsm0808_handover_required_reject *params)
 Create BSSMAP HANDOVER REQUIRED REJECT message.
struct msgbgsm0808_create_handover_request (const struct gsm0808_handover_request *params)
 Create BSSMAP HANDOVER REQUEST message, 3GPP TS 48.008 3.2.1.8.
struct msgbgsm0808_create_handover_request_ack (const uint8_t *l3_info, uint8_t l3_info_len, uint8_t chosen_channel, uint8_t chosen_encr_alg, uint8_t chosen_speech_version)
 Same as gsm0808_create_handover_request_ack2() but with less parameters.
struct msgbgsm0808_create_handover_request_ack2 (const struct gsm0808_handover_request_ack *params)
 Create BSSMAP HANDOVER REQUEST ACKNOWLEDGE message, 3GPP TS 48.008 3.2.1.10.
struct msgbgsm0808_create_handover_command (const struct gsm0808_handover_command *params)
 Create BSSMAP HANDOVER COMMAND message, 3GPP TS 48.008 3.2.1.11.
struct msgbgsm0808_create_handover_detect (void)
 Create BSSMAP HANDOVER DETECT message, 3GPP TS 48.008 3.2.1.40.
struct msgbgsm0808_create_handover_succeeded (void)
 Create BSSMAP HANDOVER SUCCEEDED message, 3GPP TS 48.008 3.2.1.13.
struct msgbgsm0808_create_handover_complete (const struct gsm0808_handover_complete *params)
 Create BSSMAP HANDOVER COMPLETE message, 3GPP TS 48.008 3.2.1.12.
struct msgbgsm0808_create_handover_failure (const struct gsm0808_handover_failure *params)
 Create BSSMAP HANDOVER FAILURE message, 3GPP TS 48.008 3.2.1.16.
struct msgbgsm0808_create_handover_performed (const struct gsm0808_handover_performed *params)
 Create BSSMAP HANDOVER PERFORMED message, 3GPP TS 48.008 3.2.1.25.
struct msgbgsm0808_create_vgcs_vbs_setup (const struct gsm0808_vgcs_vbs_setup *params)
 Create BSSMAP VGCS/VBS SETUP message, 3GPP TS 48.008 3.2.1.50.
struct msgbgsm0808_create_vgcs_vbs_setup_ack (const struct gsm0808_vgcs_vbs_setup_ack *params)
 Create BSSMAP VGCS/VBS SETUP ACK message, 3GPP TS 48.008 3.2.1.51.
struct msgbgsm0808_create_vgcs_vbs_setup_refuse (enum gsm0808_cause cause)
 3GPP TS 48.008 §3.2.1.52 VGCS/VBS SETUP REFUSE
struct msgbgsm0808_create_vgcs_vbs_assign_req (const struct gsm0808_vgcs_vbs_assign_req *params)
 Create BSSMAP VGCS/VBS ASSIGNMENT REQUEST message, 3GPP TS 48.008 3.2.1.53.
struct msgbgsm0808_create_vgcs_vbs_assign_res (const struct gsm0808_vgcs_vbs_assign_res *params)
 Create BSSMAP VGCS/VBS ASSIGNMENT RESULT message, 3GPP TS 48.008 3.2.1.54.
struct msgbgsm0808_create_vgcs_vbs_assign_fail (const struct gsm0808_vgcs_vbs_assign_fail *params)
 Create BSSMAP VGCS/VBS ASSIGNMENT FAILURE message, 3GPP TS 48.008 3.2.1.55.
struct msgbgsm0808_create_uplink_request (const struct gsm0808_uplink_request *params)
 Create BSSMAP (VGCS) UPLINK REQUEST message, 3GPP TS 48.008 3.2.1.57.
struct msgbgsm0808_create_uplink_request_ack (const struct gsm0808_uplink_request_ack *params)
 Create BSSMAP (VGCS) UPLINK REQUEST ACKNOWLEDGE message, 3GPP TS 48.008 3.2.1.58.
struct msgbgsm0808_create_uplink_request_cnf (const struct gsm0808_uplink_request_cnf *params)
 Create BSSMAP (VGCS) UPLINK CONFIRM message, 3GPP TS 48.008 3.2.1.59.
struct msgbgsm0808_create_uplink_app_data (const struct gsm0808_uplink_app_data *params)
 Create BSSMAP (VGCS) UPLINK APPLICATION DATA message, 3GPP TS 48.008 3.2.1.59a.
struct msgbgsm0808_create_uplink_release_ind (const struct gsm0808_uplink_release_ind *params)
 Create BSSMAP (VGCS) UPLINK RELEASE INDICATION message, 3GPP TS 48.008 3.2.1.60.
struct msgbgsm0808_create_uplink_reject_cmd (const struct gsm0808_uplink_reject_cmd *params)
 Create BSSMAP (VGCS) UPLINK REJECT COMMAND message, 3GPP TS 48.008 3.2.1.61.
struct msgbgsm0808_create_uplink_release_cmd (const enum gsm0808_cause cause)
 3GPP TS 48.008 §3.2.1.62 (VGCS) UPLINK RELEASE COMMAND
struct msgbgsm0808_create_uplink_seized_cmd (const struct gsm0808_uplink_seized_cmd *params)
 Create BSSMAP (VGCS) UPLINK SEIZED COMMAND message, 3GPP TS 48.008 3.2.1.62.
struct msgbgsm0808_create_vgcs_additional_info (const struct gsm0808_talker_identity *ti)
 3GPP TS 48.008 §3.2.1.78 VGCS ADDITIONAL INFORMATION
struct msgbgsm0808_create_vgcs_vbs_area_cell_info (const struct gsm0808_vgcs_vbs_area_cell_info *params)
 Create BSSMAP VGCS/VBS AREA CELL INFO message, 3GPP TS 48.008 3.2.1.79.
struct msgbgsm0808_create_vgcs_vbs_assign_stat (const struct gsm0808_vgcs_vbs_assign_stat *params)
 Create BSSMAP VGCS/VBS ASSIGNMENT STATUS message, 3GPP TS 48.008 3.2.1.80.
struct msgbgsm0808_create_vgcs_sms (const struct gsm0808_sms_to_vgcs *sms)
 3GPP TS 48.008 §3.2.1.81 VGCS SMS
struct msgbgsm0808_create_notification_data (const struct gsm0808_notification_data *params)
 Create BSSMAP (VGCS/VBS) NOTIFICATION DATA message, 3GPP TS 48.008 3.2.1.82.
struct msgbgsm0808_create_dtap (struct msgb *msg_l3, uint8_t link_id)
 Create BSSMAP DTAP message.
void gsm0808_prepend_dtap_header (struct msgb *msg, uint8_t link_id)
 Prepend a DTAP header to given Message Buffer.
const struct tlv_definitiongsm0808_att_tlvdef (void)
const char * gsm0808_bssmap_name (uint8_t msg_type)
 Return string name of BSSMAP Message Type.
const char * gsm0808_bssap_name (uint8_t msg_type)
 Return string name of BSSAP Message Type.
const char * gsm0808_cause_name (enum gsm0808_cause cause)
 Return string name of BSSMAP Cause name.
const char * gsm0808_cause_class_name (enum gsm0808_cause_class class)
 Return string name of BSSMAP Cause Class name.
enum gsm0808_cause gsm0808_get_cause (const struct tlv_parsed *tp)
 Parse Cause TLV 3GPP TS 08.08 §3.2.2.5.
const char * gsm0808_diagnostics_octet_location_str (uint8_t pointer)
const char * gsm0808_diagnostics_bit_location_str (uint8_t bit_pointer)
static const char * gsm0808_lcls_config_name (enum gsm0808_lcls_config val)
static const char * gsm0808_lcls_control_name (enum gsm0808_lcls_control val)
static const char * gsm0808_lcls_status_name (enum gsm0808_lcls_status val)

Variables

struct msgb to not lose leading zeros in the MNC
const struct tlv_definition gsm0808_old_bss_to_new_bss_info_att_tlvdef
const struct value_string gsm0808_lcls_config_names []
const struct value_string gsm0808_lcls_control_names []
const struct value_string gsm0808_lcls_status_names []