iphone实时通话开源框架pjsip编译.docx
《iphone实时通话开源框架pjsip编译.docx》由会员分享,可在线阅读,更多相关《iphone实时通话开源框架pjsip编译.docx(6页珍藏版)》请在冰豆网上搜索。
![iphone实时通话开源框架pjsip编译.docx](https://file1.bdocx.com/fileroot1/2023-1/10/e6ce01c5-0a73-43a0-a752-f1a317cfd23e/e6ce01c5-0a73-43a0-a752-f1a317cfd23e1.gif)
iphone实时通话开源框架pjsip编译
iphone实时通话开源框架pjsip编译
iphone实时通话开源框架pjsip编译-pjsua运行测试
zxwo0o
iphone
pjsip,pjsua
0Comments
发表评论
iphone实时通话开源框架中,pjsip是一个比较精简的好框架,比linphone好编译多了。
下面介绍下编译运行步骤。
一、编译运行环境:
iPhone:
5.1.1,系统:
10.7.3,xcode:
4.5.2
二、准备工作:
1、从pjsip官网下载tar的源代码,解压到本地;
2、在目录/pjsip/pjlib/include/pj/中新建config_site.h,粘贴如下代码入内:
#definePJ_CONFIG_IPHONE1
#include<pj/config_site_sample.h>
三、编译pjsip:
在终端中运行如下命令:
$cd/path/to/your/pjsip/
$./configure-iphone
$makedep&&makeclean&&make
四、编译pjsuaDemo工程:
打开目录pjproject/pjsip-apps/src/ipjsua中的项目,连接上你的iphone编译运行就行了。
五、测试通话:
1、VoIP服务器:
可以使用MiniSipServer免费版,安装很简单,安装完后别忘记了新建账户(这里以100和101为例)。
2、VoIP客户端:
个人感觉X-lite比较好用,不管是mac版本还是windows版本。
登录账户成功后会显示注册成功.
3、在iPhone的pjsip界面中登录账户101:
+a
YourSIPURL:
(emptytocancel):
sip:
101@192.168.1.1
URLoftheregistrar:
(emptytocancel):
sip:
192.168.1.1
AuthRealm:
(emptytocancel):
*
AuthUsername:
(emptytocancel):
101
AuthPassword:
(emptytocancel):
123456
和100打电话:
+b
Enterbuddy'sURI:
(emptytocancel):
sip:
100@192.168.1.1
m
Makecall:
1
打电话操作还可以简化:
m
Makecall:
sip:
100@192.168.1.1
另外还可以将相关信息添加到配置文中:
在(alice.cfg)添加内容:
#Thisisacommentintheconfigfile.
--idsip:
alice@
--registrarsip:
--realm*
--usernamealice
--passwordsecret
=================================
配置文件其他用法简介:
用法:
PJSUA[选项][SIP的URL调用]
一般选项:
--config-file=file读取从文件的配置/参数;
--help显示此帮助屏幕;
--version显示版本信息;
日志记录选项:
--log-file=fname日志文件名(默认是stderr);
--log-level=N设置日志的最大级别为N(0(无)6(跟踪))(默认值=5);
--app-log-level=N设置日志的最大水平为stdout显示(默认值=4);
--color运用丰富多彩的日志(在Win32默认开启);
--no-color禁用丰富多彩的日志;
--light-bg使用白底黑字的颜色(默认是黑暗的背景);
SIP帐户选项:
--use-ims开启和这个账号相关的3GPP/IMS设置;
--use-srtp=N是否使用SRTP?
0:
不使用,1:
可选,2:
强制使用(默认:
0);
--srtp-secure=NSRTP是否需要安全的SIP?
0:
不需要,1:
tls方式,2:
sips(默认:
1);
--registrar=url设置注册服务器的URL;
--id=url设置本地账户的URL
--contact=url选择性的覆盖联系人信息
--contact-params=S给指定的联系URI添加S参数
--proxy=url可选择的访问代理服务器的URL
--reg-timeout=SEC注册时间间隔(default55)
--realm=string设置域
--username=string设置用户名
--password=string设置密码
--publish发PUBLISH
--use-100rel需要可靠的临时响应(100rel)
--auto-update-nat=Nn为0或1来启用/禁用SIP遍历后面对称NAT(默认1)
--next-cred添加其他凭据
SIP帐户控制:
--next-account添加更多的账户
传输选项:
--ipv6使用IPv6
--local-port=port端口
--ip-addr=IPip地址
--bound-addr=IP绑定端口
--no-tcp禁用TCP传输
--no-udp禁用UDP传输
--nameserver=NS域名服务器
--outbound=url设置全局代理服务器的URL,可以指定多次
--stun-srv=name设置STUN服务器主机或域名
TLS选项:
--use-tls启用TLS传输(默认不开启)
--tls-ca-file指定TLSCA文件(默认为无)
--tls-cert-file指定TLS证书文件(默认为无)
--tls-privkey-file指定TLS私钥文件(默认值=无)
--tls-password指定TLS私钥文件密码(默认为无)
--tls-verify-server验证服务器的证书(默认=没有)
--tls-verify-client验证客户端的证书(默认=没有)
--tls-neg-timeout指定超时(默认值无)
--tls-srv-name指定TLS服务器名称为多宿主服务器(可选)
媒体选项:
--add-codec=name手工添加编解码(默认开启所有)
--dis-codec=name禁用某个编解码
--clock-rate=N覆盖会议桥时钟频率
--snd-clock-rate=N覆盖音频设备时钟频率
--stereo音频设备及会议桥开通立体声模式
--null-audio使用NULL音频设备
--play-file=file在会议桥中注册WAV文件
--play-tone=FORMAT向会议桥注册音调,格式是'F1,F2,ON,OFF',其中F1,F2为频率,
ON,OFF=on/off,可以指定多次。
--auto-play自动播放文件(仅来电)
--auto-loop自动循环传入RTP到传出RTP
--auto-conf自动加入会议
--rec-file=file录音文件(扩展名可以使.wav或者.mp3)
--auto-rec自动记录通话
--quality=N指定媒介质量(0-10,默认6)
--ptime=MSEC覆盖编解码器ptime的毫秒的
--no-vad停用VAD方案/沉默探测器(默认启用VAD)
--ec-tail=MSEC设置回波抵消尾长度(默认值256)
--ec-opt=OPT选择回波抵消算法(0=默认,1=SPEEX,2=抑制)
--ilbc-mode=MODE设置iLBC语音编解码器模式(20或30,默认是30)
--capture-dev=id音频捕获的设备ID(默认值=-1)
--playback-dev=id音频播放设备ID(默认值=-1)
--capture-lat=N音频捕获延迟(毫秒,默认值=100)
--playback-lat=N音频播放延迟(毫秒,默认值=100)
--snd-auto-close=N闲置N秒后自动关闭音频设备
指定n=-1(默认)禁用此功能。
指定即时关闭不使用时,N=0。
--no-tones禁用听见声音
--jb-max-size指定最大值抖动缓冲(帧,默认=1)
媒体传输选项:
--use-ice使用ICE(默认:
不使用)
--ice-no-host禁用ICE主机候选(默认:
no)
--ice-no-rtcp禁用RTCP组件(默认:
no)
--rtp-port=NRTP尝试端口基数(默认4000)
--rx-drop-pct=PCTDropPCTpercentofRXRTP(forpktlostsim,default:
0)
--tx-drop-pct=PCTDropPCTpercentofTXRTP(forpktlostsim,default:
0)
--use-turnEnableTURNrelaywithICE(default:
no)
--turn-srvTURN服务器的域或主机名称
--turn-tcp使用TCP连接到TURN服务器(默认:
no)
--turn-userTURN用户名
--turn-passwdTURN密码
好友名单(可以是多个):
--add-buddyurl添加指定的URL到好友列表中
用户代理选项:
--auto-answer=code自动接听来电的应答代码(如200)
--max-calls=N最大并发呼叫数(默认:
4,最大:
255)
--thread-cnt=N工作线程数目(默认:
1)
--duration=SEC设置最大通话时间(默认是:
没有限制)
--norefersub转接通话时禁止事件订阅
--use-compact-form最小的SIP消息大小
--no-force-lr允许使用严格路由
--accept-redirect=N指定如何处理呼叫重定向响应(3XX)。
0:
拒绝,1:
自动(默认),2:
询问