lchan_fsm: make rsl mode-modify working again

osmo-nitb supports the modification of an lchan if the lchan is
compatible but in the wrong mode. This feature was dropped in the
transition to AoIP/bsc-split. However, osmo-bsc still has code to
generate and parse the messeages, but the FSMs do not support a mode
modify yetm

Lets add handling for mode-modify to the lchan_fsm and assignment_fsm in
order to support mode modify again

Change-Id: I2c5a283b1ee33745cc1fcfcc09a0f9382224e2eb
Related: OS#4549
diff --git a/doc/assignment.msc b/doc/assignment.msc
index 4e690a8..fae088f 100644
--- a/doc/assignment.msc
+++ b/doc/assignment.msc
@@ -9,6 +9,14 @@
 	gscon note gscon [label="GSCON_EV_ASSIGNMENT_START\n data=struct assignment_request"];
 	gscon abox gscon [label="ST_ASSIGNMENT"];
 	ass <- gscon [label="assignment_fsm_start()"];
+	|||;
+	--- [label="IF current lchan supports requested channel mode (re-use)"];
+	lchan <- ass [label="LCHAN_EV_REQUEST_MODE_MODIFY"];
+	ass abox ass [label="ASSIGNMENT_ST_\nWAIT_LCHAN_ESTABLISHED"];
+	ass rbox ass [label="see below"];
+
+	|||;
+	--- [label="ELSE: if current lchan does not support requested channel mode (establish new lchan)"];
 	ass abox ass [label="ASSIGNMENT_ST_\nWAIT_LCHAN_ACTIVE"];
 
 	|||;