Recently, we verified the interoperability of the new iPhone 6 with the Unified Core Network, by performing the industry’s first VoLTE call from a GSM mobile phone to iPhone 6, through a single unified switch. This is a Big Deal. Why?
Some background on the problem
One of the changes 4G LTE is forcing on mobile operators is the elimination of older SS7 MAP core networks of 2G and 3G in favor of IMS (IP Multimedia Subsystem). However, many critical services, like roaming, are not yet ‘fully baked’ in IMS, so operators will probably continue to run 2G and 3G networks for the foreseeable future. In fact, mixed 2G/4G deployments are happening in many places right now and those operators are in the situation of installing and managing two nearly independent core networks.
Our solution
The Yate Unified Core Network (YateUCN) is the answer to the 2G/4G mixed network problem. The UCN provides a “packet core” for routing internet traffic and an IMS/VoLTE core for handling calls and text messages. It works with YateBTS to support 2.5G GSM/GPRS handsets and with any standard eNodeB to support 4G LTE devices . We first introduced it with this video. (In that first video we referred to “OpenSAE” and “OpenVoLTE” as two different things, but we have since combined them into a single UCN server.)

The switching, routing and mobility management functions of the core network (4G SAE/IMS and 2G Mobile Switching Center/Visitor Location Register/GPRS support node) are implemented in a single UCN server. This approach offers many advantages:
- Simplified architecture; even a large network is just many copies of an identical box.
- Simple scalability; just add more servers.
- Increased network resiliency: there is a many-to-many relationship between radio sites and UCN servers, with seamless failover and load balancing.
And now: the demos!
Most recently, we have been testing the UCN with the IMS client in the new iPhone 6. (Unlike over-the-top applications like Skype, a true IMS client is implemented in the baseband processor, so using a true VoLTE-capable handset is critical.) We used the UCN with an an off-the-shelf LTE eNodeB to provide a 4G radio network for the iPhone and we used YateBTS to provide a 2G radio network for a second test phone. In this first demo video, the iPhone registers to the UCN through the 4G radio network and the GSM phone registers to the UCN through the 2G radio network.
The two phones register to the same HLR using SS7-MAP. Then, we exchanged text messages between the two handsets. If you are a hardcore techie, here is a ladder diagram:

And here is the signaling trace from the UCN server console. If you look at the ladder diagram, you see that we are using conventional SS7-MAP to register an LTE iPhone6 to the HLR. This solves the LTE roaming problem, and we can do it thanks to the Yate messaging engine, which is the basis of the UCN server.
In the second demo video, we make phone calls between the two handsets.
For the 2G phone, this is an ordinary circuit-switched GSM call. For the 4G phone, this is a VoLTE call. What is special here is that these calls are being handled by a single switch in the UCN, behaving as a 4G IMS and a 2G MSC at the same time. We can do this because the UCN server is built on Yate, which combines one of the most solid SIP implementations in the industry with carrier-certified SS7-MAP support, and because YateBTS gives us a very LTE-like RAN for 2.5G.
We have already had the opportunity to present this technology to mobile operators. Their first reaction is disbelief, followed by a lot of excitement. “You mean we can use CAMEL on a VoLTE call?” “You mean we can authenticate 4G handsets in an ordinary HLR?” “You mean we can run GSM and LTE out of the same core network?” And to this we say, “Yes, you can!”