运行Asterisk 13.12.1,FreePBX 13.0.192.19
。 我们不得不安装新服务器,由于我们以前使用更旧的星号,因此应用了一些修复程序。我们之前没有更新,但我们进行了全新安装,只是复制了拨号计划,sip 配置等。
问题是我们现在每次调用有多个 CDR 记录。我们以前有用于本地上下文的 NOCDR 行,我们尝试将它们更改为 exten => _X!,1,Set(CDR_PROP(禁用)=1),但这根本不起作用。
下面是示例:
[main context]
exten => remote-mon-1,1,Dial(SIP/lokal300&SIP/lokal301&Local/06xxxxxx@shift-remote-1&Local/06xxxxxx@shift-remote-2&Local/06xxxxxx@shift-remote-3&Local/06xxxxxx@shift-remote-4&Local/06xxxxxx@shift-remote-5&Local/06xxxxxx@shift-remote-6,,m(remote)M(whoanswered,remote))
[shift-remote-1]
exten => _X!,1,Set(CDR_PROP(disable)=1)
exten => _X!,n,Dial(SIP/gsm10/${EXTEN},540)
基本上,上述操作是通过gsm网关呼叫两个本地电话(300和301)以及多个(6)个远程移动电话。
1)所以CDR PROP被完全忽略了(我想有人说它不适用于本地环境,但我需要确认)。我该如何解决它?
2)任何其他想法如何避免为每个呼叫创建多个CDR记录?
谢谢!
更新:由于这被标记为Asterisk 13.4 cdr引擎的副本,每次调用创建2条记录,我需要解释一下,在该问题上,解决方案正在应用非官方补丁,这不是我们想要做的事情。我正在寻找官方批准的方法,以了解为什么CDR_PROP无法正常工作。此外(我刚刚检查了)该帖子中的补丁链接不起作用,因为无法访问网站。不将其标记为重复的另一个原因。
1)使用NoCDR,不要忘记将"/n"添加到本地频道
pro-sip*CLI> core show application NOCDR
-= Info about application 'NoCDR' =-
[Synopsis]
Tell Asterisk to not maintain a CDR for this channel.
[Description]
This application will tell Asterisk not to maintain a CDR for the current
channel. This does *NOT* mean that information is not tracked; rather, if the
channel is hung up no CDRs will be created for that channel.
If a subsequent call to ResetCDR occurs, all non-finalized CDRs created for the
channel will be enabled.
NOTE: This application is deprecated. Please use the CDR_PROP function to
disable CDRs on a channel.
[Syntax]
NoCDR()
[Arguments]
Not available
[See Also]
ResetCDR(), CDR_PROP
2) 读取/etc/asterisk/cdr.conf 参数。