在IOS5中实现SIP功能

时间:2012-07-12 11:42:15

标签: pjsip

我想建立一个iPhone应用程序,它可以选择通过SIP(VoIP)拨打电话,但此刻我不知道如何开始。

有没有人有关于这个主题的信息,或者我可以用来实现SIP功能的演示项目?

提前致谢!

3 个答案:

答案 0 :(得分:14)

你前面有一条漫长而有趣的道路。 : - )。

  1. 您需要选择一个SIP库来构建您的应用程序。有许多开源SIP堆栈,其中一些甚至还有适用于Mac OS和iOS的xCode项目。您可能需要查看ReSIPRocatePJSipSofia SIPoSIP/exoSIP

  2. 您需要围绕该SIP堆栈构建逻辑,这将允许您管理SIP会话,并处理您想要支持的所有可能的调用方案,设置和管理这些调用的音频通道等上面的一些SIP堆栈比其他SIP堆栈具有更多此功能。还有许多公司销售基于这些开源SIP堆栈构建的iOS工具包,以使您的工作更轻松。

  3. 您需要将SIP堆栈与iOS集成。这意味着将您的iOS应用程序连接到(可能的)基于C的SIP堆栈并进行管理。 Apple在他们的“高级应用程序技巧”iOS开发人员文档(Advanced App Tricks)中提供了一套非常简短的建议来开发VoIP应用程序,该文档提供了有关背景和音频频道的建议。

  4. 使用SIP服务器和其他SIP客户端进行测试。创建一个Asterisk / Freeswitch框并向其注册SIP客户端,包括您的iOS Sip Client和其他基于桌面的SIP电话(XLite是一个很好用的)。尝试您想要支持的所有呼叫方案。

  5. 就演示而言,有一个名为siphone的开源iPhone应用程序基于PJSIP,它的源代码可以免费下载:http://code.google.com/p/siphon/

    我还会看一下目前App Store中的许多基于SIP的应用程序。这些包括Bria,Acrobits,Fring,Truphone,iSIP等。

答案 1 :(得分:4)

我知道这有点晚了,但是为了将来参考;我们有很好的经验的另一个SIP堆栈是Linphone project

与前面提到的一些堆栈一样,如果你打算为其他操作系统(例如Android)编写代码,那么这个堆栈非常适合。

答案 2 :(得分:3)

检查以下链接。您将从那里获得源代码,并可以为设备和模拟器构建。

https://github.com/radif/SIPHON-SIP-Client-that-actually-compiles