About two years ago I first read about JSR-180, the mobile handset Java extension that supports SIP. Its emergence was one of the factors that I included in my report on SIP-capable mobile phones last year. To be honest, it's been a little bit slower in coming than I'd anticipated, although it's present in newer Symbian phones and SonyEricsson's latest handset Java platform.
This got me thinking..... I would have expected to have seen at least one Java ME (formerly J2ME) VoIP client for handsets by now. But I haven't come across a single one, and none of the VoIP software companies I talk to have mentioned it.
[Side note: I presume that Qualcomm is enhancing BREW to support VoIP for CDMA EV-DO Rev A deployments]
Now, to create a Java VoIP client, you don't just need access to SIP (or another proprietary protocol), but also to RTP, audio codec selection, realtime audio features and so forth. You'd also need ways to access & control either WiFi or 3G networks for the VoIP traffic. Lastly here's also a need for mult-tasking Java, so you could leave a VoIP client running 'in the background' for any incoming calls.
All told, I guess it's a pretty tall order. Unfortunately, I reckon that this is essential for any really widespread massmarket deployment of wireless VoIP, either by an operator or an independent provider, as I don't believe that the penetration of open OS smartphones (Symbian, Windows etc) will get much beyond perhaps 20-30% in most countries, Japan excepted.
Most average consumers don't like downloading applications onto mobile phones. Very few people put a smart OS in their top-5 criteria for handset choice. I'm no different - although I've got smartphones around for work and testing purposes, my main personal phone only has Java and that's not likely to change in the next couple of years. So I'm excluded from all the wVoIP activity when I'm outside of 'work' mode.
(For those that find this weird: when I'm off-duty I'm absolutely not an enthusiastic 'mobilist'. I want an ultra-fast UI, good voice, intuitive dialler & phonebook & SMS clients, an OK browser and a good camera. That's it. I'm really not bothered about an open OS or WiFi and I never, ever, download aftermarket applications. I'm quite curious about GPS though. In other words I behave like 99% of normal mobile users).
The bottom line is that Sun's Java Community & all the various Java enthusiasts really need to get on the case with this. Sure, the JSR-281 IMS API might help operators with SIP application, but I'm not clear that even that will sort all the audio-related issues needed for full VoIP. Aside from that, there's clearly a lot of potential for 3rd-party VoIP applications on Java devices - but there needs to be an explicit push to optimise for it. This needs to be sorted, as otherwise this is a huge gating factor on wireless VoIP.