stale linux测试程序用法 - housekeeper-software/tech GitHub Wiki

程序文件

stale_app:可执行程序
libwebrtc.so: webrtc库
test.json:测试配置
res/resource/sound:一些音效文件

模拟室外机

此场景完全模拟室外机工作机制,视频是单向的,只发不收,在没有使能ICE的情况下,pjsip,portsip 收不到视频,linphone可以
如果使能ICE,pjsip应该可以,portsip忘记了
./stale_app outdoor,进入 室外机呼叫模式,程序运行之后,支持两个命令行:
./stale_app --cmd=start,启动外呼
./stale_app --cmd=stop, 结束外呼,外呼结束也会自动结束。一般不需要执行stop

在外呼过程中,有几种语音提示:
正在呼叫室内机。。。表示正在呼叫室内机
正在呼叫手机APP,表示正在呼叫移动端app,但是我们目前没有推送,此刻可以用linphone直接模拟器即可成功
正在呼叫业主电话,表示正在打电话
test.json,模拟一个室内房间的所有场景,可以配置多个分机,每个分机可以配置多个路由。
可以通过调整 test.json,验证各项功能

手工测试呼叫和接收,双向视频

./stale_app,不需参数
默认,stale_app进入接收状态,可以接收外面的呼叫。
./stale_app --cmd=callto#[路由],[账号],即可执行呼叫执行设备的工作。
其中路由在 test.json中配置的。
账号:如果是p2p,要写成完整账号,,其他的路由不需要,下面是完整的几种情况的例子:
--cmd=callto#p2p,sip:[email protected]:5060  呼叫点对点的局域网设备,
--cmd=callto@server,svr12121212  呼叫server路由的账号,只需要指定user id即可
--cmd=callto@telephone,18910522333  表示通过 telephone 呼叫手机号

DTMF

按下 #或者*号有语音提示

测试账号

路由 server 的账号从 别墅门口机测试服务器的数据库中去找一些,最好从后往前找,前面的可能被我用了。
本机 p2p账号,sip:test.json配置@本机ip:端口在test.json中配置

test.json

这里只说明一些通用的字段:
   "common":{
      "enableIce":true, //使能 ICE
      "videoEncodeSize":"800X600", //视频编码寸尺
      "frameRate":25, //视频帧率
      "keyFrameInterval":10000, //关键帧间隔:毫秒单位,这里表示10秒发一次
      "subject":"Talk", //SDP中的主题
      "sessionKey":"Session-Key", //SIP头域扩展
      "mobileVerify":false, //移动端呼入是否验证头域,如果用linphone的,这里为false,否则呼入被拒绝
      "maxMonitorConnectTime":300, //监控最大时长,给0的话,表示没有限制
      "maxMonitorSession":3, //最大允许几路监控并发,可以给大一些
      "maxWaitTime":3, //呼叫室内机等待时间,秒为单位
      "earlyMedia":true, //是否使能早期媒体,正是场景都是早期媒体
      "terminateStatusCode":"603" //当对方已什么状态码结束导致整个呼叫结束,看这里:https://zhuanlan.zhihu.com/p/532102570
  603:decline
   }