其中在pjsip-apps/src/下的PJSUA是一个开源的命令行SIP用户代理(软电话),用PJSIP协议,PJNATH,和PJMEDIA实现。它虽然只有很简单的命令行界面,但是功能齐全。
PJSUA手册
Pjsua是一个开源的命令行SIP UA(软电话),是PJSIP,PJNATH和PJMEDIA的实现。尽管它只是简单的命令行展现,但是它具有很多特性。
简介
SIP 特性:
多个id(帐户注册);
多个呼叫;
支持IPv6(在1.2版本中添加);
PRACK(100rel,RFC 3262);
UPDATE (RFC 3311);
OPTIONS;
呼叫保持;
呼叫转移;(已参加的或没参加的,有或没有refersub,RFC3515, 3891, 3892, 4488)
简单的PIDF和XPIDF的支持(SUBSCRIBE/NOTIFY,RFC 3265,3856,3863);
自定义存在状态文本(RPID,RFC 4480);
支持PUBLISH(RFC 3903);
即时消息(消息)和消息组成指示(RFC 3428,3994);
支持UDP,TCP和TLS传输;
SIP服务器的DNS SRV解析(RFC 3263);
带INFO的DTMF(RFC 2976);
STUN(RFC 3489bis);
使用AKA认证(开发中,RFC 3310,4169)。
媒体特性:
多个并发调用; 会议; 支持Speex,iLBC,GSM,G711,G722,和L16编解码; 宽带和超宽带编解码(Speex); 通过Intel的IPP库支持更多编解码:AMR-WB,AMR-NB,G.722.1(Siren7),G.723.1,G.726,G.728,G.729A; 立体声编解码(L16); WAV文件播放,流媒体和录制; 支持RTCP协议; 通话质量监测; RFC 2833; 自动应答,自动播放文件,自动循环RTP; 产生声音; AEC(回声消除); 自适应抖动缓冲器; 自适应静音检测; PLC(包丢失隐藏); 丢包模拟; 每个RTP包中包含多个帧; 支持SRTP(安全RTP)
NAT穿透特性:
ICE(互动式连接建立,最新ICE草案); STUN(最新的RFC3489-bis) TURN(最新草案); rport; SIP的TCP和TLS保持连接(keep-alive); 自动检测和恢复SIP UDP地址的变更; 自动检测ICE媒体传输的变化;
参考
概要
用法: PJSUA [选项] [SIP URL] 一般选项: --config-file=file 读取从文件的配置/参数; --help 显示此帮助屏幕; --version 显示版本信息; 日志记录选项: --log-file=fname 日志文件名(默认是stderr); --log-level=N 设置日志的最大级别为N(0(无)6(跟踪))(默认值= 5); --app-log-level=N 设置日志标准输出展示的最大等级(默认值= 4); --color 使用不同颜色标识日志(在Win32默认开启); --no-color 禁用不同颜色标识日志; --light-bg &