我可以从响应事件中获取billsec或始发呼叫的持续时间吗?我需要始发呼叫最终数据。
OriginateAction originateAction = new OriginateAction();
originateAction.setChannel("SIP/xxxxxx");
originateAction.setContext("xxxxx");
originateAction.setExten("xxxxx");
originateAction.setCallerId("xxxxx");
originateAction.setAsync(Boolean.TRUE);
originateAction.setPriority(1);
managerConnection.sendAction(new StatusAction());
ManagerResponse mr = managerConnection.sendAction(originateAction);
//ResponseEvents mr = managerConnection.sendEventGeneratingAction(originateAction);
System.out.println(mr.getResponse());
int billsec = ???
答案 0 :(得分:0)
您需要在拨号方案中标记CDR(用户字段)或CDR(帐户代码)
之后,您可以根据请求在mysql或其他数据库中收集cdr。
答案 1 :(得分:0)
不,一旦通过管理员发起呼叫,控制就在Asterisk拨号方案 - 不再使用您的JAVA程序。为了提取该信息,您需要在拨号方案中为“h”扩展添加适当的处理程序。根据DIALSTATUS,它将允许您访问DIALEDTIME和ANSWEREDTIME变量,其中包含您正在寻找的信息。