aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-03-26 08:20:43 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2017-12-01 03:37:42 +0100
commitba4bc50bac8e94982503af42c853295939bd76b5 (patch)
tree1570c68966978a8d10cdf4e67cfb99e10c2a4c82 /include/osmocom/bsc
parentdad9f04a811c8e1800ecd08eddbcbb445e169be4 (diff)
Add full AMR multirate IE support with VTY config for MS and BTS side
Diffstat (limited to 'include/osmocom/bsc')
-rw-r--r--include/osmocom/bsc/bsc_api.h2
-rw-r--r--include/osmocom/bsc/gsm_04_08.h3
-rw-r--r--include/osmocom/bsc/gsm_data_shared.h13
3 files changed, 14 insertions, 4 deletions
diff --git a/include/osmocom/bsc/bsc_api.h b/include/osmocom/bsc/bsc_api.h
index f52984f39..b28d1980e 100644
--- a/include/osmocom/bsc/bsc_api.h
+++ b/include/osmocom/bsc/bsc_api.h
@@ -40,7 +40,7 @@ struct bsc_api {
* not implemented AMR5.9 will be used.
*/
void (*mr_config)(struct gsm_subscriber_connection *conn,
- struct gsm48_multi_rate_conf *conf);
+ uint8_t *mr_ms_lv, uint8_t *mr_bts_lv);
};
int bsc_api_init(struct gsm_network *network, struct bsc_api *api);
diff --git a/include/osmocom/bsc/gsm_04_08.h b/include/osmocom/bsc/gsm_04_08.h
index 068672059..d071ad595 100644
--- a/include/osmocom/bsc/gsm_04_08.h
+++ b/include/osmocom/bsc/gsm_04_08.h
@@ -14,6 +14,7 @@ struct gsm_subscriber;
struct gsm_network;
struct gsm_trans;
struct gsm_subscriber_connection;
+struct amr_multirate_conf;
#define GSM48_ALLOC_SIZE 2048
#define GSM48_ALLOC_HEADROOM 256
@@ -75,4 +76,6 @@ void allocate_security_operation(struct gsm_subscriber_connection *conn);
int tch_frame_down(struct gsm_network *net, uint32_t callref, struct gsm_data_frame *data);
+int gsm48_multirate_config(uint8_t *lv, struct amr_multirate_conf *mr, int ms);
+
#endif
diff --git a/include/osmocom/bsc/gsm_data_shared.h b/include/osmocom/bsc/gsm_data_shared.h
index ded00307a..07fa9823d 100644
--- a/include/osmocom/bsc/gsm_data_shared.h
+++ b/include/osmocom/bsc/gsm_data_shared.h
@@ -151,8 +151,10 @@ struct bts_codec_conf {
struct amr_mode {
uint8_t mode;
- uint8_t threshold;
- uint8_t hysteresis;
+ uint8_t threshold_ms;
+ uint8_t hysteresis_ms;
+ uint8_t threshold_bts;
+ uint8_t hysteresis_bts;
};
struct amr_multirate_conf {
uint8_t gsm48_ie[2];
@@ -207,7 +209,8 @@ struct gsm_lchan {
} encr;
/* AMR bits */
- struct gsm48_multi_rate_conf mr_conf;
+ uint8_t mr_ms_lv[7];
+ uint8_t mr_bts_lv[7];
/* Established data link layer services */
uint8_t sapis[8];
@@ -713,6 +716,10 @@ struct gsm_bts {
/* supported codecs beside FR */
struct bts_codec_conf codec;
+
+ /* full and half rate multirate config */
+ struct amr_multirate_conf mr_full;
+ struct amr_multirate_conf mr_half;
#endif /* ROLE_BSC */
void *role;
};