0

我是 Asterisk 的新手,但我可以通过生成呼叫文件并将其移动到假脱机文件夹来拨打电话。我什至可以将它链接到 AGI 脚本并获得调用以执行更多操作

问题是我可以看到所有详细信息,包括 cdrdb 数据库中的 CLI 号码,但看不到它正在调用的号码。只有“dst”列中的字母“s”。

此外,当我键入“core show channels concise”时,我会得到一个当前拨出电话的频道,但它显示“SIP/0001c”或类似的东西。

我应该在呼叫文件或 AGI 脚本中放入可以传递目标号码的内容吗?或者我应该在这里做一个拨号计划?

顺便说一句,电话正在反抗。

谢谢

4

1 回答 1

2

来自:http ://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

您拨打的电话号码不会通过 * 存储在 CDR 中 - 如果您需要此信息用于 CDR 处理,您可以将呼叫文件中的 CallerID 设置为该号码并将其存储。但是,这将显示您正在呼叫的人他们自己的电话号码,这没有多大意义。更好的解决方案可能是将您拨打的号码放在 .call 文件中的 Set: 通道变量中,然后将其放入 CDR 的 UserField 中。请参阅上面第一节中的示例。

所以我认为最好的方法是在你的调用文件中添加一个变量(如文本所述),目标是:

Set: Target=5555555

然后,在您的 agi 脚本中,您将拥有一个名为Target的通道变量,其中包含相关值。

通过GET VARIABLEGET FULL VARIABLE获取其内容,并在您的 agi 脚本中,通过使用SET VARIABLE "CDR(myvariablename)" "value"设置CDR(myvariable)添加自定义 CDR 字段

这将获得 cdr 的值,准备保存。您可以通过在cdr_custom.conf中添加自定义字段来尝试使用 csv 后端,例如在末尾添加${CSV_QUOTE(${CDR(myvariablename)})}

如果您使用其他 cdr 后端,您可能需要查看正确的文档(对于 mysql - 可能还有其他文档 - 您可能会使用“ userfield ”列)。

希望能帮助到你!

于 2012-06-21T13:28:06.533 回答