diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-06-28 18:22:46 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-07-25 15:14:14 +0200 |
commit | 8a3c5a0699ca31c2b13910ef168e1fcb7875a0f0 (patch) | |
tree | 2daecc2153f44d4a72e89714d43db63e53fd2092 /src/libmsc | |
parent | 7d5e7069642ab9b78011370c6c42d10776bb5f25 (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.c | 11 |
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", |