In the fixed line world, the basic Session Initiation Protocol (SIP) has become quite popular for offering voice telephony service. Lots of companies such as Vonage, Siptel and DSL providers are making use of it today. So why are we not using SIP in 3.5G and 4G networks as well? I guess there are both policital and technical answers to this question. From a technical point of view there are a few features missing that are essential in wireless networks:
– Voice codecs: Current SIP implementations usually use G.711 voice encoding which produces a 64 kbit/s data stream. Transported over IP the total bandwith requirement per direction is 80 kbit/s. Compared to the effient codecs used in wireless networks today such as 12.2 kbit/s AMR with a similar voice quality this is quite a lot and significantly reduces the number of simultaneous voice calls per cell. The current voice architecture uses a transcoder between the radio network and the core network to restore G.711 compatability. So from a capacity point of view, using G.711 in the radio network is probably not a good idea and would meet the resentment of most operators. So from my point of view we need AMR capable mobile SIP clients and transcoders in the network to reach non AMR capabale (fixed) SIP clients and circuit switched networks. Note that such transcoders are already present in the SIP networks today, usually as media gateways between the SIP world and the classic circuit switched world to which most people are still connected to with their fixed line and mobile phones.
– We need to get rid of NAT and STUN: Most mobile operators use private IP addresses for their customers. This requires Network Address Translation (NAT) which in turn unfortunately requires frequent polling packets to the SIP and STUN (Simple Traversal of UDP through NAT) server. These packets keep the connection to the network open continuously but drain the battery of a mobile device very quickly. The solution to this issue is to use public IP addresses and to ensure that keep alive messages are removed from the SIP implementation as much as possible. With the lack of sufficient public IPv4 addresses this will require IPv6 at some point.
– End to End – Encryption: All SIP clients I use today do not encrypt signalling or the voice call itself. With freely available tools such as Wireshark, calls can easily be traced and recorded. While circuit switched networks are reasonably secured it is difficult to ensure there are no unwanted listeners in the route in public IP networks.
– The missing link: Handover to 2G circuit switched connections when running out of coverage. This one is very difficult to do. Sure there is VCC (Voice Call Countinuity) for IMS but the complexity both in the network and the mobile device is significant. I have to admit I have no easy solution for that.
Are there other essential SIP extensions that you, fellow readers, can think of to enable SIP for mobile networks without going to a full blown IMS implementation?