SIP UA for Android (+stack + RTP) released
29 04 2008
Hi folks, as promised, HSC released the ported SIP UA including the stack. This is an update to our previous ’stack only’ release. We have overwritten the old release with this new one in our download area. You can get it from here (look for the post titled “SIP UA + Stack for Google Android).
This release includes a short illustrative manual on how to use the SIP client and some things you need to do to configure it (mostly because of the limitation of the android emulator and what it does(not) support as of the current date). We have also included a ported RTP stack with this release. Theoretically, this release is all set for a signalling + media use case. I say theoretically, because it seems the android emulator does not support audio capture, so everytime one tries to start a media conversation, the emulator crashes. Folks @ the android-dev group have confirmed this is currently not supported in the emulator (but works on their actual phone).
So naturally, we had no way of testing it, and therefore, the code is compiled, ready to test, and commented out
Have fun. Some of you have asked us whether we plan to continue working on this. Sure - but no commitments. Some ‘IMS zealots’ in my company have started a side project to now make this UE IMS compliant (we do a lot of work on the IMS side, so a android IMS UE will be neat). When that happens, you will know. Naturally, it will be honoring the GPL way of life, since we will do on top of MJSIP.
Enjoy.
PS: If you intend to report this in other blogs/posts, I welcome you to do so. My request is to credit Hughes Systique Corporation with this port and not me as an individual (that is only fair, because there are others working on the port who are part of the company. Thanks)








[...] Update: Apr 29 2008: UA+Stack code released here [...]
Did you guys attempt to simply stream a .wav file over RTP since audio capture is not supported ?
Hi, no, we did not. Do post here when you manage to get that done. Then you can atlease have a one-way sendonly recvonly stream
Hy there! I’m doing a project that have the same purpose of yours. I would like to know where did get the RTP stack implementation that were ported to android? Thks for the help.
It was a sample minimalistic RTP implementation provided by the mjsip folks. For a more complete RTP implementation in Java see http://jlibrtp.org/
Thanks. I’ve been at http://jlibrtp.org before but i am looking for a minimalistic implementation to start on. About the lack of support on the emulator, have you tried using the “-mic” option, that receive an WAV file as input? I’ve tried it, but i didn’t have any success. Thanks!
Hi there, i would like to have a copy of the non-ported rtp stack implementation that u used. Thks folks!
It is already part of the ZIP file
Thanks Arjun!
[...] Read the announcement at roychowdhury blog [...]
HI Arjun,
I was trying to use your SipUA. However, I am struck with the configuration etc. emulator says “calling….” but when I start wireshark , I dont see any SIP message.
Probably I am wrong in configuration settings for emulator.
I have a laptop at home on which I am running android emulator with your (HSC) SipUA.
Can you please guide many users like me to how to setup the ports , enter LocalIP etc. do we need to use redir udp:port:port? do we need to do any port forwarding or disabling firewalls etc.
I also have X-lite without any configuration yet.
I saw your video. YOu have configured your x-lite with some sip server and proxy server. Actually I did not get what you said for configuring the x-lite. Did u say SIPfundo and proxy server?
Did you install any SIP server in your LAN or have you used external sip service providers like sip phone for configuring android emulator and x-lite or is it not necessary to configure with any sip server for demo purposes.
A step by step report would really help many users like me.
Thanks,
Jyothsna
Just wondering why you chose mjsip. What were the main reasons. From my understanding Jain SIP is much more actively developed.
@Fred,
mostly it was familiarity. We had used MJSip (as well as pjsip) earlier for mobile apps - both lightweight, so we just decided to roll with it. Our IMS team is also using mjsip for teminal app prototypes so we thought it would be useful to go with the same stack so we can push out IMS changes too. That reminds me - we have IMS working too, need to find time to release it out..
Thanks for the quick response. About how much time did it take u to port it? And what were the major things you had to do to port the library? I might port libraries in the future and wanted to know what documents you followed to get the job done. I haven’t used mjsip before so I might check out your library. I have worked with JAIN and pjsip before though.
Well, the small group of folks doing it were really dabbling around and not on it full time (or even half time), so its hard to say how long. In this mode, a first port was ready in a week. Then the team got busy, came back, got busy etc. etc. All in all, I think if it was a dedicated effort, the stack would not take more than a week (again, prototype quality). UA took some more time because of all the bugs in Android, waiting for the android folks to respond etc. The primary effort was to to ensure that module dependencies were met in android and then rewriting some parts that were different in android-java vs normal-java