Getting started with a VOIP app for iOS or Android?

12,148

Solution 1

These answers suggest using siphon.

SIP is the Session Initiation Protocol, a transport- and media-agnostic protocol for setting up, modifying and tearing down long-term associations between multiple parties. It's formally defined in RFC 3261.

Usually SIP is paired with the Session Description Protocol which describes the media streams the various parties wish to use. SIP uses an offer/answer model for the parties to exchange these media descriptions.

If you can possibly avoid it, don't write a SIP stack (unless it's for fun, of course). It's a LOT of work.

Solution 2

Consider the Twilio Client iOS VoIP SDK. It makes it dead-simple to integrate VoIP capabilities into iOS apps. No need to know anything about SIP.

Solution 3

The Session Initiation Protocol (SIP) is a signaling communications protocol, widely used for controlling multimedia communication sessions such as voice and video calls over Internet Protocol (IP) networks.

SIP Requests are:- REGISTER: Used by a UA to indicate its current IP address and the URLs for which it would like to receive calls.

INVITE: Used to establish a media session between user agents.

ACK: Confirms reliable message exchanges.

CANCEL: Terminates a pending request.

BYE: Terminates a session between two users in a conference.

OPTIONS: Requests information about the capabilities of a caller, without setting up a call.

SIP Response

Provisional (1xx): Request received and being processed.

Success (2xx): The action was successfully received, understood, and accepted.

Redirection (3xx): Further action needs to be taken (typically by sender) to complete the request.

Client Error (4xx): The request contains bad syntax or cannot be fulfilled at the server.

Server Error (5xx): The server failed to fulfill an apparently valid request.

Global Failure (6xx): The request cannot be fulfilled at any server.

Also you need to check this. apple document on how to use voip app

for SDK you can use paid sdk's or free sdk's those comes under free are siphon,twilio,ozeki etc..Using these SDK's you can easily implement SIP,SDP,RTCP,SRTCP,RTP,SRTCP etc.

Solution 4

Well I'd suggest looking at the a SIP library that can work on Android. There are several SIP libraries out there for Java, but it's unknown if they work on Android.

There is a project that adds SIP/VoIP to Android:

http://sipdroid.org/

I'd check that out and see what they did to get the audio from the handset, and approach to implementing SIP, etc. You can't use that code for closed source development because it's GPL, and they are very clear about who can use it.

SIP protocol:

http://www.cs.columbia.edu/sip/

http://www.sipforum.com/

Hope that helps you get started.

Share:
12,148
Moshe
Author by

Moshe

iOS Engineer Website | GitHub | Careers | App Store

Updated on July 23, 2022

Comments

  • Moshe
    Moshe almost 2 years

    I'd like to create an app for iOS that does VOIP, presumably by interacting with a website. I can start with Android too.

    Does anyone know of any tutorials, suggestions or libraries that would be of any use.

    (The app would need to be rewritten for BB and android eventually, too.)

    EDIT:

    Bonus: What is SIP?

  • Moshe
    Moshe over 13 years
    What is SIP? That's a new term to me.
  • Devin Rader
    Devin Rader over 10 years
    Twilio evangelist here. I'll just add to this answer that one of the other advantages of using the Twilio iOS or Android SDK is that in addition to the signalling aspect of VoIP (eg SIP), the libraries also handle all of the media capture and playback for you.
  • Suraj K Thomas
    Suraj K Thomas about 9 years
  • Suraj K Thomas
    Suraj K Thomas about 9 years