我想建立一个iPhone应用程序,它可以选择通过SIP(VoIP)拨打电话,但此刻我不知道如何开始。
有没有人有关于这个主题的信息,或者我可以用来实现SIP功能的演示项目?
提前致谢!
答案 0 :(得分:14)
你前面有一条漫长而有趣的道路。 : - )。
您需要选择一个SIP库来构建您的应用程序。有许多开源SIP堆栈,其中一些甚至还有适用于Mac OS和iOS的xCode项目。您可能需要查看ReSIPRocate,PJSip,Sofia SIP或oSIP/exoSIP。
您需要围绕该SIP堆栈构建逻辑,这将允许您管理SIP会话,并处理您想要支持的所有可能的调用方案,设置和管理这些调用的音频通道等上面的一些SIP堆栈比其他SIP堆栈具有更多此功能。还有许多公司销售基于这些开源SIP堆栈构建的iOS工具包,以使您的工作更轻松。
您需要将SIP堆栈与iOS集成。这意味着将您的iOS应用程序连接到(可能的)基于C的SIP堆栈并进行管理。 Apple在他们的“高级应用程序技巧”iOS开发人员文档(Advanced App Tricks)中提供了一套非常简短的建议来开发VoIP应用程序,该文档提供了有关背景和音频频道的建议。
使用SIP服务器和其他SIP客户端进行测试。创建一个Asterisk / Freeswitch框并向其注册SIP客户端,包括您的iOS Sip Client和其他基于桌面的SIP电话(XLite是一个很好用的)。尝试您想要支持的所有呼叫方案。
就演示而言,有一个名为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