1

I am looking for general advice (technologies, best practice etc.) regarding the development of a VoIP application for Android. Similar questions have been posted, but I included specific questions.

I did quite some research and I noticed that there are several possible solutions (of course I know about the SIP stack in the SDK (also that it includes even voice transmission), but since it's not available on most devices, I don't intend to use it. Also, I read about Adobe Flex implementations but I would like to stick to something native).

What stuck to my mind is the following:

  • initiate the session using SIP (the server exists). Use SDP in the messages to discribe the session.

  • establish p2p connection (firewalls/routing may be a problem - STUN could be used - DNS may be involced than)

  • make actual transmission, I believe that the packets/procols involved are (payload) in -> RTP in -> UDP in -> IP.

This seems quite complicated at the moment so my first question is:

1)is this a standard approach? Is it best practice? I got some hints that, instead, MSRP could be used to transmit content, but I have read that it is only for IM, files etc.

2) Which SIP stack should I use for the best results/performance? I can use Java/Eclipse for development. I was thiking to choose JSIP (or tinysip, based on jsip) but am not sure.

3) Please give me a few hints about how to implement the data transmission in Java for Android (RTP)

As a last note, I am not excluding at all pjsip. I am thinking that it may be actually faster since it uses the NDK (I could switch to C++, np) . I also read that it already includes audio/video transmission. I just don't know how easy it is to use and extend it and how good it really is. If you have used it, please let me know!

Thank you.

PS: Although not urgent or certain, portability may be an important factor for future. I will need video transmission as well in the near future.

stormofwar
  • 551
  • 5
  • 9
  • Please give answers based on your experience. If you propose a framework, please tell about its stability, reliability, portability, ease of learning/documentation etc. Whenever possible, please use arguments (preferably from your own experience with it) to demonstrate why it is the framework to be chosen. – stormofwar Jan 22 '13 at 17:27

3 Answers3

1

You should check out the IMSDROID project. It uses Doubango Framework which is written in C and is highly portable. What more, it is open sourced too so you can play around with their code and possibly contribute towards the community.

http://code.google.com/p/imsdroid/

cheers :)

anudroid
  • 163
  • 4
0

Take a look at teamSpeak. They provide native sdk-s. But they aren't free. It's not P2P, requires a server (at least as I know) May worth a minute. http://www.teamspeak.com/?page=teamspeak3sdk

Marcell
  • 973
  • 1
  • 6
  • 13
  • I did take a look. People complain about their own Android app at this time - on their forum. A fast glance also gave me the impression that it cannot connect to just any voip server, but only to teamspeak servers. – stormofwar Jan 22 '13 at 16:56
  • you are right, they give solution for extending an application with voice chat. The android app is really buggy, mainly the UX is bad. The bandwith, cpu usage is good with low latency, the quality is also ok. – Marcell Jan 23 '13 at 17:27
0

Writing your own SIP stack takes a few months with only basic features. I would recommend to use an existing sip stack. There are a few opensource discussed here.

Community
  • 1
  • 1