1.3 测试demo

我们提供多种语言(如PHP、JAVA、C#、C)编写的发送和接收消息的demo,详情请参考API新编开发指南

下面,我们用测试工具(相当于一个简单的应用服务器)来演示OM和API应用服务器的配置方法及收发消息过程。

配置

注:这里我们采用IP认证方式。

步骤一:配置OM设备认证地址

登录OM设备页面,点击应用服务器 > API,在应用服务器一栏选择自定义(默认选中为侬好,侬好是内置在设备里的小型呼叫中心),填写应用服务器地址(即测试工具所在的电脑IP:OM发送端口,可自定义)如,192.168.130.27:8989。

步骤二:配置分机和外线的API开关

进入应用服务器 > API,在API功能开关一栏将分机和外线的状态监控、来电应答前/来电应答后控制开关打开,点击保存,并重启设备。

设备配置如下图所示:

步骤三:配置测试工具

  1. 点击这里下载测试工具,并在电脑桌面打开,填写一个HTTP监听端口(该端口与设备上配置的OM发送端口保持一致,应为8989 ),点击开始监听(注:测试工具的源码可点击这里下载)。

  2. 填写发送地址(即OM的IP地址和HTTP端口),如192.168.130.219:80。

注:OM的HTTP端口默认为80,可在设备高级设置>安全配置>Web管理处修改。

测试工具配置如下图所示:

跑个流程

完成了配置以后,接下来我们演示一个分机呼叫分机的流程,为第二章的接口使用和理解奠定基础。

发送命令

如何通过OM API实现分机呼分机呢?

只需向OM发送一条API消息:

<?xml version="1.0" encoding="utf-8" ?>
<Transfer attribute="Connect">
  <ext id="200"/>
  <ext id="201"/>
</Transfer>

说明:

  • 第一行是XML声明,每个API消息都有且相同。它定义了XML的版本(1.0)和所使用的编码方式(utf-8)。

  • 第二行是XML的根。根元素Transfer表明这个是一个呼叫转接类的API。属性值Connect表示本次转接的属性为连接。

  • 第三、第四行中ext是“分机”的英文单词extension的简写,200为主叫分机号码,201为被叫分机号码。

  • 第五行为根节点的闭合标签。

注:更多 XML 的语法参见XML教程,更多OM API语法详解请参见第二章。

观察执行结果

执行完该 API 后,后续流程为:

  1. 主叫分机200会先振铃(默认,先呼谁后呼谁由参数API_CALLING控制);

  2. 将200摘机后,被叫分机201开始振铃,并且200可以听到“嘟嘟”的回铃音;

  3. 将201也摘机后,双方成功建立通话;

  4. 任意一方挂机后通话结束。

观察收到的API消息

查看测试工具,可以看到接收到很多条API消息。这些消息中,有两个消息是话单(CDR),其他的为事件(Event)。

  • CDR为通话记录,在通话结束时产生。2个CDR中一个是主叫分机的通话记录,另一个是被叫分机的通话记录;

  • Event表示事件消息,由呼叫过程中OM自动触发。

1. 事件

本次呼叫过程中,收到的事件属性有这些:BUSY、IDLE、RING、ALERT、ANSWER、ANSWERED、BYE。

其中:

  • BUSY和IDLE是一对,在分机状态发生变化时产生。BUSY表示分机由空闲变为忙状态, IDLE 表示分机由忙变为空闲状态;

  • RING、ALERT、ANSWER、ANSWERED、BYE属于一个系列,在呼叫过程中产生。其中:

    • RING和ALERT是一对, RING表示分机开始振铃,ALERT表示收到对方的回铃(ringback)信号。

    • ANSWER和ANWERED是一对,ANSWER 表示分机应答,ANSWERED表示收到对方应答的信号。

    • BYE表示通话结束。

通过以上事件,你可以实时监控分机的线路状态和呼叫情况,并可以实现一些应用功能,比如:来/去电弹屏(当分机振铃时将来电号码对应的客户资料弹屏显示在电脑屏幕上)。

注:更多关于事件的介绍,参见2.5章节

2.通话记录(CDR)

通话结束后,OM会立即将通话记录推送给应用服务器(这里指测试工具)。

消息格式

<?xml version="1.0" encoding="utf-8" ?>
<Cdr id="13620170308103713-0">
  <callid>32820</callid>
  <TimeStart>20170308103709</TimeStart>
  <Type>IN</Type>
  <Route>IC</Route>
  <CPN>200</CPN>
  <CDPN>201</CDPN>
  <TimeEnd>20170308103713</TimeEnd>
  <Duration>2</Duration>
  <TrunkNumber></TrunkNumber>
  <Recording>20170308/200_201_20170308_103711_8034_cd.wav</Recording>
  <RecCodec>PCMU</RecCodec>
</Cdr>

参数说明

参数名称 解释说明
cdr id 通话记录的编号。格式:系列号+年月日时分秒+固定内容(-0)
callid 通话的相对唯一标识符
TimeStart 呼叫起始时间戳,格式:年月日时分秒
Type 话务类型,IN表示呼入,LO表示内部呼叫
Route 路由类型,IC表示内部路由
CPN 主叫号码
CDPN 被叫号码
TimeEnd 呼叫释放时间戳,格式:年月日时分秒
Duration 通话时长,单位:秒。即,从呼叫接通到呼叫释放的时长,不包括振铃时间。
Trunk 中继号码(本次是内部呼叫,没有用到中继,所以值为空)
Recording 录音文件的相对保存路径,格式:生成日期/录音文件名称

注:更多关于CDR的介绍,参见2.6章节

results matching ""

    No results matching ""