PJSIP 【iPJSUA 的简单使用】

上一篇在编译完以后,就很不负责的结束了,本篇就对 PJSIP 库中提供的一个示例 iPJSUA 的使用,作一个简单的介绍。也能解除不少人对官方文档的一个困扰,起码我是被困扰过了。html

首先,要确保你的 PJSIP 的库和你即将要编译的平台对应,或者你直接使用上一篇博文最后连接下载的库,那样不用作任何配置,由于它相应的 lib 文件夹中的库,都是支持多平台的。ios

打开位于:pjsip-apps/src/pjsua/ios/ 下的 ipjsua.xcodeproj ,command + r ,运行该项目,若是编译不成功,请参看我上面说的那句话;若是提示缺乏 ”libmilenage-arm-apple-darwin9.a“,删除项目 Libraries 文件夹中,对应的该文件:xcode

image

再次 command + r,应该不会出什么问题了,那么你将看见以下的界面:服务器

image

很直观的一个界面,它叫你 telnet 到一个指定的地址和端口,那么从你的 mac 或者其它能和你电脑通信的机器上 telnet 相应的地址便可。进去后,就能够参考 PJSUA-CLI 中的指令来进行相应操做了。app

因为个人 mac 是安装在虚拟机中的(屌丝。。。),宿主系统是 win7,那么我在个人 win7 中搭建一个 SIP 服务器,和添加一个 SIP 客户端,来作一个最基本的使用演示。这里使用 miniSIPServer 和 miniSIPPhone 来做演示,从这里下载试用版:post

image

下载后,安装,打开便可:3d

image

SIP 账号和密码,对应着分机里面的设定,默认它已经给咱们创建了几个,帐户和密码同样,如下是 SIPPhone 客户端账号配置(帐户名、密码:101,对应分机配置):code

image

这样咱们的服务器搭建好了,而且有这么一个客户端,这样就能够在 mac 中与该服务器和客户端进行通信了,你们能够看到,我这里主系统的 IP 为  192.168.1.100,那么大家要视本身实际状况而定了。htm

首先从 mac 系统的终端中 telnet 模拟器中提示的地址和端口,进入后,咱们参考文档上,注册一个帐户(相似于登陆到服务器上,并非新增长一个账号,也就是说该帐户服务器上必需要有)的命令是: acc add,这里有个技巧,当咱们不知道后面怎么输入参数时,就按 tab 键,它会给咱们提示。这里咱们输入 acc add 而后按 tab 键(一次没反应,就再按一次):blog

image

它提示要咱们输入 SIP URL,而后咱们输入 sip:102@192.168.1.100 ,再按 tab 它又会提示输入 SIP 注册服务器的地址,固然熟悉了以后,并不须要这样一直按 tab,直接以下:

image

参数的意义分别是: 用户的 SIP 地址,注册服务器地址,Realm,用户名,密码,回车后,显示注册成功,这时候,咱们看下 miniSIPServer 的分机列表:

image

此时 102 分机已经在线了,如今对 101 发起一次呼叫:

call new sip:101@192.168.1.100

OK,这时听到 miniSIPPhone 振铃了,咱们点击接听便可接通:

image

上图为分机在通话中的状态,咱们挂断它,终端输入:

call hangup

这时咱们的通话被终结了,最后,咱们来接一通电话,从 miniSIPPhone 中,直接呼叫 102:

image

这时候,咱们在 mac 的 telnet 终端中输入 call list , 会看到一个状态为 incoming 的呼叫:

image

咱们输入 : call answer 200,便可接入,其中 200 为状态码(和 http 的状态码相似)。

image

OK,到这里,这个 iPJSUA,你应该知道怎么玩了吧~~ 其实很简单的嘛~

做者: Sun.M
本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利.