call_leg: remove unused event MSC_EV_CALL_LEG_RTP_RELEASED
The event is actually never dispatched and useless, because when an RTP stream
releases, the call_leg terminates directly anyway (which wasn't apparent when
starting to design the call_leg FSM yet).
Change-Id: I6b2fc1225c960fa2f7c46adf241520217a07821c
diff --git a/src/libmsc/call_leg.c b/src/libmsc/call_leg.c
index cb7e6ea..1b7db2b 100644
--- a/src/libmsc/call_leg.c
+++ b/src/libmsc/call_leg.c
@@ -67,8 +67,7 @@
struct call_leg *call_leg_alloc(struct osmo_fsm_inst *parent_fi,
uint32_t parent_event_term,
uint32_t parent_event_rtp_addr_available,
- uint32_t parent_event_rtp_complete,
- uint32_t parent_event_rtp_released)
+ uint32_t parent_event_rtp_complete)
{
struct call_leg *cl;
struct osmo_fsm_inst *fi = osmo_fsm_inst_alloc_child(&call_leg_fsm, parent_fi, parent_event_term);
@@ -82,7 +81,6 @@
.fi = fi,
.parent_event_rtp_addr_available = parent_event_rtp_addr_available,
.parent_event_rtp_complete = parent_event_rtp_complete,
- .parent_event_rtp_released = parent_event_rtp_released,
};
return cl;
@@ -92,8 +90,7 @@
struct osmo_fsm_inst *new_parent_fi,
uint32_t parent_event_term,
uint32_t parent_event_rtp_addr_available,
- uint32_t parent_event_rtp_complete,
- uint32_t parent_event_rtp_released)
+ uint32_t parent_event_rtp_complete)
{
LOG_CALL_LEG(cl, LOGL_DEBUG, "Reparenting from parent %s to parent %s\n",
cl->fi->proc.parent->name, new_parent_fi->name);
@@ -101,7 +98,6 @@
talloc_steal(new_parent_fi, cl->fi);
cl->parent_event_rtp_addr_available = parent_event_rtp_addr_available;
cl->parent_event_rtp_complete = parent_event_rtp_complete;
- cl->parent_event_rtp_released = parent_event_rtp_released;
}
static int call_leg_fsm_timer_cb(struct osmo_fsm_inst *fi)
diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c
index 5baed54..77dd43d 100644
--- a/src/libmsc/msc_a.c
+++ b/src/libmsc/msc_a.c
@@ -546,28 +546,15 @@
static void msc_a_cleanup_rtp_streams(struct msc_a *msc_a, uint32_t event, void *data)
{
- struct rtp_stream *rtps;
-
switch (event) {
- case MSC_EV_CALL_LEG_RTP_RELEASED:
- rtps = data;
- if (msc_a->cc.mncc_forwarding_to_remote_ran
- && msc_a->cc.mncc_forwarding_to_remote_ran->rtps == rtps)
- msc_a->cc.mncc_forwarding_to_remote_ran->rtps = NULL;
- if (msc_a->ho.new_cell.mncc_forwarding_to_remote_ran
- && msc_a->ho.new_cell.mncc_forwarding_to_remote_ran->rtps == rtps)
- msc_a->ho.new_cell.mncc_forwarding_to_remote_ran->rtps = NULL;
- return;
case MSC_EV_CALL_LEG_TERM:
msc_a->cc.call_leg = NULL;
if (msc_a->cc.mncc_forwarding_to_remote_ran)
msc_a->cc.mncc_forwarding_to_remote_ran->rtps = NULL;
- if (msc_a->ho.new_cell.mncc_forwarding_to_remote_ran) {
- fprintf(stderr, "FOCKEN %p\n", msc_a->ho.new_cell.mncc_forwarding_to_remote_ran->rtps);
+ if (msc_a->ho.new_cell.mncc_forwarding_to_remote_ran)
msc_a->ho.new_cell.mncc_forwarding_to_remote_ran->rtps = NULL;
- }
return;
case MSC_MNCC_EV_CALL_ENDED:
@@ -633,7 +620,6 @@
/* Nothing to do. */
return;
- case MSC_EV_CALL_LEG_RTP_RELEASED:
case MSC_MNCC_EV_CALL_ENDED:
/* Cleaned up above */
return;
@@ -765,7 +751,6 @@
/* Already releasing */
return;
- case MSC_EV_CALL_LEG_RTP_RELEASED:
case MSC_EV_CALL_LEG_TERM:
case MSC_MNCC_EV_CALL_ENDED:
/* RTP streams cleaned up above */
@@ -819,7 +804,6 @@
OSMO_VALUE_STRING(MSC_REMOTE_EV_RX_GSUP),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_COMPLETE),
- OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_RELEASED),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_TERM),
OSMO_VALUE_STRING(MSC_MNCC_EV_NEED_LOCAL_RTP),
OSMO_VALUE_STRING(MSC_MNCC_EV_CALL_PROCEEDING),
@@ -934,7 +918,6 @@
| S(MSC_A_EV_UNUSED)
| S(MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE)
| S(MSC_EV_CALL_LEG_RTP_COMPLETE)
- | S(MSC_EV_CALL_LEG_RTP_RELEASED)
| S(MSC_EV_CALL_LEG_TERM)
| S(MSC_MNCC_EV_CALL_ENDED)
| S(MSC_A_EV_HANDOVER_REQUIRED)
@@ -950,7 +933,6 @@
| S(MSC_A_EV_FROM_I_PROCESS_ACCESS_SIGNALLING_REQUEST)
| S(MSC_A_EV_FROM_I_SEND_END_SIGNAL_REQUEST)
| S(MSC_A_EV_UNUSED)
- | S(MSC_EV_CALL_LEG_RTP_RELEASED)
| S(MSC_EV_CALL_LEG_TERM)
| S(MSC_MNCC_EV_CALL_ENDED)
,
@@ -1590,8 +1572,7 @@
cl = msc_a->cc.call_leg = call_leg_alloc(msc_a->c.fi,
MSC_EV_CALL_LEG_TERM,
MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE,
- MSC_EV_CALL_LEG_RTP_COMPLETE,
- MSC_EV_CALL_LEG_RTP_RELEASED);
+ MSC_EV_CALL_LEG_RTP_COMPLETE);
OSMO_ASSERT(cl);
/* HACK: We put the connection in loopback mode at the beginnig to
diff --git a/src/libmsc/msc_i.c b/src/libmsc/msc_i.c
index 05df9cb..f7aab0d 100644
--- a/src/libmsc/msc_i.c
+++ b/src/libmsc/msc_i.c
@@ -278,7 +278,6 @@
OSMO_VALUE_STRING(MSC_REMOTE_EV_RX_GSUP),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_COMPLETE),
- OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_RELEASED),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_TERM),
OSMO_VALUE_STRING(MSC_MNCC_EV_NEED_LOCAL_RTP),
OSMO_VALUE_STRING(MSC_MNCC_EV_CALL_PROCEEDING),
diff --git a/src/libmsc/msc_t.c b/src/libmsc/msc_t.c
index c6bba47..8eefccc 100644
--- a/src/libmsc/msc_t.c
+++ b/src/libmsc/msc_t.c
@@ -359,8 +359,7 @@
msc_t->inter_msc.call_leg = call_leg_alloc(msc_t->c.fi,
MSC_EV_CALL_LEG_TERM,
MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE,
- MSC_EV_CALL_LEG_RTP_COMPLETE,
- MSC_EV_CALL_LEG_RTP_RELEASED);
+ MSC_EV_CALL_LEG_RTP_COMPLETE);
if (!msc_t->inter_msc.call_leg
|| call_leg_ensure_ci(msc_t->inter_msc.call_leg, RTP_TO_RAN, msc_t->inter_msc.callref, NULL, NULL, NULL)
|| call_leg_ensure_ci(msc_t->inter_msc.call_leg, RTP_TO_CN, msc_t->inter_msc.callref, NULL, NULL, NULL)) {
@@ -391,7 +390,6 @@
msc_t_send_stored_ho_request(msc_t);
return;
- case MSC_EV_CALL_LEG_RTP_RELEASED:
case MSC_EV_CALL_LEG_TERM:
msc_t->inter_msc.call_leg = NULL;
msc_t_error("Failed to set up MGW endpoint\n");
@@ -550,7 +548,6 @@
msc_t_down_l2_co(msc_t, an_apdu, false);
return;
- case MSC_EV_CALL_LEG_RTP_RELEASED:
case MSC_EV_CALL_LEG_TERM:
msc_t->inter_msc.call_leg = NULL;
msc_t_error("Failed to set up MGW endpoint\n");
@@ -609,8 +606,7 @@
msc_i->c.fi,
MSC_EV_CALL_LEG_TERM,
MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE,
- MSC_EV_CALL_LEG_RTP_COMPLETE,
- MSC_EV_CALL_LEG_RTP_RELEASED);
+ MSC_EV_CALL_LEG_RTP_COMPLETE);
/* msc_i_set_ran_conn() properly "steals" the ran_conn from msc_t */
msc_i_set_ran_conn(msc_i, msc_t->ran_conn);
@@ -657,7 +653,6 @@
msc_t_down_l2_co(msc_t, an_apdu, false);
return;
- case MSC_EV_CALL_LEG_RTP_RELEASED:
case MSC_EV_CALL_LEG_TERM:
msc_t->inter_msc.call_leg = NULL;
msc_t_error("Failed to set up MGW endpoint\n");
@@ -795,7 +790,6 @@
.action = msc_t_fsm_wait_local_rtp,
.in_event_mask = 0
| S(MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE)
- | S(MSC_EV_CALL_LEG_RTP_RELEASED)
| S(MSC_EV_CALL_LEG_TERM)
| S(MSC_MNCC_EV_CALL_ENDED)
| S(MSC_T_EV_CN_CLOSE)
@@ -810,7 +804,6 @@
.in_event_mask = 0
| S(MSC_EV_FROM_RAN_UP_L2)
| S(MSC_EV_FROM_RAN_CONN_RELEASED)
- | S(MSC_EV_CALL_LEG_RTP_RELEASED)
| S(MSC_EV_CALL_LEG_TERM)
| S(MSC_MNCC_EV_CALL_ENDED)
| S(MSC_T_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST)
@@ -827,7 +820,6 @@
.in_event_mask = 0
| S(MSC_EV_FROM_RAN_UP_L2)
| S(MSC_EV_FROM_RAN_CONN_RELEASED)
- | S(MSC_EV_CALL_LEG_RTP_RELEASED)
| S(MSC_EV_CALL_LEG_TERM)
| S(MSC_MNCC_EV_CALL_ENDED)
| S(MSC_T_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST)
@@ -841,7 +833,6 @@
OSMO_VALUE_STRING(MSC_REMOTE_EV_RX_GSUP),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_COMPLETE),
- OSMO_VALUE_STRING(MSC_EV_CALL_LEG_RTP_RELEASED),
OSMO_VALUE_STRING(MSC_EV_CALL_LEG_TERM),
OSMO_VALUE_STRING(MSC_MNCC_EV_NEED_LOCAL_RTP),
OSMO_VALUE_STRING(MSC_MNCC_EV_CALL_PROCEEDING),