Hi Sylvain,
in this particular patch I ended up not having the patience to understand
enough details right now to carry out the rebase. I think likewise you might
need a moment to understand the new osmo-msc code. So I guess we should discuss
what should happen in prose and I hopefully can help you translate into code.
But right now I'm reluctant to get distracted at all, so now I actually start
my neels/ho branch with a revert of the osmo-msc 'Allow different channel types
to be requested as silent calls' patch -- the intention is not to undo your
work, but instead to not lose my focus on inter-MSC handover until we can
figure it out.
I realize I should have raised these issues on gerrit before merging, but for
obvious reasons I'm also currently avoiding hours of gerrit review that I would
normally do...
Sorry about that; let's see how we can resolve.
I suspect there is a more trivial solution than deferring; after all, getting
into the COMMUNICATING state should happen by event dispatch and should be
possible any number of times, in particular fired whenever a valid transaction
gets started (on neels/ho by sending the event MSC_A_EV_TRANSACTION_ACCEPTED to
msc_a). There is no onenter action, so I'm quite sure the COMMUNICATING state
is not a reason to defer anything. If entering COMMUNICATING more than once
triggers bugs, then we should guard that events get triggered only on first
entering the COMMUNICATING state -- but I don't see anything being triggered at
all anyway. The sole purpose of the COMMUNICATING state is to remove the FSM
timeout.
On the neels/ho branch, you will now find MSC_A_ST_COMMUNICATING in msc_a.c,
not in ran_conn.c.
~N