jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/33603 )
Change subject: ASCI: Make bssmap_handle_ass_req_ct_speech() publically available. ......................................................................
ASCI: Make bssmap_handle_ass_req_ct_speech() publically available.
This function is also used by the VGCS/VBS call control.
Change-Id: Ifc1e315d5282f01f8d1bd600d62476c2ae74eca9 Related: OS#4852 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 20 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/33603/1
diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index d504ce6..c81ff0d 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -742,12 +742,13 @@ * find an alternate setting here, this one will be tried secondly if our * primary choice fails. */ static int select_codecs(struct assignment_request *req, const struct gsm0808_channel_type *ct, - struct gsm_subscriber_connection *conn) + struct gsm_subscriber_connection *conn, struct gsm_bts *bts) { int rc, i, nc = 0; struct bsc_msc_data *msc; - struct gsm_bts *bts = conn_get_bts(conn);
+ if (!bts) + bts = conn_get_bts(conn); if (!bts) { LOGP(DMSC, LOGL_ERROR, "No lchan, cannot select codecs\n"); return -EINVAL; @@ -1023,9 +1024,9 @@ return 0; }
-static int bssmap_handle_ass_req_ct_speech(struct gsm_subscriber_connection *conn, struct tlv_parsed *tp, - struct gsm0808_channel_type *ct, struct assignment_request *req, - uint8_t *cause) +int bssmap_handle_ass_req_ct_speech(struct gsm_subscriber_connection *conn, struct gsm_bts *bts, + struct tlv_parsed *tp, struct gsm0808_channel_type *ct, + struct assignment_request *req, uint8_t *cause) { bool aoip = gscon_is_aoip(conn); int rc; @@ -1049,7 +1050,7 @@
/* Match codec information from the assignment command against the * local preferences of the BSC and BTS */ - rc = select_codecs(req, ct, conn); + rc = select_codecs(req, ct, conn, bts); if (rc < 0) { *cause = GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL; return -1; @@ -1129,7 +1130,7 @@ goto reject; break; case GSM0808_CHAN_SPEECH: - if (bssmap_handle_ass_req_ct_speech(conn, &tp, &ct, &req, &cause) < 0) + if (bssmap_handle_ass_req_ct_speech(conn, NULL, &tp, &ct, &req, &cause) < 0) goto reject; break; case GSM0808_CHAN_SIGN: