1.2 交互原理

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

传输协议

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

消息内容如:

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客户端,OM作为HTTP服务端

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

流程为:①请求 ②响应 ③断开。

交互图如下:

反向:OM作为HTTP客户端,应用服务器作为HTTP服务端

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

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

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

流程为:①接收消息 ②断开。

results matching ""

    No results matching ""