繁体   English   中英

如何使用Asterisk调用文件提取目标号码

[英]How to extract the destination number using an Asterisk call file

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

问题是我可以看到所有细节,包括cdrdb数据库中的CLI编号,但不能看到它调用的编号。 只有'dst'栏中的字母's'。

此外,当我输入“核心节目频道简洁”时,我获得了当前拨出电话的频道,但它显示“SIP / 0001c”或类似的东西。

我应该在调用文件或可以传递目标号码的AGI脚本中添加一些内容吗? 或者我应该在这里做拨号计划吗?

BTW电话正在肆无忌惮地通过。

谢谢

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

您拨打的电话号码不会通过*存储在CDR中 - 如果您需要此信息进行CDR处理,您可以将呼叫文件中的CallerID设置为此号码并存储。 但是,这将显示您正在呼叫他们自己的电话号码的人,这没有多大意义。 更好的解决方案可能是将您拨打的号码放在.call文件中的Set:channel变量中,然后将其放入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 ”列来逃避 )。

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM