osmux: Avoid initing output without enabling osmux
Otherwise we end up in a weird state where we have timers set up but osmux is still flagged as not enabled. Cherry-picked from openbsc cad739d2386640a68c24e3d470ddacdcaf377561. Change-Id: I0a334842463d311bc80a980e60fb702a0a9ad610
This commit is contained in:
parent
17bf603222
commit
426a9d9103
|
@ -284,7 +284,7 @@ static void scheduled_tx_bts_cb(struct msgb *msg, void *data)
|
||||||
};
|
};
|
||||||
|
|
||||||
rate_ctr_inc(&conn_net->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]);
|
rate_ctr_inc(&conn_net->rate_ctr_group->ctr[RTP_PACKETS_TX_CTR]);
|
||||||
rate_ctr_add(&conn_net->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR], msg->len);
|
rate_ctr_add(&conn_net->rate_ctr_group->ctr[RTP_OCTETS_TX_CTR], msg->len);
|
||||||
|
|
||||||
/* Send RTP data to BTS */
|
/* Send RTP data to BTS */
|
||||||
/* FIXME: Get rid of conn_bts and conn_net! */
|
/* FIXME: Get rid of conn_bts and conn_net! */
|
||||||
|
@ -530,10 +530,6 @@ int osmux_enable_conn(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
osmux_xfrm_output_init(&conn->osmux.out,
|
|
||||||
(conn->osmux.cid * rtp_ssrc_winlen) +
|
|
||||||
(random() % rtp_ssrc_winlen));
|
|
||||||
|
|
||||||
conn->osmux.in = osmux_handle_lookup(endp->cfg, addr, port);
|
conn->osmux.in = osmux_handle_lookup(endp->cfg, addr, port);
|
||||||
if (!conn->osmux.in) {
|
if (!conn->osmux.in) {
|
||||||
LOGP(DLMGCP, LOGL_ERROR, "Cannot allocate input osmux handle for conn:%s\n",
|
LOGP(DLMGCP, LOGL_ERROR, "Cannot allocate input osmux handle for conn:%s\n",
|
||||||
|
@ -546,6 +542,10 @@ int osmux_enable_conn(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
osmux_xfrm_output_init(&conn->osmux.out,
|
||||||
|
(conn->osmux.cid * rtp_ssrc_winlen) +
|
||||||
|
(random() % rtp_ssrc_winlen));
|
||||||
|
|
||||||
switch (endp->cfg->role) {
|
switch (endp->cfg->role) {
|
||||||
case MGCP_BSC_NAT:
|
case MGCP_BSC_NAT:
|
||||||
conn->type = MGCP_OSMUX_BSC_NAT;
|
conn->type = MGCP_OSMUX_BSC_NAT;
|
||||||
|
|
Loading…
Reference in New Issue