Several issues in the new call model's state machine
The new call model's state machine suffers from multiple design issues:
-
State transitions are realized at multiple places. This makes handling of specific transitions in the state machine more complicated and leads to terrific code. -
callStatusChanged
should never be emitted bytogglePause()
. Instead it should wait for feedback from the daemon. -
slotCallStateChanged
is handling conference state changes very badly. From the three possible conference states, onlyHOLD
is handled properly. The rest is just considered to be an internal error....