我想创建一个适用于iOS的应用程序,可以通过与网站进行交互来实现VOIP。我也可以从Android开始。
有没有人知道任何有用的教程,建议或库。
(该应用程序最终也需要为BB和android重写。)
修改
奖金:什么是SIP?
答案 0 :(得分:9)
SIP是会话启动协议,是一种传输和媒体不可知的协议,用于设置,修改和拆除多方之间的长期关联。它在RFC 3261中正式定义。
SIP通常与Session Description Protocol配对,后者描述了各方希望使用的媒体流。 SIP使用offer/answer model来交换这些媒体描述。
如果你可以避免它,不要写一个SIP堆栈(当然,除非它很有趣)。这是很多工作。
答案 1 :(得分:8)
考虑Twilio Client iOS VoIP SDK。将VoIP功能集成到iOS应用程序中非常简单。无需了解SIP。
答案 2 :(得分:5)
会话发起协议(SIP)是一种信令通信协议,广泛用于控制多媒体通信会话,例如通过Internet协议(IP)网络进行语音和视频呼叫。
SIP请求是: - 注册:由UA用于指示其当前的IP地址以及它希望接收呼叫的URL。
INVITE:用于在用户代理之间建立媒体会话。
确认:确认可靠的消息交换。
CANCEL:终止待处理的请求。
BYE:终止会议中两个用户之间的会话。
选项:在不设置呼叫的情况下,请求有关呼叫者功能的信息。
SIP响应
临时(1xx):收到并正在处理的请求。
成功(2xx):该行动已成功接收,理解和接受。
重定向(3xx):需要采取进一步行动(通常由发件人)来完成请求。
客户端错误(4xx):请求包含错误的语法或无法在服务器上完成。
服务器错误(5xx):服务器无法满足明显有效的请求。
全局故障(6xx):无法在任何服务器上完成请求。
你还需要检查一下。 apple document on how to use voip app
对于SDK,您可以使用付费sdk或免费sdk,免费的是siphon,twilio,ozeki等。使用这些SDK,您可以轻松实现SIP,SDP,RTCP,SRTCP,RTP,SRTCP等。答案 3 :(得分:1)
好吧,我建议看一下可以在Android上运行的SIP库。有几个用于Java的SIP库,但不知道它们是否适用于Android。
有一个项目将SIP / VoIP添加到Android:
我会检查出来,看看他们做了什么来从手机获取音频,以及实现SIP等方法。你不能将这些代码用于封闭源代码开发,因为它是GPL,而且它们非常清晰关于谁可以使用它。
SIP协议:
http://www.cs.columbia.edu/sip/
希望能帮助您入门。