aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-08-06 07:00:52 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-01-07 16:10:31 +0100
commit25aa749f10f477ea82847df12c5993721dd1aa1f (patch)
treef7b24c89d1d7df87758934ad1e7ac4a5c68daf5b /openbsc/include
parentff799f091230d5214b4ba9e08e146fd0d989a458 (diff)
audio: Make the BSC handle the new mr_config request of the BSC API
Handle the mr_config request and set the AMR multirate config for the given MSC. Initialize the mr_config with the AMR5.9 default we have been using until now.
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/bsc_api.h7
-rw-r--r--openbsc/include/openbsc/osmo_msc_data.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/bsc_api.h b/openbsc/include/openbsc/bsc_api.h
index 472c8e471..f52984f39 100644
--- a/openbsc/include/openbsc/bsc_api.h
+++ b/openbsc/include/openbsc/bsc_api.h
@@ -34,6 +34,13 @@ struct bsc_api {
void (*classmark_chg)(struct gsm_subscriber_connection *conn,
const uint8_t *cm2, uint8_t cm2_len,
const uint8_t *cm3, uint8_t cm3_len);
+
+ /**
+ * Configure the multirate setting on this channel. If it is
+ * not implemented AMR5.9 will be used.
+ */
+ void (*mr_config)(struct gsm_subscriber_connection *conn,
+ struct gsm48_multi_rate_conf *conf);
};
int bsc_api_init(struct gsm_network *network, struct bsc_api *api);
diff --git a/openbsc/include/openbsc/osmo_msc_data.h b/openbsc/include/openbsc/osmo_msc_data.h
index 6eebcdd41..8e255a0fd 100644
--- a/openbsc/include/openbsc/osmo_msc_data.h
+++ b/openbsc/include/openbsc/osmo_msc_data.h
@@ -26,6 +26,7 @@
#include "bsc_msc.h"
#include <osmocom/core/timer.h>
+#include <osmocom/gsm/protocol/gsm_04_08.h>
#include <regex.h>
@@ -68,6 +69,7 @@ struct osmo_msc_data {
int rtp_base;
/* audio codecs */
+ struct gsm48_multi_rate_conf amr_conf;
struct gsm_audio_support **audio_support;
int audio_length;