@@ -199,6 +199,8 @@ enum gsm_chan_t {
_GSM_LCHAN_MAX
};
+const char * osmo_gsm48_chan_type2str(enum gsm_chan_t type);
+
/* Deprectated functions */
/* Limit encoding and decoding to use no more than this amount of buffer bytes */
#define GSM_7BIT_LEGACY_MAX_BUFFER_SIZE 0x10000
@@ -347,6 +347,8 @@ enum gsm48_chan_mode {
GSM48_CMODE_DATA_3k6 = 0x13,
};
+const char * osmo_gsm48_chan_mode2str(enum gsm48_chan_mode);
+
/* Chapter 9.1.2 */
struct gsm48_ass_cmd {
/* Semantic is from 10.5.2.5a */
@@ -197,6 +197,23 @@ static const char *cc_state_names[32] = {
"illegal state 31",
};
+static const struct value_string gsm48_chan_modes[] = {
+ {GSM48_CMODE_SIGN, "SIGNALLING"},
+ {GSM48_CMODE_SPEECH_V1, "SPEECH_V1"},
+ {GSM48_CMODE_SPEECH_EFR, "SPEECH_EFR"},
+ {GSM48_CMODE_SPEECH_AMR, "SPEECH_AMR"},
+ {GSM48_CMODE_DATA_14k5, "DATA_14k5"},
+ {GSM48_CMODE_DATA_12k0, "DATA_12k0"},
+ {GSM48_CMODE_DATA_6k0, "DATA_6k0"},
+ {GSM48_CMODE_DATA_3k6, "DATA_3k6"},
+ { 0, NULL },
+};
+
+const char * osmo_gsm48_chan_mode2str(enum gsm48_chan_mode mode)
+{
+ return get_value_string(gsm48_chan_modes, mode);
+}
+
const char *gsm48_cc_state_name(uint8_t state)
{
if (state < ARRAY_SIZE(cc_state_names))
@@ -691,6 +691,23 @@ uint32_t gprs_tmsi2tlli(uint32_t p_tmsi, enum gprs_tlli_type type)
return tlli;
}
+static const struct value_string gsm48_chan_types[] = {
+ { GSM_LCHAN_NONE, "NONE"},
+ { GSM_LCHAN_SDCCH, "SDCCH"},
+ { GSM_LCHAN_TCH_F, "TCH_F"},
+ { GSM_LCHAN_TCH_H, "TCH_H"},
+ { GSM_LCHAN_UNKNOWN, "UNKNOWN"},
+ { GSM_LCHAN_CCCH, "CCCH"},
+ { GSM_LCHAN_PDTCH, "PDTCH"},
+ { GSM_LCHAN_CBCH, "CBCH"},
+ { 0, NULL },
+};
+
+const char * osmo_gsm48_chan_type2str(enum gsm_chan_t type)
+{
+ return get_value_string(gsm48_chan_types, type);
+}
+
/* Wrappers for deprecated functions: */
int gsm_7bit_decode(char *text, const uint8_t *user_data, uint8_t septet_l)
From: Max <msuraev@sysmocom.de> Add convertors for gsm48_chan_mode and gsm_chan_t types which are useful for debugging. --- include/osmocom/gsm/gsm_utils.h | 2 ++ include/osmocom/gsm/protocol/gsm_04_08.h | 2 ++ src/gsm/gsm48.c | 17 +++++++++++++++++ src/gsm/gsm_utils.c | 17 +++++++++++++++++ 4 files changed, 38 insertions(+)