 Let's just quickly talk about IOC is It's an additional layer in the media plane Inside RTP. It's a complete it's completely ridiculous if you come from what RTP is and how does it work? So in a normal RTP Message, what do you have? You have your IP header? You have an UDP header you have an RTP header and inside RTP header You describe the payload type and then you have your codec payload and the codec payload then in GSM is FR EFR AMR or HR codec frames now, that's how we know it and how we use it in 2g all the time in 3g For whatever reason they decided that they would use RTP as a transport And yes, the payload is also a mr. Of course since 3g uses a mr Narrowband or white band a mr as the payload, but let's put an additional protocol in inside Which is called i u u p the i u user plane And then the specification actually says well, you know all these headers in RTP you just ignore them the fields So the timestamp doesn't matter and the payload type doesn't matter and this doesn't matter and that doesn't matter They are all basically the receiver has to not care about what's in them and instead you use the fields that are in i u u p And this is the reason why today I mean as nils has pointed out we we have an osmo msc that can talk i ucs signaling on the 3g side and it can talk a of course on the 2g side so you can have a single msc and and ran in 2g and 3g But you cannot have a call from 2g to 3g and vice versa because there is this additional protocol layer in between and the GSM BTS So you can configure the AMR to be used on the 2g side And you can configure AMR to be used on the 3g side and it's the same codec But it's expressed differently inside RTP and not only there is the additional i u u p header But also the payload itself all the fields of cross-line different order and and and scramble somehow so What we need is in osmo mgw we need to add i u u p this additional protocol which also has some very simplistic but it has state machines So it's not just an additional header that you can ignore or parse But you need to also implement some logic because sort of the two ends need to There's like a request acknowledgement kind of protocol. So you need to properly respond to what the other side has to say and then Once we have that we need to sort of reorder the AMR payload And then we can actually have calls between 2g and 3g in in osmo mgw. That's basically Microphone, please Sorry for the AMR is it octet aligned versus I forgot what's the other or is it something else? It's not about alignment of the frame, but it's really the individual Like five or whatever bit long fields inside the the codec then the individual but the score in the RFC It's called there is octet aligned bit stream and there is I forgot whatever not about that I know that the RFCs have this. No, no, no, it's about Basically the the order of the bits is more like how the how they are received on the radio side So you first have the class zero bits then the class one bits then the class two bits or something And you need to completely reorder all the bits to get to either octet aligned or A bandwidth efficient AMR payload so it's really completely different But you don't need to transcode you really need to just reshuffle the bits in in the right order and that's it and The reason for this is of course Dita will know this that on 3g the different class bits are transported over different transport channels or physical channels on the on the on the radio interface So you actually have three physical channels on the radio interface each for the different with a different convolutional code for the different class bits and then those basically when when the node B moves from the air interface to the IUB interface where IU UP is specified They basically don't do all the the remining and reshifting of the bits But they basically just take oh, yeah, this is basically the class zero bits and this is the class one bits and we Concatenate them and put them in in RTP So RTP is not really used as RTP and also the payload format is not like normally in RTP They just use RTP because I don't know maybe they've heard that you put audio in RTP But it's a bit odd and actually interestingly this even specified that you can have GTP inside RTP So are you user plane is even specified also for the packet switch site? I don't think if anyone has implemented it, but then basically you would have the GTP frame Inside an RTP frame with an IU UP header in front like complete complete, I don't know. I don't know what to say about this Stacking madness Okay, anyway, yeah, so the state of the implementation is I have implemented Code for live Osmo core in a branch. I have implemented code in TTC and 3 for testing in a branch and then I got sidetracked again So since December we have some unfinished code and hopefully I can manage to complete it at some point And then we will have this and from the on the MGC P side. It will basically Have to look Like from the signaling so basically the media gateway that needs to be instructed There's a single endpoint and one connection is normal. I am our and one connection is IU UP and To the RTP side, sorry to the MGC P side. It will basically look like yet another codec So in in the STP you specify that pay are a dynamic payload type 98 is AMR or something like that And did you say another payload type is IU UP and you you sent this in the STP And this is how the media gateway can distinguish the two different modes And then you have one endpoint with two connections one is normal I am R and the other one is is crazy AMR Okay, good. Thanks Then we can conclude this. There is actually also and BUP protocol stack Which is very very similar to IU UP, but I think yes, they are actually sending AMR in a proper Actually, you know we what we've done we've come see an AMR there because it's sending J711 But it's also another flavor which don't have state machines. It's it's much easier But also use the same encapsulation and it's currently used inside the core network of 3g Well NB UP is in the run. That's basically I think it's specified. I mean maybe people use it differently But it's specified between R and C and and not be if you have an IP based backhaul on there and Then basically from the NB is not be and then from the RNC the RNC would talk NB UP on the on the Notepad side and it would talk IU UP on the IU side back to the MSC and that's at least how it's specified Not sure what people are doing