From 39cd32e650d490ba2d5e74f2df90a3f12514d618 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sat, 28 Aug 2010 18:11:07 +0800 Subject: nat: Remove the CRCX value from the nat Assume that if the MSC has assigned a timeslot/multiplex it will also be used for the MGCP. So we just assume that it was allocated on the BSC as well... in the worse case we will send a DLCX downstream but it should be fine. --- openbsc/include/openbsc/bsc_nat_sccp.h | 1 - openbsc/src/nat/bsc_mgcp_utils.c | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) (limited to 'openbsc') diff --git a/openbsc/include/openbsc/bsc_nat_sccp.h b/openbsc/include/openbsc/bsc_nat_sccp.h index fcfd23beb..4f1afcb2b 100644 --- a/openbsc/include/openbsc/bsc_nat_sccp.h +++ b/openbsc/include/openbsc/bsc_nat_sccp.h @@ -83,7 +83,6 @@ struct sccp_connections { * audio handling. Remember if we have ever send a CRCX, * remember the endpoint used by the MSC and BSC. */ - int crcx; int msc_endp; int bsc_endp; diff --git a/openbsc/src/nat/bsc_mgcp_utils.c b/openbsc/src/nat/bsc_mgcp_utils.c index 567c325b1..8ed930145 100644 --- a/openbsc/src/nat/bsc_mgcp_utils.c +++ b/openbsc/src/nat/bsc_mgcp_utils.c @@ -149,13 +149,12 @@ void bsc_mgcp_init(struct sccp_connections *con) { con->msc_endp = -1; con->bsc_endp = -1; - con->crcx = 0; } void bsc_mgcp_dlcx(struct sccp_connections *con) { /* send a DLCX down the stream */ - if (con->bsc_endp != -1 && con->crcx) { + if (con->bsc_endp != -1) { bsc_mgcp_send_dlcx(con->bsc, con->bsc_endp); bsc_mgcp_free_endpoint(con->bsc->nat, con->msc_endp); } @@ -253,7 +252,6 @@ int bsc_mgcp_policy_cb(struct mgcp_config *cfg, int endpoint, int state, const c } /* send the message and a fake MDCX to force sending of a dummy packet */ - sccp->crcx = 1; bsc_write(sccp->bsc, bsc_msg, NAT_IPAC_PROTO_MGCP); bsc_mgcp_send_mdcx(sccp->bsc, mgcp_endp); return MGCP_POLICY_DEFER; @@ -288,7 +286,6 @@ static void free_chan_downstream(struct mgcp_endpoint *endp, struct bsc_endpoint } else { if (con->bsc == bsc) { bsc_mgcp_send_dlcx(bsc, ENDPOINT_NUMBER(endp)); - con->crcx = 0; } else { LOGP(DMGCP, LOGL_ERROR, "Endpoint belongs to a different BSC\n"); -- cgit v1.2.3