当前位置: 首页 > 工具软件 > PJSIP > 使用案例 >

使用pjsip开发

高嘉熙
2023-12-01

http://blog.sina.com.cn/s/blog_947c4a9f0101cvex.html

一、环境需求:

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

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

1、下载pjsip源代码(可在此找到最新的)

2、或直接下载

pjproject-2.0-alpha2.tar.bz2 (mac os)
pjproject-2.0-alpha2.zip(windows)

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

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

三、编译pjsip:

在终端中运行如下命令:

$ cd /path/to/your/pjsip/  (及cd到你下载下来的那个文件夹)
sudo ./configure-iphone (务必记住,这里指的编译环境,都是arm7,非i386模拟器,你若无真机debug,你就悲催了,必须得按照第四步编译第三方库,参考编译生成i386的库,来配合让模拟器运行,如果是真机,第四步就可以省了)(另外务必记得,你尽量加入sudo ,管理员帐号,输入之后,它会提示你输入系统密码。这一点,很有用,否则你的帐号无法创建文件权限。)
$ sudo make dep && make clean && make(如果make命令找不到,可以通过AppStore安装好Xcode之后,打开Xcode,菜单Xcode >> Open Developer Tool >>More Developer Tools,这时Safari出现了,开始注册填写信息然后进入Apple Developer的下载站点,搜索“Unix”出来第一个结果是Command Line Tools把它下载下来,建议使用迅雷 for mac,下载好了安装,它会给我们提供命令行工具包括我想要的gcc和make,你不需要重新打开Terminal,which一下gcc和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"
sudo ./configure-iphone
make dep && make clean && make

五、编译sample:

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

六、测试通话:

1、搭建VoIP服务器:

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

搭建MiniSipServer非常简单,个人建议使用英文版,中国版翻译得很2,词不达意。见如下链接,添加帐号,设定密码,等等。
http://www.myvoipapp.com/docs/mss_services/manual/index.html#add_local_usr

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

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



 类似资料: