diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-03-21 21:29:03 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-03-22 15:15:12 +0000 |
commit | 6900f8123611fc4667ba42c25a03abf96e697aa7 (patch) | |
tree | 52dbad5e924523192c153fdb60f4e418ab321b65 | |
parent | 31a6368703847181f5513939fc6f7a4b5e04242a (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.c | 5 |
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); |