呼叫
应用场景
发起点对点呼叫或者呼叫会议ID。
前提条件
已完成登录认证,终端处于空闲状态。
接口概述
前面的较长代码主要是封装请求json报文的操作,其中szName为192.168.47.99, 则该呼叫请求为192.168.32.77(通用接口概述中配置的IP地址)呼叫99机器的操作。
值得注意的是obj.put("acCSRFToken",token);操作的是在报文中传入上述Login操作中获取的最新token.
请求URL
/action.cgi?ActionID=WEB_CallSiteAPI
private static void WEB_CallSiteAPI() { String uri = baseUrl + "/action.cgi?ActionID=WEB_CallSiteAPI"; obj.put("bIsLdapCall",0); obj.put("bIsVideoCall",1); obj.put("ucEnableH239",0); obj.put("ulCallRecID",6); obj.put("ulcallDirecID",1); obj.put("ulCallPort",0); obj.put("ucH235Policy",0); JSONObject objson = new JSONObject(); objson.put("stTPS",new JSONObject()); objson.put("stCTS",new JSONObject()); objson.put("stISDN",new JSONObject()); objson.put("stIP",new JSONObject()); objson.put("stV35",new JSONObject()); objson.put("stE1",new JSONObject()); objson.put("stIPOverE1",new JSONObject()); objson.put("stT1",new JSONObject()); objson.put("stPhone",new JSONObject()); objson.put("stPSTN",new JSONObject()); objson.put("uwID",0); objson.put("ucDevice",0); objson.put("bIsLdap",0); objson.put("ucOnline",0); objson.put("uwSortPos",0); objson.put("ucType",8); objson.put("szName","192.168.47.99"); objson.put("szPName",""); JSONObject objGrandSon = new JSONObject(); objGrandSon.put("ucBaudRate",1920); objGrandSon.put("szAlias",""); objGrandSon.put("szIP",""); objGrandSon.put("szUri",""); objson.put("stSIP",objGrandSon); obj.put("stSiteInfo",objson); obj.put("acCSRFToken", token); systemPrint(obj.toString()); JSONObject result = HttpClientUtil.post(uri, obj, null); try { systemPrint("result:"+result); } catch (Exception e) { systemPrint("failed"); } }
main函数调用
public static void main(String[] args) {
args = new String[]{"WEB_CallSiteAPI","api","Change_Me"};
stringHashMap配置
stringHashMap.put("WEB_CallSiteAPI", "WEB_CallSiteAPI");
请求成功返回json报文
{"data":"{\"resID\":0,\"num\":0,\"param1\":\"192.168.47.99\",\"param2\":\"\"}","success":1}