pjsua帮助手册(中文)

原文地址 : http://www.pjsip.org/pjsua.htm

介绍

  PJSUA是一个开源的命令行SIP用户代理(软电话),用PJSIP协议,PJNATH,和PJMEDIA实现。 它虽然只有很简单的命令行界面,但是功能齐全。

SIP功能:

复制代码
    多个id(帐户注册);多个呼叫;支持IPv6(在1.2版本中添加);PRACK(100rel,RFC 3262);UPDATE (RFC 3311);OPTIONS;呼叫保持;呼叫转移;简单的PIDF和XPIDF的支持(订阅/通知,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(Accoustic回声消除);自适应抖动缓冲器;自适应静音检测;PLC(包丢失隐藏);丢包模拟;每个RTP包中包含多个帧;支持SRTP(安全RTP)
复制代码

NAT功能:

复制代码
    ICE(互动式连接建立,最新ICE草案);STUN(最新的RFC3489双);TURN(最新草案);rport;SIP的TCP和TLS保持活动;自动检测和恢复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   设置日志的最大水平为stdout显示(默认值= 4);--color             运用丰富多彩的日志(在Win32默认开启);--no-color          禁用丰富多彩的日志;--light-bg          使用白底黑字的颜色(默认是黑暗的背景);SIP帐户选项:--use-ims           开启和这个账号相关的3GPP/IMS设置;--use-srtp=N        是否使用SRTP?  0:不使用, 1:可选, 2:强制使用 (默认:0);--srtp-secure=N     SRTP 是否需要安全的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   注册时间间隔 (default 55)--realm=string      设置域--username=string   设置用户名--password=string   设置密码--publish           发PUBLISH--use-100rel        需要可靠的临时响应(100rel)--auto-update-nat=N n为0或1来启用/禁用SIP遍历后面对称NAT(默认1)--next-cred         添加其他凭据SIP帐户控制:--next-account      添加更多的账户传输选项:--ipv6              使用IPv6--local-port=port   端口--ip-addr=IP        ip地址--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       指定TLS CA文件(默认为无)--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=N        RTP尝试端口基数(默认4000)--rx-drop-pct=PCT   Drop PCT percent of RX RTP (for pkt lost sim, default: 0)--tx-drop-pct=PCT   Drop PCT percent of TX RTP (for pkt lost sim, default: 0)--use-turn          Enable TURN relay with ICE (default:no)--turn-srv          TURN服务器的域或主机名称--turn-tcp          使用TCP连接到TURN服务器(默认:no)--turn-user         TURN用户名--turn-passwd       TURN密码好友名单(可以是多个):--add-buddy url     添加指定的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:询问
复制代码

命令介绍

复制代码
呼叫命令
m    产生一个呼叫
M    向同一个地址产生多个呼叫
a    响应呼叫(发送100-699)
h    挂断当前呼叫(ha为挂断所有)
H    呼叫保持
v    恢复通话(解除呼叫保持)
U    发送UPDATE请求
],[ 呼叫翻页(前一个/下一个)
x    呼叫转移
X    呼叫替换
#    发送DTMF(RFC238)
*    发送DTMF(SIP INFO)
dq    显示当前通话质量
S    给远端主机发送任意请求即时通讯
+b    添加好友
-b  删除好友
i      发送即时消息
s    订阅(好友)当前状态
u    取消订阅(好友)当前状态
t      在线状态切换
T     设置在线状态媒体命令
cl  列出端口
cc  连接端口
cd  断开端口
V      调节音量
Cp  优先编码器帐户
+a  添加
-a  删除
!a  修改
rr  重新注册
ru  反注册
>      下一个(循环)
<      前一个(循环)状态和设置
d    显示状态
dd    显示状态详情
dc    显示配置
f    保存配置其它命令:
q                退出
L                重新加载
sleep MS        暂停键盘输入(毫秒)
echo [0|1|TXT]    控制echo命令(0:禁用,1:启用,TXT :回显)
n                探测NAT网络
复制代码

PJSUA的使用

1、简单点对点
  启动: $ ./pjsua
  呼叫:$ ./pjsua sip:192.168.0.10
  默认端口:5060
2、向服务器注册

单帐户注册:
  $ ./pjsua --id sip:alice@example.com --registrar sip:example.com \
  --realm * --username alice --password secret
多帐户注册:
  $ ./pjsua --id sip:bob@provider1.com --registrar sip:provider1.com \
  --realm provider.1.com --username bob --password secret \
  --next-account \
  --id sip:bob@provider2.com --registrar sip:provider2.com \
  --realm provider2.com --username bob --password secret

3、自动应答并播放wav文件:
  $ pjsua --play-file PROMPT.WAV --auto-answer 200 --auto-play --auto-loop \
  --max-calls 100
4、从文件加载:

文件(alice.cfg)内容:

复制代码
# This is a comment in the config file.
--id sip:alice@example.com
--registrar sip:example.com
--realm *
--username alice
--password secret
复制代码

使用:
$ ./pjsua --config-file alice.cfg

好,就这些了,希望对你有帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js date转成 时间字符串_秋招快要开始了,前端笔试中的坑位-JS隐式转换问题

我们在写笔试题的时候&#xff0c;经常碰到涉及隐式转换的题目&#xff0c;例如"1" 2 obj 1 [] ![] [null] false 和 叫做严格运算符&#xff0c;对象类型指向地址相同或原始类型&#xff08; 数值、字符串、布尔值&#xff09;值相同&#xff1b;叫做相等运算…

Java中快速处理集合_简洁又快速地处理集合——Java8 Stream(上)

作者&#xff1a;Howie_Y&#xff0c;系原创投稿主页&#xff1a;www.jianshu.com/u/79638e5f0743Java 8 发布至今也已经好几年过去&#xff0c;如今 Java 也已经向 11 迈去&#xff0c;但是 Java 8 作出的改变可以说是革命性的&#xff0c;影响足够深远&#xff0c;学习 Java …

eclipse编译java项目class文件_动态编译 Java 代码以及生成 Jar 文件

导读&#xff1a; 最近在看 Flink 源码的时候发现到一段实用的代码&#xff0c;该代码实现了 java 动态编译以及生成 jar 文件。将其进行改进后可以应用到我们的平台上&#xff0c;实现在平台页面上编写 java 代码语句&#xff0c;提交后由后台进行编译和打成 Jar 包再上传到指…

Dx11DemoBase 基类(三) 实例应用 【已实现】【附带源码】

现在我已经到哪了? 读书时&#xff0c;尤其是技术知识书籍&#xff0c; 我一般会担忧自己是否陷得太深&#xff0c; 细节关注得太多&#xff0c; 而忘了整体的过程&#xff1b; 一直以来对Direct3D 很畏惧&#xff0c; 因为太多函数和细节&#xff1b;现在我必须暂缓下&#x…

修改 decimal 默认值为0.00 sql_被经理邀请去“爬山”,只是因为我写错了一条SQL语句?...

作者&#xff1a;isysc1链接&#xff1a;https://juejin.im/post/5f06a2156fb9a07e5f5180df来源&#xff1a;掘金前戏SQL 写的妙&#xff0c;涨薪呱呱叫&#xff01;新来的实习生小杨写了一条 SQL 语句SELECT wx_id from user WHERE wx_id 2当小杨迫不及待准备下班回家的时候&…

JS中关于clientWidth、offsetWidth、scrollWidth

网页可见区域宽&#xff1a; document.body.clientWidth;网页可见区域高&#xff1a; document.body.clientHeight;网页可见区域宽&#xff1a; document.body.offsetWidth (包括边线的宽);网页可见区域高&#xff1a; document.body.offsetHeight (包括边线的宽);网页正文全…

shell 执行失败重试_Uipath 机器人总是运行失败怎么办?

要知道为什么RPA机器人容易失败&#xff0c;首先了解下它和常规的应用系统有哪些区别。常规应用系统&#xff0c;就像程序员自己创造了一个世界、一个域&#xff0c;在这个世界里创造它的人就是主宰。出现BUG的风险是相对可控的&#xff0c;顶多是功能用不了。而RPA项目&#x…

c mysql安装教程视频_MySQL安装教程 - Windows安装MySQL教程 - 小白式安装MySQL教程 - 青衫慧博客...

版权声明本文转发自旧站点萧瑟云日志&#xff0c;近期考虑准备将旧站进行关闭(没有精力维护)&#xff0c;部分文章将会迁移至本站。文章发表于&#xff1a;2017-10-28 12:32:03前言上次给大家带来了SQL Server的小白式安装教程&#xff0c;这次再次带来一个MySQL的小白式安装教…

PJSIP UA分析(1)--PJSUA主函数

1 intmain(intargc, char*argv[])2 {3 do{4 app_restart PJ_FALSE; //PJ_FALSE是一个宏&#xff0c;一旦用户调用pjsua可执行文件进入该循环&#xff0c;那么默认只执行一次退出5 //如果需要再次循环&#xff0c;那么在下面函数中…

锁定表头和固定列(Fixed table head and columns)

前段时间需要这个功能&#xff0c;但是找了很多都不能完美的实现&#xff0c;不是只能锁定表头&#xff0c;就是浏览器兼容问题什么的&#xff0c;在此就自己做了一个锁定表头和列的js方法&#xff0c;依赖于JQuery。 因为方法很简单&#xff0c;就未封装成插件的形式&#xff…

游戏详细设计说明书_宜家的说明书设计脑洞太大了!

平常我们看到的说明书是像这样纯文字解说的或者是规范的文字配图这些说明书一般都是注重文字的上表达而大家熟悉的家居品牌宜家将说明书创意玩出了新境界&#xff01;↓↓↓这不&#xff0c;最近由于全球疫情严峻期间宜家的全新说明书手册搜罗了各种纸上游戏意为帮助大家打发无…

centos删除php_centos如何卸载php

查看php版本php -v查看php相关软件包#rpm -qa|grep php(视频教程推荐&#xff1a;linux视频教程)提示如下&#xff1a;#php-pdo-5.1.6-27.el5_5.3#php-mysql-5.1.6-27.el5_5.3#php-xml-5.1.6-27.el5_5.3#php-cli-5.1.6-27.el5_5.3#php-common-5.1.6-27.el5_5.3#php-gd-5.1.6-27…

cgblib 代理接口原理_Java开发者你还不知道?告诉你Dubbo 的底层原理,面试不再怕...

前言平常我们在构建分布式系统的时候&#xff0c;一般都是基于 Dubbo 技术栈或者是SpringCloud 技术栈来做。早期其实最先比较流行的是Dubbo&#xff0c;我记得我们当时有个部分的老大就是用的是Dubbo 来构建的一个系统&#xff0c;到后面才出来的 SpringCloud&#xff0c;由于…

包含对流环热,热流边界,等温边界的稳态热传导方程的FEM求解。

以下面的问题为例&#xff1a;对于如图所示的平面传热问题&#xff0c; 若上端有给定的热流-2W/m2&#xff0c;即从下往上传输热量&#xff0c;结构下端有确定的温度100&#xff0c;周围介质温度为20&#xff0c;在两侧有换热&#xff0c;换热系数为α100W/㎡/K&#xff0c;热导…

python生成动态二维码实例_python生成动态个性二维码(示例代码)

1 安装工具 2 生成普通二维码 3 带图片的二维码 4 动态 GIF 二维码 5 在Python程序中使用 一、安装 首先在python环境下运行&#xff0c; 打开cmd进入python27 进入scripts 然后在scripts输入命令&#xff1a;pip install myqr二、 生成普通二维码 安装了 myqr 之后&#xff0c…

matlab武汉理工大学数值分析线性函数拟合实验_「首席架构师推荐」数值计算库精选...

这是一个著名的数值库列表&#xff0c;这些库用于软件开发中执行数值计算。它不是一个完整的列表&#xff0c;而是一个包含Wikipedia上文章的数字库列表&#xff0c;很少有例外。典型库的选择取决于一系列不同的需求&#xff0c;例如:期望的特性(例如:大维线性代数、并行计算、…

JSONP跨域原理和jQuery.getJSON用法

JSONP是一个非官方的协议&#xff0c;它允许在服务器端集成Script tags返回至客户端&#xff0c;通过javascript callback的形式实现跨域访问&#xff08;这仅仅是JSONP简单的实现形式&#xff09;。本文主要介绍JSONP跨域原理&#xff0c;一起来看。 JSONP是一个非官方的协议&…

串口输出5v电压_为什么RS485比串口速度快距离远?--谈单端信号与差分信号之差异...

嵌入式系统中&#xff0c;串口、RS485、CAN、网络和USB等都是非常常用的通信方式。但是串口通信速度慢&#xff0c;距离近&#xff0c;为什么转换成RS485后&#xff0c;通信距离和速度都大幅提高了呢&#xff1f;USB也是近距离&#xff0c;为什么速度可以这么快&#xff1f;原因…

IIS7.0站点/虚拟目录中访问共享

目的&#xff1a;实现一个2008serve的IIS的虚拟目录&#xff08;通过网络路径&#xff08;UNC&#xff09;的形式&#xff0c;共享在另外一个2008服务器上&#xff09; 准备工作1.运行组策略编辑器&#xff08;gpedit.msc&#xff09;&#xff1b;找到本地安全策略-本地策略-安…

易语言操作php文本文件,易语言对文本操作的步骤教学

在易语言编程中&#xff0c;我们往往需要对一些文字进行截取或分割出来&#xff0c;如何准确、快速的实现这一目标呢&#xff1f;下面笔者来为大家演示1、首先&#xff0c;我们打开易语言编程软件&#xff0c;点击左上角&#xff0c;新建一个文件&#xff0c;如图所示2、我们点…