diff options
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/include/openbsc/osmux.h | 1 | ||||
-rw-r--r-- | openbsc/src/libmgcp/mgcp_protocol.c | 6 | ||||
-rw-r--r-- | openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c | 5 |
3 files changed, 7 insertions, 5 deletions
diff --git a/openbsc/include/openbsc/osmux.h b/openbsc/include/openbsc/osmux.h index 82b8fa35b..0b64a7f1e 100644 --- a/openbsc/include/openbsc/osmux.h +++ b/openbsc/include/openbsc/osmux.h @@ -28,6 +28,7 @@ int osmux_used_cid(void); enum osmux_state { OSMUX_STATE_DISABLED = 0, + OSMUX_STATE_NEGOTIATING, OSMUX_STATE_ACTIVATING, OSMUX_STATE_ENABLED, }; diff --git a/openbsc/src/libmgcp/mgcp_protocol.c b/openbsc/src/libmgcp/mgcp_protocol.c index 1819ceaf9..ff0fc3e7e 100644 --- a/openbsc/src/libmgcp/mgcp_protocol.c +++ b/openbsc/src/libmgcp/mgcp_protocol.c @@ -277,7 +277,7 @@ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp, if (!addr) addr = mgcp_net_src_addr(endp); - if (endp->osmux.state == OSMUX_STATE_ACTIVATING) + if (endp->osmux.state == OSMUX_STATE_NEGOTIATING) sprintf(osmux_extension, "\nX-Osmux: %u", endp->osmux.cid); else osmux_extension[0] = '\0'; @@ -811,13 +811,13 @@ mgcp_header_done: if (endp->ci == CI_UNUSED) goto error2; - /* Annotate Osmux circuit ID and set it to activating state until this + /* Annotate Osmux circuit ID and set it to negotiating state until this * is fully set up from the dummy load. */ endp->osmux.state = OSMUX_STATE_DISABLED; if (osmux_cid >= 0) { endp->osmux.cid = osmux_cid; - endp->osmux.state = OSMUX_STATE_ACTIVATING; + endp->osmux.state = OSMUX_STATE_NEGOTIATING; } else if(endp->cfg->osmux == OSMUX_USAGE_ONLY) { LOGP(DMGCP, LOGL_ERROR, "Osmux only and no osmux offered on 0x%x\n", ENDPOINT_NUMBER(endp)); diff --git a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c index 9fd99677a..48847865c 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c +++ b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c @@ -590,7 +590,7 @@ static int bsc_mgcp_policy_cb(struct mgcp_trunk_config *tcfg, int endpoint, int */ if (mgcp_endp->osmux.allocated_cid >= 0 && mgcp_endp->osmux.state != OSMUX_STATE_ENABLED) { - mgcp_endp->osmux.state = OSMUX_STATE_ACTIVATING; + mgcp_endp->osmux.state = OSMUX_STATE_NEGOTIATING; mgcp_endp->osmux.cid = mgcp_endp->osmux.allocated_cid; } @@ -680,6 +680,7 @@ static void bsc_mgcp_osmux_confirm(struct mgcp_endpoint *endp, const char *str) LOGP(DMGCP, LOGL_NOTICE, "bsc accepted to use Osmux (cid=%u)\n", osmux_cid); + endp->osmux.state = OSMUX_STATE_ACTIVATING; return; err: osmux_release_cid(endp); @@ -747,7 +748,7 @@ void bsc_mgcp_forward(struct bsc_connection *bsc, struct msgb *msg) return; } - if (endp->osmux.state == OSMUX_STATE_ACTIVATING) + if (endp->osmux.state == OSMUX_STATE_NEGOTIATING) bsc_mgcp_osmux_confirm(endp, (const char *) msg->l2h); /* If we require osmux and it is disabled.. fail */ |