Commit Graph

2 Commits

Author SHA1 Message Date
Pau Espin f087c1ebd4 lchan_rtp_fsm: Deferr IPACC MDCX after BTS side MGCP MDCX
This is needed to be able to force MGW to provide an IPv4 address during
MDCX, since IPACC protocol on the BTS side only supports IPv4, but one
may need IPv6 side at the same time on the core side.
By moving the IPACC MDCX request to a later step, the BSC gains
knowledge of the local address on each side (BTS, MGW), and if they
don't match (ie. BTS uses IPv4 and MGW uses IPv6), it can then get MGW
to offer an IPv4 address during MGCP MDCX containing the BTS IPv4
address. At that point, the MGW can see the mismatch and provide an IPv4
address in the MGCP MDCX ACK, which can then finally be communicated to
the BTS during IPACC MDCX phase.

Previous order:
BSC -> MGW: CRCX
BSC <- MGW: CRCX ACK		(get MGW local IP addr)
BSC -> BTS: IPACC CRCX
BSC <- BTS: IPACC CRCX ACK 	(get BTS local IP addr)
BSC -> BTS: IPACC MDCX 		(set MGW IP addr)
BSC <- BTS: IPACC MDCX ACK
BSC -> MGW: MDCX 		(set BTS IP addr)
BSC <- MGW: MDCX ACK

New order:
BSC -> MGW: CRCX
BSC <- MGW: CRCX ACK 		(get MGCP local IPv6 addr)
BSC -> BTS: IPACC CRCX
BSC <- BTS: IPACC CRCX ACK 	(get BTS local IPv4 addr)
BSC -> MGW: MDCX 		(set BTS IPv4 addr)
BSC <- MGW: MDCX ACK 		(here MGW changes its local addr to IPv4)
BSC -> BTS: IPACC MDCX 		(set MGW IPv4 addr)
BSC <- BTS: IPACC MDCX ACK

Change-Id: I4de5ea5c94c1482c9cb0b6386997a942edc60e32
2020-09-09 12:39:14 +02:00
Neels Hofmeyr 3b5de1b668 doc: update/fix FSM charts
These reflect the plan for refactoring, and will be implemented by
I82e3f918295daa83274a4cf803f046979f284366 and
Id7a4407d9b63be05ce63f5f2768b7d7e3d5c86fb

Change-Id: I29e31b753e23a4207662e0e385a337e7df836f45
2018-07-28 12:18:23 +02:00