多个CDR记录Asterisk 13

时间:2018-03-19 09:57:12

标签: asterisk freepbx

运行Asterisk 13.12.1,FreePBX 13.0.192.19。

我们必须安装新的服务器,因为我们以前使用了更旧的星号,所以应用了一些修复程序。我们之前已经更新了,但是我们进行了全新安装,只是复制了拨号方案,sip配置等。

问题是我们现在每次通话都有多个CDR记录。我们之前有针对本地情况的NOCDR行,我们尝试将其更改为exten => _X!,1,设置(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完全被忽略了(我想有人说它不能使用Local上下文,但我需要确认)。我该如何解决?

2)如何避免为每次通话创建多个CDR记录?

谢谢!

更新:由于这被标记为Asterisk 13.4 cdr engine is creating 2 records per call的副本,我需要解释一下,在该问题中,解决方案是应用非官方补丁,这不是我们想要做的事情。我正在寻找官方批准的方式来解决CDR_PROP无法正常工作的原因。此外(我刚检查过)该帖子中的补丁链接不起作用,因为站点无法访问。还有一个原因是不将此标记为重复。

1 个答案:

答案 0 :(得分:0)

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参数。