读书人

使用 ami 外呼时在 freeiirs 录音时

发布时间: 2012-06-30 17:20:12 作者: rapoo

使用 ami 外呼时,在 freeiirs 录音时会找不到 accountcode 变量解决办法

使用 freeiris 对 asterisk 做包装。

?

今天使用 Asterisk 的 AMI 外呼时,发现录音不成功,

?

在 /freeiris2/agimod/rount.dynamic 中发现

?

?#主叫自动录音检测
??? $AGI->exec('AGI','agi://127.0.0.1/sysautomon?type=caller&number='.$accountcode);

?

中的变量 accountcode? 变量为空

?

这个 accountcode 是 CDR 的变量,

?

于是在

?

originateToExtensionAsync(java.lang.String?channel, java.lang.String?context, java.lang.String?exten, int?priority, long?timeout, CallerId?callerId, java.util.Map<java.lang.String,java.lang.String>?variables, OriginateCallback?cb)

中的 callback 中的 onSuccess? 方法执行的时候,进行设置

?

?

@Override
????public void onSuccess(AsteriskChannel channel) {
?????channel.setVariable("CDR(accountcode)", agent);
?????System.out.println("onSuccess..........");
????}

?

?

将 Channel 的变量修改一下即可。

?

问题解决。。

?

?

?

?

==============================================================

读书人网 >行业软件

热点推荐