I was on a business trip last week, visiting some prospective clients in Asia. If there is anything that I learned there is that the Android OS is about to get a real boost from the Asian vendors, a lot bigger than the one we see now. This is quite big in its own right – there is good reason why Android sales have surpassed the iPhone – it’s a simple matter of scale.
But there was something that came up in each and every meeting I had where the potential prospect was looking for a 3G-324M mobile video telephony solution for Android, and that’s the question of where the risks lie – what kind of challenges will the developers have in the process? So as I tend to do in such cases, I provided the vendor with what I believe to be the best possible answer and came back here to share my thoughts with you, my readers, as well.

So here are what I believe to be the 3 main challenges that developers will have to overcome when integrating mobile video telephony into Android:
1. Interoperability
In the “good old days” of Windows Mobile, some 2 or 3 years ago, most of our customers were more worried about integrating the 3G-324M protocol stack into the OS. For some reason, interoperability came later. If anything, they had a lot of questions around the issues of call setup time.
In this round, where customers come and ask about Android, their focus has shifted from call setup time to interoperability. It is also where I see the most important aspect of their planning.
3G-324M is deployed in a large number of handsets – old and new. Operators test new handsets in their own test labs. GCF validation processes are required from video telephony for new handsets. All this means that interoperability is a real headache, and one that vendors face only when they have finished developing their product and are ready to release it commercially with an operator. If they don’t plan well for this procedure, vendors can find themselves mucking around at a test lab working on things they could have done a lot earlier in the process.
2. Mapping 3G-324M to the Android Architecture
A mobile handset is a complex beast, and Android is a modern operating system with a clean architecture. That said, there are a lot of layers to Android. For video telephony to play well in Android, it needs to interact and interface with most of the Android layers.
Where will the changes required for 3G video telephony be?
- The 3G-324M protocol stack resides better on the side of the libraries, as native C/C++ code. It requires real-time access to both codecs and the baseband, so having it in the upper layer simply doesn’t make sense.
- There should be a JNI layer for the video telephony solution that will be accessible by the Application Framework layer, where Java code resides and where the GUI is managed. Without it, there is no way to display the video, control the call setup process or integrate it into the Contacts module.
- The RIL (Radio Interface Layer) provided by Android is great for telephony, but doesn’t really take care of video telephony – there’s no readily available interface there that allows for opening up a 64kbps circuit switched connection. It means that this layer will need to be modified by the vendor to add such support.
- The peripheral drivers – camera, audio and display – need to interface with the video telephony solution. You might even need to tweak them a bit to fit the real-time demands of 3G-324M.
3. Dealing with the Baseband and Codecs
This is one that any handset vendor needs to deal with, be it Android or any other operating system.
While the baseband vendor supports 64kbps circuit switching mode, Android does not – at least not out of the box. Adding such support requires deep understanding of the inner workings of 3G-324M and modem implementations. The reason is again the real-time nature of 3G-324M. So while the initial implementation of this part for proof of concept purpose may be quite rapid, it needs to be optimized and stabilized for a real commercial solution.
Codecs are another story. While Android comes with a solid multimedia framework that handles audio and video, it doesn’t do a good job of supporting real-time video, where special care needs to be taken: aspects like the inability to retransmit data, the need to lower latencies to the extreme and interact more closely with the video codec are just not handled properly. This requires additional attention from vendors to make sure they get this implementation right.
What Does a Vendor Need to Do?
If there is one takeaway I’d like vendors to have from this post, it is that the Android OS “out of the box” solution for 3G-324M doesn’t work. It won’t address any of the challenges I’ve stated above. And believe me – I have the scars, from multiple handset vendors and operating systems, to prove it – these will be real show stoppers for the release of a commercial product.
I’d say that vendors have two options to address these issues:
- License a leading, proven, commercial 3G-324M protocol stack, like the one we offer. You will still need to take care of these issues, but the stack vendor should be able to support you. If you choose this path, you need to make sure you have the resources lined up for such an operation.
- “Outsource” the video telephony project within your handset to a 3rd party. We have such an offer readily available as well. This will keep your mind at ease and allow you to deal with other aspects of your handset.
Both options will get you to your destination, and in both we have what is required to assist you along the way. So choose the strategy that best fits you and contact us.






Pingback: mobi Enthusiast .mobi » Carnival of the Mobilists #225
Hey .. it was a nice article .. and seems all the things are very true .. but 3G-324M stack is already included in opencore (android multimedia framework). That is in the form of native code so an interface layer is required on JNI side and offcourse on codec/network side along with support from vendor.
That makes it work .. I have seen few phones which are using this stack without any problem ..
Trixie,
The 3G-324M stack that is shipped with Android is far from sufficient – it doesn’t really interoperate in the way operators who ship phones expect – it will fail miserably without further work; and it can’t work with the vinyl RIL components that are publicly available with Android OS.
We’ve seen this happen time and again – people trying to use 3G-324M that comes in OpenCore and then come to us and other players in this field to get a solution they can trust. You need to remember that video calling on phones is treated as regular voice calling by the operator who deploys and markets the smartphone. For some reason, Google decided not to offer this component fully integrated.
Regards,
Tsahi
Tsahi,
One reason that I can think of from the top of my mind “why Google never integrated this component fully” is first google phone came without front camera and so video call could not be the part of Android from very begining and later on, after more and more manufaturers got involved, manufaturers started to do it on their own so no proper integration on Android stack.
Anyway it was Google’s decision but still not many manufactureres are coming with video telephony on Android based phones. I have seen almost every high end Nokia phone(read it Symbian phone) with video call option but not in case of Android phones. But from your statement it seems many phones in market are going to be available with video call option.
About the people using OpenCore stack and coming back to you for better solution, they are getting OpenCore stack for free and they are free to modify it as they want so its somewhat like “Windows vs Linux” .. isnt it
.. I am not saying which one is better but I dont think its a good comparision to do
Regards,
Tr
Trixie,
You are correct – most Android smartphones don’t have 3G-324M in them when they ship to market, but I can definitely see a trend in Asia Pacific of this feature being added by several of our customers.
As for OpenCore it is never an issue of availability of open source – it’s an issue of expertise and experience: 3G-324M is a protocol that is integrated into devices by the handset manufacturers – these companies usually know more about hardware integration than about software protocol implementations and interoperability of video calling. For them, taking a half-baked or even a solid open source solution for something as esoteric as 3G-324M that is used only on mobile handsets and then making it work in their devices isn’t easy – they will usually prefer a commercial company to assist in the process, and there aren’t that many 3G-324M experts in the world – it’s not “internet” technology.
Anyway, I wasn’t trying to make a comparison – just tried to point out some of the hurdles of the companies I usually talk to when they want to integrate 3G-324M.
Regards,
Tsahi
dear Tsahi,
I am wondering if u r working for consumer for 3G VT on android? Radvision is the only company on google who is accepting that they can give VT to android. but can’t see proof!! can you tell me about it.
I am not a tech savvy in android and cannot develop anything but need to know as I am a proud owner of a android phone which lacks only VT
Siddharth Sharma,
We sure do have or 3G VT solution running on Android.
Problem is – to use it, the handset manufacturer needs to integrate it to the phone, which means you probably won’t be able to use our solution on your current Android phone.