diff options
Diffstat (limited to 'include/osmocom/gsm/protocol/gsm_08_08.h')
-rw-r--r-- | include/osmocom/gsm/protocol/gsm_08_08.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index 69007b5c..cb9fe011 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -384,6 +384,18 @@ enum gsm0808_cause { GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY = 0x62, }; +/* 3GPP TS 08.08 ยง3.2.2.5 Cause Class */ +enum gsm0808_cause_class { + GSM0808_CAUSE_CLASS_NORM0 = 0, + GSM0808_CAUSE_CLASS_NORM1 = 1, + GSM0808_CAUSE_CLASS_RES_UNAVAIL = 2, + GSM0808_CAUSE_CLASS_SRV_OPT_NA = 3, + GSM0808_CAUSE_CLASS_SRV_OPT_NIMPL = 4, + GSM0808_CAUSE_CLASS_INVAL = 5, + GSM0808_CAUSE_CLASS_PERR = 6, + GSM0808_CAUSE_CLASS_INTW = 7, +}; + /* GSM 08.08 3.2.2.11 Channel Type */ enum gsm0808_chan_indicator { GSM0808_CHAN_SPEECH = 1, @@ -499,10 +511,24 @@ enum gsm0808_speech_codec_defaults { GSM0808_SC_CFG_DEFAULT_HR_AMR = 0x073f, GSM0808_SC_CFG_DEFAULT_OHR_AMR = 0x57ff, GSM0808_SC_CFG_DEFAULT_FR_AMR_WB = 0x01, - GSM0808_SC_CFG_DEFAULT_OFR_AMR_WB = 0x3f, + GSM0808_SC_CFG_DEFAULT_OFR_AMR_WB = 0x15, GSM0808_SC_CFG_DEFAULT_OHR_AMR_WB = 0x01, }; +/*! Default speech codec configurations broken down by reate. + * See also: 3GPP TS 28.062, Table 7.11.3.1.3-2: Preferred Configurations for + * the Adaptive Multi-Rate Codec Types. */ +enum gsm0808_speech_codec_rate_defaults { + GSM0808_SC_CFG_DEFAULT_AMR_4_75 = 0xff03, + GSM0808_SC_CFG_DEFAULT_AMR_5_15 = 0x0000, + GSM0808_SC_CFG_DEFAULT_AMR_5_90 = 0xff06, + GSM0808_SC_CFG_DEFAULT_AMR_6_70 = 0x3e08, + GSM0808_SC_CFG_DEFAULT_AMR_7_40 = 0x0c12, + GSM0808_SC_CFG_DEFAULT_AMR_7_95 = 0xc020, + GSM0808_SC_CFG_DEFAULT_AMR_10_2 = 0x3040, + GSM0808_SC_CFG_DEFAULT_AMR_12_2 = 0xc082 +}; + /* 3GPP TS 48.008 3.2.2.103 Speech Codec List */ #define SPEECH_CODEC_MAXLEN 255 struct gsm0808_speech_codec_list { @@ -550,6 +576,7 @@ enum gsm0808_lcls_config { GSM0808_LCLS_CFG_BOTH_WAY_AND_SEND_DL_BLOCK_LOCAL_DL = 0x03, GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL = 0x04, GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL_SEND_DL_BLOCK_LOCAL_DL = 0x05, + GSM0808_LCLS_CFG_NA = 0xFF }; /* TS 48.008 3.2.2.117 */ @@ -559,6 +586,7 @@ enum gsm0808_lcls_control { GSM0808_LCLS_CSC_RELEASE_LCLS = 0x02, GSM0808_LCLS_CSC_BICAST_UL_AT_HANDOVER = 0x03, GSM0808_LCLS_CSC_BICAST_UL_AND_RECV_DL_AT_HANDOVER = 0x04, + GSM0808_LCLS_CSC_NA = 0xFF }; /* TS 48.008 3.2.2.119 */ @@ -568,4 +596,5 @@ enum gsm0808_lcls_status { GSM0808_LCLS_STS_NO_LONGER_LS = 0x02, GSM0808_LCLS_STS_REQ_LCLS_NOT_SUPP = 0x03, GSM0808_LCLS_STS_LOCALLY_SWITCHED = 0x04, + GSM0808_LCLS_STS_NA = 0xFF }; |