aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-03-21 21:29:03 +0100
committerHarald Welte <laforge@gnumonks.org>2018-03-22 15:15:12 +0000
commit6900f8123611fc4667ba42c25a03abf96e697aa7 (patch)
tree52dbad5e924523192c153fdb60f4e418ab321b65
parent31a6368703847181f5513939fc6f7a4b5e04242a (diff)
GSCON FSM: Fix argument order when calling gsm0808_assign_req()
The first argument is the channel mode (codec), the second one is a flag whether or not it's a full-rate channel. Before this patch the two arguments are reversed, resulting in * all assignments being TCH/F in general * all assignments have FR1 as codec, as the full_Rate=1 is interpreted as FR1 Change-Id: I80f2a016a7646252bce8d86ed0bab236f3adbfca Related: OS#3094
-rw-r--r--src/libbsc/bsc_subscr_conn_fsm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libbsc/bsc_subscr_conn_fsm.c b/src/libbsc/bsc_subscr_conn_fsm.c
index dc088a1f0..9d23dd55f 100644
--- a/src/libbsc/bsc_subscr_conn_fsm.c
+++ b/src/libbsc/bsc_subscr_conn_fsm.c
@@ -345,7 +345,8 @@ static void gscon_fsm_active(struct osmo_fsm_inst *fi, uint32_t event, void *dat
* conn->user_plane.chan_mode parameter that this
* assignment is for a signalling channel and will then
* change back to ST_ACTIVE (here) immediately. */
- rc = gsm0808_assign_req(conn, conn->user_plane.full_rate, conn->user_plane.chan_mode);
+ rc = gsm0808_assign_req(conn, conn->user_plane.chan_mode,
+ conn->user_plane.full_rate);
if (rc != 0) {
resp = gsm0808_create_assignment_failure(GSM0808_CAUSE_EQUIPMENT_FAILURE, NULL);
sigtran_send(conn, resp, fi);
@@ -437,7 +438,7 @@ static void gscon_fsm_wait_crcx_bts(struct osmo_fsm_inst *fi, uint32_t event, vo
* then start the channel assignment. */
conn->user_plane.rtp_port = conn_peer->port;
conn->user_plane.rtp_ip = osmo_ntohl(inet_addr(conn_peer->addr));
- rc = gsm0808_assign_req(conn, conn->user_plane.full_rate, conn->user_plane.chan_mode);
+ rc = gsm0808_assign_req(conn, conn->user_plane.chan_mode, conn->user_plane.full_rate);
if (rc != 0) {
resp = gsm0808_create_assignment_failure(GSM0808_CAUSE_RQSTED_SPEECH_VERSION_UNAVAILABLE, NULL);
sigtran_send(conn, resp, fi);