libosmogsm 1.9.0.196-9975
Osmocom GSM library

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...
 
struct  gsm0808_uplink_request
 3GPP TS 48.008 §3.2.1.57 (VGCS) UPLINK REQUEST More...
 
struct  gsm0808_uplink_request_ack
 3GPP TS 48.008 §3.2.1.58 (VGCS) UPLINK REQUEST ACKNOWLEDGE More...
 
struct  gsm0808_uplink_request_cnf
 3GPP TS 48.008 §3.2.1.59 (VGCS) UPLINK REQUEST CONFIRM More...
 
struct  gsm0808_uplink_app_data
 3GPP TS 48.008 §3.2.1.59a (VGCS) UPLINK APPLICATION DATA More...
 
struct  gsm0808_uplink_release_ind
 3GPP TS 48.008 §3.2.1.60 (VGCS) UPLINK RELEASE INDICATION More...
 
struct  gsm0808_uplink_reject_cmd
 3GPP TS 48.008 §3.2.1.61 (VGCS) UPLINK REJECT COMMAND More...
 
struct  gsm0808_uplink_seized_cmd
 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)   tlv_parse(dec, gsm0808_att_tlvdef(), buf, len, 0, 0)
 Parse BSSAP TLV structure using tlv_parse. More...
 
#define osmo_bssap_tlv_parse2(dec, dec_multiples, buf, len)    tlv_parse2(dec, dec_multiples, gsm0808_att_tlvdef(), buf, len, 0, 0)
 Parse BSSAP TLV structure using tlv_parse2. More...
 

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. More...
 
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. More...
 
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. More...
 
struct msgbgsm0808_create_reset (void)
 Create BSSMAP RESET message. More...
 
struct msgbgsm0808_create_reset_ack (void)
 Create BSSMAP RESET ACK message. More...
 
struct msgbgsm0808_create_clear_command (uint8_t cause)
 Create BSSMAP Clear Command message with BSSAP header before l3h and BSSMAP in l3h. More...
 
struct msgbgsm0808_create_clear_command2 (uint8_t cause, bool csfb_ind)
 Create BSSMAP Clear Command message. More...
 
struct msgbgsm0808_create_clear_complete (void)
 Create BSSMAP Clear Complete message. More...
 
struct msgbgsm0808_create_cipher (const struct gsm0808_encrypt_info *ei, const uint8_t *cipher_response_mode)
 Superseded by gsm0808_create_cipher2() to include Kc128. More...
 
struct msgbgsm0808_create_cipher2 (const struct gsm0808_cipher_mode_command *cmc)
 Create BSSMAP Cipher Mode Command message. More...
 
struct msgbgsm0808_create_cipher_complete (struct msgb *layer3, uint8_t alg_id)
 Create BSSMAP Cipher Mode Complete message. More...
 
struct msgbgsm0808_create_cipher_reject (enum gsm0808_cause cause)
 Create BSSMAP Cipher Mode Reject message. More...
 
struct msgbgsm0808_create_cipher_reject_ext (enum gsm0808_cause_class class, uint8_t ext)
 Create BSSMAP Cipher Mode Reject message. More...
 
struct msgbgsm0808_create_classmark_request (void)
 Create BSSMAP Classmark Request message. More...
 
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. More...
 
struct msgbgsm0808_create_sapi_reject_cause (uint8_t link_id, uint16_t cause)
 Create BSSMAP SAPI N Reject message. More...
 
struct msgbgsm0808_create_sapi_reject (uint8_t link_id)
 Create BSSMAP SAPI N Reject message (with hard-coded cause "BSS not equipped"). More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
struct msgbgsm0808_create_assignment_failure (uint8_t cause, uint8_t *rr_cause)
 Create BSSMAP Assignment Failure message. More...
 
struct msgbgsm0808_create_clear_rqst (uint8_t cause)
 Create BSSMAP Clear Request message. More...
 
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. More...
 
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. More...
 
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). More...
 
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). More...
 
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). More...
 
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. More...
 
struct msgbgsm0808_create_handover_required (const struct gsm0808_handover_required *params)
 Create BSSMAP HANDOVER REQUIRED message. More...
 
struct msgbgsm0808_create_handover_required_reject (const struct gsm0808_handover_required_reject *params)
 Create BSSMAP HANDOVER REQUIRED REJECT message. More...
 
struct msgbgsm0808_create_handover_request (const struct gsm0808_handover_request *params)
 Create BSSMAP HANDOVER REQUEST message, 3GPP TS 48.008 3.2.1.8. More...
 
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. More...
 
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. More...
 
struct msgbgsm0808_create_handover_command (const struct gsm0808_handover_command *params)
 Create BSSMAP HANDOVER COMMAND message, 3GPP TS 48.008 3.2.1.11. More...
 
struct msgbgsm0808_create_handover_detect (void)
 Create BSSMAP HANDOVER DETECT message, 3GPP TS 48.008 3.2.1.40. More...
 
struct msgbgsm0808_create_handover_succeeded (void)
 Create BSSMAP HANDOVER SUCCEEDED message, 3GPP TS 48.008 3.2.1.13. More...
 
struct msgbgsm0808_create_handover_complete (const struct gsm0808_handover_complete *params)
 Create BSSMAP HANDOVER COMPLETE message, 3GPP TS 48.008 3.2.1.12. More...
 
struct msgbgsm0808_create_handover_failure (const struct gsm0808_handover_failure *params)
 Create BSSMAP HANDOVER FAILURE message, 3GPP TS 48.008 3.2.1.16. More...
 
struct msgbgsm0808_create_handover_performed (const struct gsm0808_handover_performed *params)
 Create BSSMAP HANDOVER PERFORMED message, 3GPP TS 48.008 3.2.1.25. More...
 
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. More...
 
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. More...
 
struct msgbgsm0808_create_vgcs_vbs_setup_refuse (enum gsm0808_cause cause)
 3GPP TS 48.008 §3.2.1.52 VGCS/VBS SETUP REFUSE More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
struct msgbgsm0808_create_uplink_release_cmd (const enum gsm0808_cause cause)
 3GPP TS 48.008 §3.2.1.62 (VGCS) UPLINK RELEASE COMMAND More...
 
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. More...
 
struct msgbgsm0808_create_vgcs_additional_info (const struct gsm0808_talker_identity *ti)
 3GPP TS 48.008 §3.2.1.78 VGCS ADDITIONAL INFORMATION More...
 
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. More...
 
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. More...
 
struct msgbgsm0808_create_vgcs_sms (const struct gsm0808_sms_to_vgcs *sms)
 3GPP TS 48.008 §3.2.1.81 VGCS SMS More...
 
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. More...
 
struct msgbgsm0808_create_dtap (struct msgb *msg_l3, uint8_t link_id)
 Create BSSMAP DTAP message. More...
 
void gsm0808_prepend_dtap_header (struct msgb *msg, uint8_t link_id)
 Prepend a DTAP header to given Message Buffer. More...
 
const struct tlv_definitiongsm0808_att_tlvdef (void)
 
const char * gsm0808_bssmap_name (uint8_t msg_type)
 Return string name of BSSMAP Message Type. More...
 
const char * gsm0808_bssap_name (uint8_t msg_type)
 Return string name of BSSAP Message Type. More...
 
const char * gsm0808_cause_name (enum gsm0808_cause cause)
 Return string name of BSSMAP Cause name. More...
 
const char * gsm0808_cause_class_name (enum gsm0808_cause_class class)
 Return string name of BSSMAP Cause Class name. More...
 
enum gsm0808_cause gsm0808_get_cause (const struct tlv_parsed *tp)
 Parse Cause TLV 3GPP TS 08.08 §3.2.2.5. More...
 
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 []