gsm0808: Add value_string for LCLS related IEs

Change-Id: I18d7a29496929c761aeaba9c0aee847befc13108
This commit is contained in:
Harald Welte 2018-06-02 14:11:19 +02:00
parent 407df02e7c
commit ebd362dbd2
3 changed files with 51 additions and 0 deletions

View File

@ -27,6 +27,7 @@
#include <osmocom/gsm/protocol/gsm_08_08.h>
#include <osmocom/gsm/gsm0808_utils.h>
#include <osmocom/gsm/gsm23003.h>
#include <osmocom/core/utils.h>
struct sockaddr_storage;
@ -135,4 +136,18 @@ const char *gsm0808_bssmap_name(uint8_t msg_type);
const char *gsm0808_bssap_name(uint8_t msg_type);
const char *gsm0808_cause_name(uint8_t cause);
extern const struct value_string gsm0808_lcls_config_names[];
extern const struct value_string gsm0808_lcls_control_names[];
extern const struct value_string gsm0808_lcls_status_names[];
static inline const char *gsm0808_lcls_config_name(uint8_t val) {
return get_value_string(gsm0808_lcls_config_names, val);
}
static inline const char *gsm0808_lcls_control_name(uint8_t val) {
return get_value_string(gsm0808_lcls_control_names, val);
}
static inline const char *gsm0808_lcls_status_name(uint8_t val) {
return get_value_string(gsm0808_lcls_status_names, val);
}
/*! @} */

View File

@ -1144,4 +1144,37 @@ const char *gsm0808_cause_name(uint8_t cause)
return get_value_string(gsm0808_cause_names, cause);
}
const struct value_string gsm0808_lcls_config_names[] = {
{ GSM0808_LCLS_CFG_BOTH_WAY, "Connect both-way" },
{ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL,
"Connect both-way, bi-cast UL to CN" },
{ GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL,
"Connect both-way, send access DL from CN" },
{ GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL_BLOCK_LOCAL_DL,
"Connect both-way, send access DL from CN, block local DL" },
{ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL,
"Connect both-way, bi-cast UL to CN, send access DL from CN" },
{ GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL_BLOCK_LOCAL_DL,
"Connect both-way, bi-cast UL to CN, send access DL from CN, block local DL" },
{ 0, NULL }
};
const struct value_string gsm0808_lcls_control_names[] = {
{ GSM0808_LCLS_CSC_CONNECT, "Connect" },
{ GSM0808_LCLS_CSC_DO_NOT_CONNECT, "Do not connect" },
{ GSM0808_LCLS_CSC_RELEASE_LCLS, "Release LCLS" },
{ GSM0808_LCLS_CSC_BICAST_UL_AT_HANDOVER, "Bi-cast UL at Handover" },
{ GSM0808_LCLS_CSC_BICAST_UL_AND_RECV_DL_AT_HANDOVER, "Bi-cast UL and receive DL at Handover" },
{ 0, NULL }
};
const struct value_string gsm0808_lcls_status_names[] = {
{ GSM0808_LCLS_STS_NOT_YET_LS, "Call not yet locally switched" },
{ GSM0808_LCLS_STS_NOT_POSSIBLE_LS, "Call not possible to be locally switched" },
{ GSM0808_LCLS_STS_NO_LONGER_LS, "Call is no longer locally switched" },
{ GSM0808_LCLS_STS_REQ_LCLS_NOT_SUPP, "Requested LCLS configuration is not supported" },
{ GSM0808_LCLS_STS_LOCALLY_SWITCHED, "Call is locally switched with requested LCLS config" },
{ 0, NULL }
};
/*! @} */

View File

@ -195,6 +195,9 @@ gsm0808_chan_type_to_speech_codec;
gsm0808_speech_codec_from_chan_type;
gsm0808_speech_codec_type_names;
gsm0808_channel_type_name;
gsm0808_lcls_config_names;
gsm0808_lcls_control_names;
gsm0808_lcls_status_names;
gsm0858_rsl_ul_meas_enc;