开始使用适用于 iOS 或 Android 的 VOIP 应用程序?
我想创建一个用于 iOS 的应用程序,可以通过与网站交互来实现 VOIP。我也可以从 Android 开始。
有谁知道任何有用的教程、建议或库。
(该应用程序最终也需要针对 BB 和 Android 进行重写。)
编辑:
奖励:什么是 SIP?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这些答案建议使用虹吸。
SIP 是会话发起协议,是一种与传输和媒体无关的协议,用于建立、修改和拆除多方之间的长期关联。它在 RFC 3261 中正式定义。
通常,SIP 与会话描述协议配对,该协议描述各方希望的媒体流使用。 SIP 使用要约/应答模型供各方交换这些媒体描述。
如果可以避免的话,就不要编写 SIP 堆栈(当然,除非是为了好玩)。这是很多工作。
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.
请考虑 Twilio 客户端 iOS VoIP SDK。它使得将 VoIP 功能集成到 iOS 应用程序中变得非常简单。无需了解任何有关 SIP 的信息。
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.
会话发起协议 (SIP) 是一种信令通信协议,广泛用于控制多媒体通信会话,例如通过互联网协议 (IP) 网络进行的语音和视频呼叫。
SIP 请求是:-
REGISTER:由 UA 用于指示其当前的 IP 地址和其希望接收呼叫的 URL。
INVITE:用于在用户代理之间建立媒体会话。
ACK:确认可靠的消息交换。
取消:终止待处理的请求。
BYE:终止会议中两个用户之间的会话。
选项:请求有关呼叫者功能的信息,而不建立呼叫。
SIP 响应
临时 (1xx):已收到请求并正在处理。
成功 (2xx):该操作已成功接收、理解并接受。
重定向 (3xx):需要采取进一步的操作(通常由发送者执行)才能完成请求。
客户端错误 (4xx):请求包含错误语法或无法在服务器上实现。
服务器错误 (5xx):服务器无法满足明显有效的请求。
全局失败 (6xx):任何服务器都无法满足请求。
您还需要检查这一点。
有关如何使用 voip 应用程序的 Apple 文档
对于 SDK,您可以使用付费 sdk 或免费 sdk,其中免费的有 siphon、twilio、ozeki 等。使用这些 SDK,您可以轻松实现 SIP、SDP、RTCP、SRTCP、RTP、SRTCP 等。
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.
好吧,我建议查看可以在 Android 上运行的 SIP 库。有几个适用于 Java 的 SIP 库,但尚不清楚它们是否适用于 Android。
有一个项目将 SIP/VoIP 添加到 Android:
http://sipdroid.org/
我会检查一下并了解他们如何从手机获取音频,以及实现 SIP 的方法等。您不能使用该代码进行闭源开发,因为它是 GPL,而且他们非常清楚谁可以使用它。
SIP 协议:
http://www.cs.columbia.edu/sip/
http://www.sipforum.com/
希望能帮助您入门。
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.