diff options
-rw-r--r-- | include/osmocom/gsm/protocol/gsm_08_08.h | 5 | ||||
-rw-r--r-- | src/gsm/gsm0808.c | 14 | ||||
-rw-r--r-- | src/gsm/libosmogsm.map | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index 6ae6855c..ba347eff 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -6,6 +6,7 @@ #include <stdbool.h> #include <stdint.h> #include <osmocom/core/linuxlist.h> +#include <osmocom/core/utils.h> /* * this is from GSM 03.03 CGI but is copied in GSM 08.08 @@ -420,6 +421,10 @@ enum gsm0808_speech_codec_type { GSM0808_SCT_CSD = 0xfd, /*!< CSData (see also TS 26.103) */ }; +extern const struct value_string gsm0808_speech_codec_type_names[]; +static inline const char *gsm0808_speech_codec_type_name(enum gsm0808_speech_codec_type val) +{ return get_value_string(gsm0808_speech_codec_type_names, val); } + /* GSM 08.08 3.2.2.44 Chosen Encryption Algorithm */ enum gsm0808_chosen_enc_alg { GSM0808_ALG_ID_A5_0 = 0x01, diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index abf3d251..c0be374d 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -842,4 +842,18 @@ const char *gsm0808_bssap_name(uint8_t msg_type) return get_value_string(gsm0808_bssap_names, msg_type); } +const struct value_string gsm0808_speech_codec_type_names[] = { + { GSM0808_SCT_FR1, "FR1" }, + { GSM0808_SCT_FR2, "FR2" }, + { GSM0808_SCT_FR3, "FR3" }, + { GSM0808_SCT_FR4, "FR4" }, + { GSM0808_SCT_FR5, "FR5" }, + { GSM0808_SCT_HR1, "HR1" }, + { GSM0808_SCT_HR3, "HR3" }, + { GSM0808_SCT_HR4, "HR4" }, + { GSM0808_SCT_HR6, "HR6" }, + { GSM0808_SCT_CSD, "CSD" }, + { 0, NULL } +}; + /*! @} */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 5611ba3f..985ec839 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -172,6 +172,7 @@ gsm0808_enc_cell_id_list; gsm0808_dec_cell_id_list; gsm0808_chan_type_to_speech_codec; gsm0808_speech_codec_from_chan_type; +gsm0808_speech_codec_type_names; gsm0858_rsl_ul_meas_enc; |