OMAPI技术开发文档20180208

 

 

上海迅时通信设备有限公司 

 

OM API技术开发文档V6.0

 

 

 

电话:0531-86950915

文档版本:V6.0

更新时间:20180208

 

 

 

 

版权所有©上海迅时通信设备有限公司2018。保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

 

OM API技术开发文档(小·logoV6.0

 

本文主要介OM API的作用及使用方法,帮助程序开发人员学习并掌OM API,最终利OM API开发出更多更好的应用程序。

        点击这里PDF版。

        点击这里Word版。

读前须知

阅读本文档之前,您最好对我司的OM系列的IPPBX产品有一定了解。

推荐资料:OM用户手册》、OM管理员手册》、OM 功能学习指导书》。

资料下载OM相关资料可到迅时官网下载。

说明:所有OM系列产品OM API都是一样的,只是版本不同而已。

技术支持与服务

为保障开发者能够基OM API顺利开发应用产品,我们提供了论坛QQ群、微信公共号等多渠道的技术支持与服务。

OM API技术咨询电话:0531-86950915

微信公众号:

img2

发布时间:2017-02-08

 

目录

OM API技术开发文档(V6.0        

1 快速入门        

1.1 初次见面        

1.2 交互原理        

1.3 测试demo        

1.4 API认证        

2 OM API接口        

2.1 控制命令(Control)        

2.1.1 查询(Query)        

2.1.2 配置(Assign)        

2.1.3 呼叫保持和接回(Hold/Unhold)        

2.1.4 静音开启与解除(Mute/Unmute)        

2.1.5 监听和插播(Monitor/Talk/Listen)        

2.1.6 强插(Bargein)        

2.1.7 强拆(Clear)        

2.2 呼叫转接命令(Transfer        

2.2.1 连接(Connect        

2.2.2 队列(Queue        

2.2.3 会议(Conference        

2.3 语音管理命令(Manage        

2.3.1 查询语音文件        

2.3.2 删除语音文件        

2.4 来电受理(Accept        

2.5 事件报告        

2.5.1 系统事件        

2.5.2 分机状态变更事件        

2.5.3 呼叫状态变更事件        

2.5.4 来电呼入控制流程事件        

2.5.5 按键信息事件(DTMF)        

2.5.6 语音文件播放完毕事件(EndOfAnn)        

2.5.7 分机组队列事件(QUEUE        

2.6 通话记录报告        

2.6.1 呼入(IN)        

2.6.2 呼出(OU)        

2.6.3 内部互拨(LO)        

2.6.4 呼叫转移(FI/FW)        

2.6.5 双向外呼(CB)        

3 实现方案        

3.1 点击拨号        

3.2 /去电弹屏        

3.3 多级IVR        

3.4 来电黑名单        

3.5 来电直通车        

3.6 指定中继外呼        

3.7 酒店叫醒解决方案        

3.8 API+TTS实现方案        

3.9 语音播报实现方案        

3.10 API中间件解决方案        

3.11 API+侬好解决方案        

3.12 API+云平台解决方案        

3.13 分机外呼控制实现方案        

3.14 监听+插播+强拆实现方案        

3.15 接通后播放语音实现方案        

3.16 满意度评价实现方案        

3.17 公网服务器访问私网内OM        

3.17.1 端口映射        

3.17.2 配置云平台做代理转发        

3.17.3 客户端直接访问OM        

4 专题介绍        

4.1 IPPBX        

4.2 语法和对象        

4.3 API认证        

4.4 API反向认证        

4.5 API功能开关        

4.6 API控制模式功能介绍        

4.7 外转外功能开关        

4.8 录音        

4.9 FSP录音下载        

4.10 语音文件配置说明        

4.11 语音菜单        

4.12 出队列判断方法        

4.13 插播TTS远程语音文件        

4.14 迅时云平台配置方法        

4.15 跨域访问OM的解决方法        

4.16 Telnet登录OM后台的方法        

5 常见问题解答        

5.1 网络环境相关问题解答        

5.2 API认证相关问题解答        

5.3 menu相关问题解答        

5.4 配置相关问题解答        

5.5 呼叫相关问题解答        

5.6 事件相关问题解答        

5.7 CDR相关问题解答        

5.8 其他问题        

6 附录        

6.1 系统参数列表        

6.2 系统参数查询和配置方法        

6.3 软件版本迭代        

Rev 2.1.5.121(GA)        

Rev 2.1.5.113(GA)        

Rev 2.1.5.107(GA)        

Rev 2.1.5.102(GA)        

Rev 2.1.5.92(GA)        

Rev 2.1.5.86(GA)        

6.4 文档更新说明        

 

 


1 快速入门

 

本章简单介绍OM API基本概念及应用服务器OM之间的基本交互原理,手把手教你完OM API认证配置,并使用测试工具体验应用服务器OM之间的消息交互,助您快速入门。

1.1 初次见面

OM API

迅时OM系列的IPPBX设备提供统一的开放式接OM API,开发者可以通OM APIOM设备进行控制、监控和数据统计等。

OM API本质上是经过封装的简单XML消息,应用服务器OM设备之间通过HTTP协议进行通信。

1.       应用服务器通过OM APIOM进行操作:参数查询、参数配置、状态查询、呼叫控制、呼叫转接等。

2.       OM实时向应用服务器推送报告:分机状态变化、呼叫状态、配置变化、服务启动DTMF、语音播放完毕和通话记录等。

OM API使OM设备具有更大的灵活性和可操作性,开发者可利OM API开发或对接呼叫中心、计费系统、酒管系统CRMOA办公系统等丰富多彩的应用。

OM API有如下四类本领:

http://app.newrocktech.com/omapi/assets/OMAPI%E7%9A%84%E5%9B%9B%E7%B1%BB%E6%9C%AC%E9%A2%86.png

可实现的主要功能有:点击拨号、/去电弹屏、通话记录、录音、状态监控、分机组和队列IVR语音导航、满意度调查、酒店叫醒服务、语音信箱、语音验证码、来电/白名单等。

成功案例和合作共赢

迅时搭建了一个类似于第三方应用市场的平—— 企业应用平台,所有利用OM API开发的应用产品都可以申请上架到该平台。

上架该平台至少有两大好处:

1.       扩展渠道:迅时的渠道就等于你的渠道。迅时在全国大约1200家渠道和合作伙伴,这些渠道会向用户推荐你的应用产品。当用户需要购买时,渠道人员会联系你。另外,我们也会定期推广优质的应用产品。

2.       数据统计和分析:迅时会定期将您的应用产品的访问量、用户喜欢数量、排名等统计结果以邮件或微信形式发送给你,让你轻松掌握市场反馈。

迅时欢迎更多合作伙伴的参与,共同解决中小型企业的办公和通信问题。

1.2 交互原理

简单认OM API之后,我们来了解OM API的通信方式。

传输协议

应用服务器和OM之间基于HTTP协议进行通信,API消息封装在HTTP包体中。

http://app.newrocktech.com/omapi/assets/%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE.png

消息内容如:

HTTP请求消息:

POST /xml HTTP/1.0

Content-Type:text/xml

Content-Length:101

 

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <DeviceInfo/>

</Control>

HTTP响应消息:

HTTP/1.0 200 OK

 

<?xml version="1.0" encoding="utf-8" ?>

 <DeviceInfo>

    <manufacturer>New Rock Technologies, Inc</manufacturer>

    <model>Rev 1.0.1 WROC2000-1S/1</model>

    <version>Rev 2.2.5.81.1</version> 

    <mac>00:0E:A9:00:12:BD </mac>

    <devices>

        <ext lineid="Phone 1" id="200" />

        <ext lineid="IPPhone 50" id="208" />

        <line lineid="Line 2" id="02161208234" />

        <line lineid="IPLine 21" id="02161204000" />

    </devices>

 </DeviceInfo>

通信方式

应用服务器OM之间的交互是双向的,双方互为HTTP服务端和客户端。

正向:应用服务器作HTTP 客户端OMHTTP服务端

应用服务器请OM执行某个功能(如,发起呼叫)或提供某些信息(如,查询状态)。此时,采用的HTTP POST方法TCP短连接方式(注OM只支TCP短连接接收)

流程为:  断开。

交互图如下:

http://app.newrocktech.com/omapi/assets/OM%E4%BD%9C%E4%B8%BAHTTP%E6%9C%8D%E5%8A%A1%E5%99%A8.png

情况二OM作为HTTP客户端,应用服务器作HTTP服务端

OM主动向应用服务器推送某些消息(如,分机振铃事件),应用服务器收到消息后断TCP连接(注:这里不是标准HTTP请求响应流程,不需要应用服务器回复响应)。

此时,采用的HTTP GETPOST方法(默认GET,若参数API_METHOD = 1,则POST)。

注:OM默认以短连接方式推送消息,也可通过参数CONTROL_TYPE配置为长连接。建议采用短连接方式。

流程为:接收消 断开。

http://app.newrocktech.com/omapi/assets/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BD%9C%E4%B8%BAHTTP%E6%9C%8D%E5%8A%A1%E5%99%A8.png

1.3 demo

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

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

配置

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

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

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

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

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

设备配置如下图所示:

http://app.newrocktech.com/omapi/assets/%E6%B5%8B%E8%AF%95%E8%AE%BE%E5%A4%87%E9%85%8D%E7%BD%AE.png

步骤三:配置测试工具

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

2.       填写发送地址OMIP地址HTTP端口192.168.130.219:80

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

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

http://app.newrocktech.com/omapi/assets/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7.png

 

跑个流程

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

发送命令

如何通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为通话记录,在通话结束时产生2CDR中一个是主叫分机的通话记录,另一个是被叫分机的通话记录;

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

1事件

本次呼叫过程中,收到的事件属性有这些BUSYIDLERINGALERTANSWERANSWEREDBYE

其中:

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

Ÿ                      RINGALERTANSWERANSWEREDBYE属于一个系列,在呼叫过程中产生。其中:

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

       ANSWERANWERED是一对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章节

1.4 API认证

API认证方式包括正向认证和反向认证两种。

正向认证:应用服务器OM发送请求命令时,需通OM的认证。

反向认证:OM向应用服务器发送消息时,需通过应用服务器的认证。

一、正向认证

正向认证分IP认证和数字签名认证两种方式,您可以根据自己的实际场景选择一种来完成认证。

IP认证

IP认证,只允许某一固IP地址OMAPI请求,其他地址统统认为没有权限。

适用的应用场景:

1.                      应用服务器IP/域名固定;

2.                      一个应用服务器对接一OM

3.                      应用服务器OM之间网络互通。

配置

配置方法,如下图所示:

img9

参数说明:

Ÿ                      服务器地址: 应用服务器IP/域名和监听端口,如192.168.130.27:8989。如果用户未指定端口时默认80端口。

Ÿ                      URL API报告的相对路径(也可不填写)。格式为{part1}/{part2}/{part3}/{},如omapi/report

服务器地址URL组合起来即为应用服务器接API报告的全路径,如192.168.130.27:8989/omapi/report

应用服务器地址的作用:

1.                      API报告:OMAPI消息推送给这个地址;

2.                      访问权限控制: OM只受理从该服务器IP地址(端口不影响)发送API请求;拒绝受理从其它地址发送API请求,并对该请求响Unauthorized

点击这里查看更多详情。

数字签名认证

数字签名认证本质上是通过验OM和应用服务器双方持有的秘钥来完成认证。

版本要求

OM软件版本Rev 2.1.5.99及其以上。

适用的应用场景:

1.                      应用服务器采用动态域名IP地址不固定;

2.                      OM要对接多API应用服务器;

3.                      API应用客户端要直接访OM

4.                      API消息的源地址容易发生变化;

5.                      应用服务器通过迅时云平台转发消息OM

配置

配置参数:数字签名认证密码(接收)和数字签名有效期。

配置界面,如下图所示:

img10

参数说明:

1.                      API数字认证密码(接收):OM对应用服务器认证的秘钥,可自定义,需和应用服务器发送请求时携带的秘钥保持一致。

2.                      API数字认证有效期:可自定义,范围0~86400,单位:秒,只有在该有效期内认证参数才有效0表示永久有效。

点击这里查看更多详情。

注:不论IP认证还是数字签名认证,都需要OM页面配置应用服务器地址,用来接API消息。

二、反向认证

反向认证,即应用服务器OM的认证OM向应用服务器推API消息时携Auth认证信息,应用服务器根据收到的消息是否满足认证条件来选择是否接收该消息。

注:只有应用服务器要求OM进行认证时才配置,若不要求,可不配置。

版本要求

Rev 2.1.5.116及以上

配置

配置参数:数字签名认证密码(发送)和数字签名有效期。

配置界面,如下图所示:

img11

参数说明:

1.                      API数字认证密码(发送):应用服务器OM进行认证的秘钥,可自定义,需和应用服务器接收消息时配置的秘钥保持一致。

2.                      API数字认证有效期:可自定义,范围0~86400,单位:秒,只有在该有效期内认证参数才有效0表示永久有效。

点击这里查看更多详情。

 

 

2 OM API接口

 

本章OM API接口部分,包括API请求命令API报告两部分内容。

Ÿ                      API请求命令,指应用服务器OM发送API消息,包括制命令转接命令来电受理命令三种类型。

Ÿ                      API报告,OM主动向应用服务器推送API消息,包括事件报告通话记录报告两种类型。

2.1 控制命(Control)

控制命令包括查询、配置、呼叫保持与接回、静音与解除静音、监听、强插、强拆。

2.1.1 查询(Query)

API用于查OM设备上指定对象的相关信(如,配置参数和状)。这些对象包括:设备信deviceInfo、分(ext)、中继trunk)、来电visitor)、去电(outer)、分机(group)、语音菜(menu)

查询请求的规则说明

Ÿ                      最小的查询单位是对象,即不支持单独查询该对象的某一个具体参数。

查询结果的规则说明

Ÿ                      查询结果中包含该对象的所有可提供的相关参数和状态信息。

Ÿ                      如果查询结果中没有携带某个参数信息,则可能原因为:

°                      该参数值为默认值;

°                      该参数不存在;

°                      不支持查询该参数。

查询设备信息

API用于查OM设备自身的相关信息,如:生产商、硬件版本、软件版本,以及所有的分机、分机组和中继等。

请求示例

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <DeviceInfo/>

</Control>

参数说明

参数名称

类型

参数说明

参数值说明

<DeviceInfo>

string

OM设备的基本信息

无值

响应示例

<?xml version="1.0" encoding="utf-8" ?>

<DeviceInfo> 

    <manufacturer>New Rock Technologies, Inc</manufacturer>

    <model>Rev 6.0.0 OM20-2S/2</model>

    <version>Rev 2.1.5.111</version>

    <mac>00:0E:A9:00:12:BD </mac>

    <devices> 

        <ext lineid="Phone 1" id="200" /> 

        <ext lineid="IPPhone 50" id="208" /> 

        <line lineid="Line 2" id="02161208234" /> 

        <line lineid="IPLine 21" id="02161204000" /> 

        <group id="1"> 

            <ext id="200" /> 

        </group>

    </devices>

</DeviceInfo>

参数说明

说明:<>表示必选项[]表示可选项(当参数值为默认值或空时,响应消息可能不携带该参数)| 表示或者关系

参数名称

类型

参数说明

参数值说明

DeviceInfo

object

OM设备信息

<manufacturer>

string

生产商

New Rock Technologies, Inc

<model>

string

硬件版本

 Rev 6.0.0 OM20-2S/2

<version>

string

软件版本

 Rev 2.1.5.111

[mac]

string

物理地址

 00:0E:A9:00:12:BD(由系统参数API_MAC决定是否携MAC地址)

[ext]

object

分机

 

<ext lineid>

string

分机的线路编号,是分机的唯一固定标识

<Phone | IPPhone> {NO.},如Phone 1

<ext id>

string

分机号

 

[line]

object

中继(外线)

linetrunk是指同一个对象,即中继(外线)

<line lineid>

string

中继的线路编号,是中继的唯一固定标识

<Line | IPLine> { NO.},如Line 13

[line id]

string

中继号

 

[group id]

int

分机组的序号

1~50

注:

Ÿ                      响应结果中包含所有的分机线路和中继线路信息,如果设备线路量很大,注意查询接收的缓存空间;

Ÿ                      设备线路量大时,建议使用web的分页查询接口分别获取分机或中继线路。

查询分机

API用于查询指定分机的相关信息,如:配置参数、分机状态、通话方等。

请求示例

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <ext id="208"/>

</Control>

参数说明

参数名称

类型

参数说明

参数值说明

<ext id>

string

分机号

必须OM上的有效分机,值不能为空

响应示例

<?xml version="1.0" encoding="utf-8" ?>

<Status>

    <ext id="208">                            

        <lineid>Phone 1</lineid>                

        <group id="1"/>                            

        <group id="2"/>                            

        <staffid>1304081</staffid>                

        <Call_Pickup>yes</Call_Pickup>            

        <Fwd_Number>18603752801</Fwd_Number>    

        <Call_Restriction>3</Call_Restriction>    

        <Off_Line_Num>200</Off_Line_Num>        

        <mobile>18603752800</mobile>    

        <fork>18603752802</fork>                

        <email>admin@hotmail.com</email>        

        <record>on</record>    

        <api>7</api>                            

        <voicefile>welcome</voicefile>            

        <state>active</state>                    

        <outer id="8" from="208" to="13012345678" trunk="02161208234" callid="28680">

            <state>talk</state>                    

        </outer>

    </ext>

</Status>

参数说明

说明:<>表示必选项[]表示可选项(当参数值为默认值或空时,响应消息可能不携带该参数)| 表示或者关系

参数名称

类型

参数说明

参数值说明

<ext id>

string

分机号

纯数字字符串

<lineid>

string

分机的线路编号,是分机的唯一固定标识

IPPhone | Phone XXX

[staffid]

string

工号,分机接通前会向来电方播放该工号

纯数字字符串

[group]

int

分机组,这里为该分机所属的分机组

1~50

[voicefile]

string

语音文件,这里为分机队列中排队等待时播放的语音文件

只支.dat.pcm格式

[email]

string

员工的电子邮件地(暂无对应功)

 

[Call_Restriction]

int

呼叫权限

0: 内线1: 市话,
2: 国内3: 国际

[Call_Pickup]

string

代接权限,是否允许来电被其它分机代接

Yes:允许no:不允许

[No_Disturb]

string

免打扰功能开关,开启免打扰后分机将屏蔽所有来电,但能主动发起呼叫

on: 开启off: 关闭

[Fwd_Type]

int

呼叫转移方式

0: 关闭1: 全转
2: 遇忙或无应答转

[Fwd_Number]

string

呼叫转移号码

值为空时关闭

[fork]

string

同振号码

值为空时关闭

[mobile]

string

分机绑定的手机号,该手机号可作为呼叫转移、离线转移的缺省配置

值为空时关闭

[record]

string

实时录音功能开关

on: 开启off: 关闭

[api]

int

API的功能开关

0:API状态监控
7: API状态监控

点击查API功能开关详细介绍

[state]

string

线路状态

Ready: 空闲可用
Active: 振铃、回铃或通话中
Progress:模拟分机摘机后等待拨号以及拨号过程中
Offline: IP分机离线
Offhook:模拟分机听催挂音时的状态

[outer]

object

去电,这里作为该查询分机的通话方

 

[id]

int

去电的编,可依据该参数进行呼叫转接

 

[from]

string

原始主叫号码

 

<to>

string

原始被叫号码(对visitor而言,原始被叫为来电呼入中继号码)

 

[trunk]

string

中继号,即该去电从该中继呼出

 

[callid]

int

通话的相对唯一标识符

 

[state]

string

通话状态

Talk: 通话进行中
Progress: 呼叫处理过程中
Wait: 呼叫等待中

[visitor]

object

来电,这里作为该查询分机的通话方

 

<id>

int

来电的编号,可依据该参数进行呼叫转接等操作

 

<from>

string

原始主叫号码

 

<to>

string

原始被叫号码(对visitor而言,原始被叫为来电呼入的中继号码)

 

<callid>

int

通话的相对唯一标识符

 

[state]

string

通话状态

Talk: 通话进行中
Progress: 呼叫处理过程中
Wait: 呼叫等待中

[ext]

object

分机,这里作为该查询分机的通话方

 

<id>

string

分机号

 

[state]

string

通话状态

Talk: 通话进行中
Progress: 呼叫处理过程中
Wait: 呼叫等待中

查询中继

API用于查询指定中继(又称为外线)的相关信息,如:配置参数、线路状态、呼叫状态等。

请求示例

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <trunk id="2174"/>

</Control>

参数说明

参数名称

类型

参数说明

参数值说明

<trunk id>

string

中继号码(外线号码)

必须OM上的有效中继,值不能为空

响应示例

<?xml version="1.0" encoding="utf-8" ?>

<Status>

    <trunk id="2174">

        <lineid>Line 75</lineid>

        <state>active</state>

        <visitor id="2" from="202" to="2174" callid="36866">

            <state>talk</state>

        </visitor>

    </trunk>

</Status>

参数说明

说明:<>表示必选项[]表示可选项(当参数值为默认值或空时,响应消息可能不携带该参数)| 表示或者关系

参数名称

类型

参数说明

参数值说明

<trunk id>

string

中继(外线)号

数字字符串

<lineid>

string

中继的线路编号,是中继的唯一固定标识

IPLine | Line XXX

<state>

string

中继的线路状态

ready: 可用
active: 摘机、振铃或通话中
unwired:未接线
offline:离线
注:IP中继多路并发时,只要有一路空闲可用,其状态就ready

[outer]

object

去电

 

<id>

int

去电的编,可通过该参数对去电进行转接、查询、挂断等操作

 

<from>

string

原始主叫号码

 

<to>

string

原始被叫号码(对visitor而言,原始被叫为来电呼入中继号码)

 

<trunk>

string

中继, 该去电通过该中继呼出

 

<callid>

int

通话的相对唯一符

 

<state>

string

通话状态

Talk: 通话进行中
Progress: 呼叫处理过程中
Wait: 呼叫等待中

[visitor]

object

来电

 

<id>

int

来电的编号,可通过该参数对来电进行转接、查询、挂断等操作

 

<from>

string

原始主叫号码

 

<to>

string

原始被叫号码(对visitor而言,原始被叫为来电呼入的中继号码)

 

<callid>

int

该路通话的相对唯一的编号

 

<state>

string

通话状态

Talk: 通话进行中
Progress: 呼叫处理过程中
Wait: 呼叫等待中

查询来电

API用于查询指定来电的相关信息,如:来电的属性参(编号、原始主叫、原始被叫、通话状态、相对唯一标识)、来电的通话方、呼叫状态。

请求示例

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <visitor id="1"/>

</Control>

参数说明

参数名称

类型

参数说明

参数值说明

<visitor id>

int

来电的编号

数字,值为空时列举所有来电

响应示例

<?xml version="1.0" encoding="utf-8" ?>

<Status>

    <visitor id="1" from="02167103750" to="02161208234" callid="49189">  

        <ext id=" 200" />

        <state> progress </state>

    </visitor>

</Status>

解释: 1是由外部电02167103750通过中继线02161208234呼入OM设备,并且当前正在和分200通话中。

参数说明

说明:<>表示必选项[]表示可选项(当参数值为默认值或空时,响应消息可能不携带该参数)| 表示或者关系

参数名称

类型

说明

[visitor]

object

来电,为由中继呼OM的外部通话

<id>

int

来电的编号,可依据该参数对来电进行转接、查询、挂断等操作

<from>

string

原始主叫号码

<to>

string

原始被叫号码(对visitor而言,原始被叫为来电呼入的中继号码)

<callid>

int

通话的相对唯一标识符

[ext | menu | outer]

object

来电的通话方,可能为分机、语音菜单、呼叫寄存区、广播区、去电,为空时表明来电呼OM后尚未被转接

[state]

string

Talk: 通话进行中
Progress: 呼叫处理过程中
Wait: 呼叫等待中

查询去电

API用于查询指定去电的相关信息,如:去电的编号、主叫方、被叫方、通过的中继号码、通话状态以及通话的相对唯一标识符。

请求示例

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <outer id="5"/>

</Control>

参数说明

参数名称

类型

参数说明

参数值说明

<outer id>

int

去电的编号

数字,值为空时列举所有去电

响应示例

<?xml version="1.0" encoding="utf-8" ?>

<Status>

    <outer id="5" from="200" to="13012345678" trunk="02161208234" callid="32773">

        <outer id="5" from="200" to="13012345678" trunk="02161208234" callid="32773"/>

    </outer>

</Status>

解释: 5是由分200对外部电13012345678发起的呼叫,该路通话所经过的中继线02161208234

 

参数说明

说明:<>表示必选项[]表示可选项(当参数值为默认值或空时,响应消息可能不携带该参数)

参数名称

类型

说明

[outer]

object

去电,OM设备的中继呼出的通话

<id>

int

去电的编,可依据该参数进行转接、挂断、查询等操作

<from>

string

原始主叫号码

<to>

string

原始被叫号码(对visitor而言,原始被叫为来电呼入的中继号码)

<trunk>

string

中继号,这里为该去电呼出时通过的中继

<callid>

int

通话的相对唯一标识符

[state]

string

通话状态,
Talk: 通话进行中
Progress: 呼叫处理过程中
Wait: 呼叫等待中

查询分机组

API用于查询分机组的相关信息,如:配置参数(分机成员、呼叫排队时播放的背景音乐、呼叫分配规则)、正在该分机组队列中等待的来电。

注: 分机组队列中的呼叫排队顺序为从上到下。

请求示例

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <group id="1"/>

</Control>

参数说明

参数名称

类型

参数说明

参数值说明

<group id>

int

分机组的编号

1~50,值为空时列举所有分机组

响应示例

<?xml version="1.0" encoding="UTF-8"?>

<Status> 

    <group id="1"> 

        <ext id="200"/>

        <ext id="208"/> 

        <voicefile>NowMorning</voicefile>

        <distribution>sequential</distribution>

        <visitor id="27" from="02167103750" to="02161208234" callid="49162"/>

        <visitor id="28" from="13012345678" to="02161204000" callid="49164"/>

    </group>

</Status>

解释: 分机1内有两个分机成员(分200和分208),当来电转接到该分机组后,分机组按distribution(呼叫分配规则)的类型将呼叫分配给分机。当组内分机全忙,来电将会在分机组队列中等待,等待音乐voicefile指定的语音文件。

参数说明

说明:<>表示必选项[]表示可选项(当参数值为默认值或空时,响应消息可能不携带该参数)

参数名称

类型

说明

<group id>

int

分机组的序号

[voicefile]

int

语音文件,支datpcm两种格式,这里为呼叫等待时播放的音乐

[distribution]

string

有效值sequential(顺选)circular(轮选)group(群振)默认值circular

[ext]

string

分机,这里为该分机组中的分机成员

[visitor]

object

来电,这里为正处于该分机组等待队列中的来电

<id>

int

来电的编号,可依据该参数对来电进行转接、挂断、查询等操作

<from>

string

原始主叫号码

<to>

string

原始被叫号码(对visitor而言,原始被叫为来电呼入的中继号码)

<callid>

string

通话的相对唯一标识符

查询语音菜单

API用于查询语音菜单的相关信息,如:配置参数(语音文件、拨号检测长度、按键检查结束符)、转接到该菜单的呼叫信息等。

请求示例

<?xml version="1.0" encoding="utf-8" ?>

<Control attribute="Query">

    <menu id="1"/>

</Control>

参数说明

参数名称

类型

参数说明

参数值说明

<menu id>

int

语音菜单的编号

1~50,值为空表示列举所有语音菜单

响应示例

<?xml version="1.0" encoding="utf-8" ?> 

<Status>

首页标题    技术支持    技术文档    设备类    OMAPI技术开发文档20180208