summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2017-07-31 19:19:34 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2017-07-31 19:19:34 +0200
commitc54a5f3d69c18b7b9cc236eca5b8ef8ad7481f34 (patch)
treeb4e2a1901af8d5a0cf8273df7ada95cb9d57c1b5
parente40a123bdf030a5691f01140c6e632de03bcfaf6 (diff)
mgcp: remove proactive DLCX
To prevent a situation where one ore more seized enpoints stay seized after an MSC crash (information loss, endpoints can not be released) we send a DLCX command before making new connections on the MGCP-GW. This method is loud and hackish. Remove all functionality that sends a DLCX before making a new connection. Enable force_realloc functionality in the MGCP code in order to have seized enpoints automatically released on new connections, in case they are seized
-rw-r--r--openbsc/src/libmsc/msc_ifaces.c13
-rw-r--r--openbsc/src/osmo-bsc_mgcp/mgcp_main.c2
2 files changed, 2 insertions, 13 deletions
diff --git a/openbsc/src/libmsc/msc_ifaces.c b/openbsc/src/libmsc/msc_ifaces.c
index 27f644e5f..5cfa34ecc 100644
--- a/openbsc/src/libmsc/msc_ifaces.c
+++ b/openbsc/src/libmsc/msc_ifaces.c
@@ -220,7 +220,6 @@ static int conn_iu_rab_act_cs(struct gsm_trans *trans)
struct gsm_subscriber_connection *conn = trans->conn;
struct mgcpgw_client *mgcp = conn->network->mgcpgw.client;
struct msgb *msg;
- struct msgb *msg_dlcx;
uint16_t bts_base;
/* HACK. where to scope the RAB Id? At the conn / subscriber /
@@ -239,18 +238,6 @@ static int conn_iu_rab_act_cs(struct gsm_trans *trans)
bts_base = mgcp->actual.bts_base;
conn->rtp.port_subscr = bts_base + 2 * conn->iu.mgcp_rtp_endpoint;
- /* Since we know now the endpoint number, we enforce a DLCX on tha
- * 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,
- 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",
- vlr_subscr_name(trans->vsub));
-
/* 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. */
diff --git a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
index 4ea070079..6cf9ab786 100644
--- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
+++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
@@ -218,6 +218,8 @@ int main(int argc, char **argv)
cfg->get_net_downlink_format_cb = &mgcp_transcoding_net_downlink_format;
#endif
+ cfg->trunk.force_realloc = 1;
+
vty_info.copyright = openbsc_copyright;
vty_init(&vty_info);
logging_vty_add_cmds(NULL);