Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting started with a VOIP app for iOS or Android?

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?

like image 711
Moshe Avatar asked Sep 28 '10 20:09

Moshe


3 Answers

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.

like image 174
Frank Shearar Avatar answered Nov 03 '22 01:11

Frank Shearar


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.

like image 35
Dan Kaplan Avatar answered Nov 03 '22 02:11

Dan Kaplan


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.

like image 28
Suraj K Thomas Avatar answered Nov 03 '22 00:11

Suraj K Thomas