aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/libmsc')
-rw-r--r--openbsc/src/libmsc/gsm_04_08.c6
-rw-r--r--openbsc/src/libmsc/mncc_builtin.c10
2 files changed, 8 insertions, 8 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 7db758666..9d7e2aaad 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -1662,10 +1662,10 @@ static int tch_map(struct gsm_lchan *lchan, struct gsm_lchan *remote_lchan)
}
/* bridge channels of two transactions */
-static int tch_bridge(struct gsm_network *net, uint32_t *refs)
+static int tch_bridge(struct gsm_network *net, struct gsm_mncc_bridge *bridge)
{
- struct gsm_trans *trans1 = trans_find_by_callref(net, refs[0]);
- struct gsm_trans *trans2 = trans_find_by_callref(net, refs[1]);
+ struct gsm_trans *trans1 = trans_find_by_callref(net, bridge->callref[0]);
+ struct gsm_trans *trans2 = trans_find_by_callref(net, bridge->callref[1]);
if (!trans1 || !trans2)
return -EIO;
diff --git a/openbsc/src/libmsc/mncc_builtin.c b/openbsc/src/libmsc/mncc_builtin.c
index 7d5a7f163..77df6fba3 100644
--- a/openbsc/src/libmsc/mncc_builtin.c
+++ b/openbsc/src/libmsc/mncc_builtin.c
@@ -186,7 +186,7 @@ static int mncc_setup_cnf(struct gsm_call *call, int msg_type,
struct gsm_mncc connect_ack, frame_recv;
struct gsm_network *net = call->net;
struct gsm_call *remote;
- uint32_t refs[2];
+ struct gsm_mncc_bridge bridge = { .msg_type = MNCC_BRIDGE };
/* acknowledge connect */
memset(&connect_ack, 0, sizeof(struct gsm_mncc));
@@ -202,19 +202,19 @@ static int mncc_setup_cnf(struct gsm_call *call, int msg_type,
mncc_tx_to_cc(remote->net, MNCC_SETUP_RSP, connect);
/* bridge tch */
- refs[0] = call->callref;
- refs[1] = call->remote_ref;
+ bridge.callref[0] = call->callref;
+ bridge.callref[1] = call->remote_ref;
DEBUGP(DMNCC, "(call %x) Bridging with remote.\n", call->callref);
/* in direct mode, we always have to bridge the channels */
if (ipacc_rtp_direct)
- return mncc_tx_to_cc(call->net, MNCC_BRIDGE, refs);
+ return mncc_tx_to_cc(call->net, MNCC_BRIDGE, &bridge);
/* proxy mode */
if (!net->handover.active) {
/* in the no-handover case, we can bridge, i.e. use
* the old RTP proxy code */
- return mncc_tx_to_cc(call->net, MNCC_BRIDGE, refs);
+ return mncc_tx_to_cc(call->net, MNCC_BRIDGE, &bridge);
} else {
/* in case of handover, we need to re-write the RTP
* SSRC, sequence and timestamp values and thus