aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2017-06-28 18:22:46 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2017-07-25 15:14:14 +0200
commit8a3c5a0699ca31c2b13910ef168e1fcb7875a0f0 (patch)
tree2daecc2153f44d4a72e89714d43db63e53fd2092 /src/libmsc
parent7d5e7069642ab9b78011370c6c42d10776bb5f25 (diff)
mgcp: Fix missing call id in DLCX
The call id field in the DLCX message is missing. Use the endpoint id as call id in all CRCX and DLCX messages. Change-Id: I8b78b76126c63c4882e982c64c3953dbe1dab179
Diffstat (limited to 'src/libmsc')
-rw-r--r--src/libmsc/msc_ifaces.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/libmsc/msc_ifaces.c b/src/libmsc/msc_ifaces.c
index 49a373458..f57185de6 100644
--- a/src/libmsc/msc_ifaces.c
+++ b/src/libmsc/msc_ifaces.c
@@ -218,7 +218,9 @@ static int conn_iu_rab_act_cs(struct gsm_trans *trans)
* endpoint in order to ensure that this endpoint is not occupied
* with some old connection that was not properly cleared during
* some crash or restart event */
- msg_dlcx = mgcp_msg_dlcx(mgcp, conn->iu.mgcp_rtp_endpoint);
+ msg_dlcx =
+ mgcp_msg_dlcx(mgcp, conn->iu.mgcp_rtp_endpoint,
+ conn->iu.mgcp_rtp_endpoint);
if (mgcpgw_client_tx(mgcp, msg_dlcx, NULL, NULL))
LOGP(DMGCP, LOGL_ERROR,
"Failed to send DLCX message for %s\n",
@@ -227,8 +229,8 @@ static int conn_iu_rab_act_cs(struct gsm_trans *trans)
/* Establish the RTP stream first as looping back to the originator.
* The MDCX will patch through to the counterpart. TODO: play a ring
* tone instead. */
- msg = mgcp_msg_crcx(mgcp, conn->iu.mgcp_rtp_endpoint, trans->callref,
- MGCP_CONN_LOOPBACK);
+ msg = mgcp_msg_crcx(mgcp, conn->iu.mgcp_rtp_endpoint,
+ conn->iu.mgcp_rtp_endpoint, MGCP_CONN_LOOPBACK);
return mgcpgw_client_tx(mgcp, msg, mgcp_response_rab_act_cs_crcx, trans);
}
#endif
@@ -354,7 +356,8 @@ void msc_call_release(struct gsm_trans *trans)
struct mgcpgw_client *mgcp = conn->network->mgcpgw.client;
/* Send DLCX */
- msg = mgcp_msg_dlcx(mgcp, conn->iu.mgcp_rtp_endpoint);
+ msg = mgcp_msg_dlcx(mgcp, conn->iu.mgcp_rtp_endpoint,
+ conn->iu.mgcp_rtp_endpoint);
if (mgcpgw_client_tx(mgcp, msg, NULL, NULL))
LOGP(DMGCP, LOGL_ERROR,
"Failed to send DLCX message for %s\n",