aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-08-28 18:11:07 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-08-29 16:35:25 +0800
commit39cd32e650d490ba2d5e74f2df90a3f12514d618 (patch)
treef33baa70f7d1c7b49453f82a18b18b8736095216 /openbsc
parentc021fbe603c69c2ca79f6c91b1af109fd7e1613f (diff)
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.
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/bsc_nat_sccp.h1
-rw-r--r--openbsc/src/nat/bsc_mgcp_utils.c5
2 files changed, 1 insertions, 5 deletions
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");