aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@soleta.eu>2014-08-26 13:31:53 +0200
committerPablo Neira Ayuso <pablo@soleta.eu>2014-08-27 14:37:57 +0200
commit63650bbc5d45339198bea9e1c04007ff10140f33 (patch)
tree1394fb690185a781cd73af2ca188877d84e754d3
parenta4faeb1a79eac3c8d333ded27600228cc5e3a71b (diff)
osmux: encapsulate for osmux state information in struct mgcp_endpoint
Just a cleanup, wrap around the osmux state information in a struct.
-rw-r--r--openbsc/include/openbsc/mgcp_internal.h9
-rw-r--r--openbsc/src/libmgcp/mgcp_protocol.c5
-rw-r--r--openbsc/src/libmgcp/osmux.c8
3 files changed, 12 insertions, 10 deletions
diff --git a/openbsc/include/openbsc/mgcp_internal.h b/openbsc/include/openbsc/mgcp_internal.h
index 2b44e40be..2236b2a9b 100644
--- a/openbsc/include/openbsc/mgcp_internal.h
+++ b/openbsc/include/openbsc/mgcp_internal.h
@@ -173,10 +173,11 @@ struct mgcp_endpoint {
/* tap for the endpoint */
struct mgcp_rtp_tap taps[MGCP_TAP_COUNT];
- /* osmux is enabled/disabled */
- int osmux;
- /* osmux internal to unbatch messages for this endpoint */
- struct osmux_out_handle osmux_out;
+ struct {
+ int enable;
+ /* handle to unbatch messages */
+ struct osmux_out_handle out;
+ } osmux;
};
#define ENDPOINT_NUMBER(endp) abs(endp - endp->tcfg->endpoints)
diff --git a/openbsc/src/libmgcp/mgcp_protocol.c b/openbsc/src/libmgcp/mgcp_protocol.c
index 1198c24a6..0989cc6eb 100644
--- a/openbsc/src/libmgcp/mgcp_protocol.c
+++ b/openbsc/src/libmgcp/mgcp_protocol.c
@@ -327,7 +327,8 @@ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp,
len = snprintf(sdp_record, sizeof(sdp_record),
"I: %u%s\n\n",
endp->ci,
- endp->cfg->osmux && endp->osmux ? "\nX-Osmux: On" : "");
+ endp->cfg->osmux && endp->osmux.enable ?
+ "\nX-Osmux: On" : "");
if (len < 0)
return NULL;
@@ -346,7 +347,7 @@ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp,
static void send_dummy(struct mgcp_endpoint *endp)
{
- if (endp->osmux)
+ if (endp->osmux.enable)
osmux_send_dummy(endp);
else
mgcp_send_dummy(endp);
diff --git a/openbsc/src/libmgcp/osmux.c b/openbsc/src/libmgcp/osmux.c
index 2f135e747..456892ea3 100644
--- a/openbsc/src/libmgcp/osmux.c
+++ b/openbsc/src/libmgcp/osmux.c
@@ -272,7 +272,7 @@ int osmux_read_from_bsc_nat_cb(struct osmo_fd *ofd, unsigned int what)
"sending extracted RTP from OSMUX to BSC via endpoint=%u "
"(allocated=%d)\n", ENDPOINT_NUMBER(endp), endp->allocated);
- osmux_xfrm_output(osmuxh, &endp->osmux_out, &list);
+ osmux_xfrm_output(osmuxh, &endp->osmux.out, &list);
osmux_tx_sched(&list, scheduled_tx_bts_cb, endp);
}
out:
@@ -360,7 +360,7 @@ int osmux_read_from_bsc_cb(struct osmo_fd *ofd, unsigned int what)
"sending extracted RTP from OSMUX to MSC via endpoint=%u "
"(allocated=%d)\n", ENDPOINT_NUMBER(endp), endp->allocated);
- osmux_xfrm_output(osmuxh, &endp->osmux_out, &list);
+ osmux_xfrm_output(osmuxh, &endp->osmux.out, &list);
osmux_tx_sched(&list, scheduled_tx_net_cb, endp);
}
out:
@@ -423,7 +423,7 @@ int osmux_enable_endpoint(struct mgcp_endpoint *endp, int role)
LOGP(DMGCP, LOGL_NOTICE, "OSMUX requested, ENABLING.\n");
}
- osmux_xfrm_output_init(&endp->osmux_out,
+ osmux_xfrm_output_init(&endp->osmux.out,
(endp->ci * rtp_ssrc_winlen) +
(random() % rtp_ssrc_winlen));
@@ -435,7 +435,7 @@ int osmux_enable_endpoint(struct mgcp_endpoint *endp, int role)
endp->type = MGCP_OSMUX_BSC;
break;
}
- endp->osmux = 1;
+ endp->osmux.enable = 1;
return 0;
}