首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

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

2012-06-30 
使用 ami 外呼时,在 freeiirs 录音时会找不到 accountcode 变量解决办法使用 freeiris 对 asterisk 做包装

使用 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 的变量修改一下即可。

?

问题解决。。

?

?

?

?

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

热点排行