2012

Mar

08

iOS开发之使用pjsip开发VoIP应用程序
文章分类:iOS开发

最近项目中要用到VoIP,VoIP全称Voice over Internet Protocol,即网络电话,生活中经常用到,例如Skype。

能用到iPhone上面的VoIP库不多,最开始准备使用Lipphone,但其编译实在太慢,编译了N次也没有成功,最后放弃啦。后来尝试使用pjsip,居然成功了,简单的记录一下过程,其实是照着官网操作的:)

一、环境需求:

iPhone应用推荐使用SDK 4.x,当然3.x也支持;iPad应用只支持SDK 3.2以上。

二、编译之前的准备工作:

1、下载pjsip源代码

2、在目录/pjsip/pjlib/include/pj/中新建config_site.h,粘贴如下代码入内:

#define PJ_CONFIG_IPHONE 1
#include <pj/config_site_sample.h>

三、编译pjsip:

在终端中运行如下命令:

$ cd /path/to/your/pjsip/
$ ./configure-iphone
$ make dep && make clean && make

四、给模拟器编译pjsip库:

在终端中运行如下命令:

export DEVPATH=/Developer/Platforms/iPhoneSimulator.platform/Developer
export CC=/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0
CFLAGS="-O2 -m32 -miphoneos-version-min=4.0" LDFLAGS="-O2 -m32" ./configure-iphone
make dep && make clean && make

五、编译sample:

编译目录pjproject/pjsip-apps/src/ipjsua中的项目,如果上面的步骤都成功了,这是你就可以看到app的主界面了。

六、测试通话:

1、搭建VoIP服务器:

网上有很多免费的SIP服务器,我使用的是MiniSipServer免费版,安装很简单,按界面提示一路下一步就OK了。安装完后别忘记了新建账户(这里以100和101为例)。

2、安装VoIP客户端:

这个也很多,我使用的是3CX Phone Client。登录账户100.

3、在iPhone的pjsip界面中登录账户101:

+a
Your SIP URL: (empty to cancel): sip:101@192.168.1.1
URL of the registrar: (empty to cancel): sip:192.168.1.1
Auth Realm: (empty to cancel): *
Auth Username: (empty to cancel): 101
Auth Password: (empty to cancel): 123456

和100打电话:

+b
Enter buddy's URI: (empty to cancel): sip:100@192.168.1.1
m
Make call: 1

打电话操作还可以简化:

m
Make call: sip:sip:100@192.168.1.1

这时,听到电话响声的你是不是感到很兴奋呢!

本站原创,转载请标明:来自追梦博客(http://www.wuleilei.com/)

本文地址:http://www.wuleilei.com/Blog/240

相关文章

iOS开发之使用UIGestureRecognizer (2012-05-02)

Xcode4.5新语法,碉堡了 (2012-11-30)

iPhone开发之显示WiFi提示 (2010-07-23)

iPhone开发笔记(四) (2011-05-28)

iPhone开发之动态添加UIActionSheet按钮 (2011-09-13)

iPhone开发之self.的用法 (2011-10-15)

iPhone开发之美化UILable中的文字 (2011-11-08)

iOS开发之获取本机IP地址的方法 (2012-01-05)

error: C compiler cannot create executables错误的解决方法 (2012-03-01)

iOS开发之后台播放音频文件 (2012-03-17)

看看他们的脚印

闲言碎语

突然发现,又是一年 (6月6日)

很久没来看博客了,发现头像又不能显示。。。 (3月28日)

FedEx真是龟速! (8月27日)

文章分类

最近文章

I'M BACK

让iOS App通过iTunes进行文...

生活不容易,何必呢

清除Linux系统中/var/spoo...

iOS开发之UIWebView自定义网...

最近评论

日志归档

友情链接

其它功能

随机标签