Несколько записей CDR Asterisk 13

Работает Астериск 13.12.1, FreePBX 13.0.192.19.

Нам пришлось установить новый сервер, и, поскольку ранее мы использовали гораздо более старую звездочку, были применены некоторые исправления. Мы НЕ обновляли предыдущую, а сделали чистую установку, просто скопировали диалпланы, sip config и т.д.

Проблема в том, что теперь у нас есть несколько записей CDR для каждого вызова. Ранее у нас были строки NOCDR для локальных контекстов, и мы пытались изменить их на exten => _X!,1,Set(CDR_PROP(disable)=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)

В основном то, что выше, это вызов двух местных телефонов (300 и 301), а также нескольких (6) удаленных мобильных телефонов через GSM-шлюз.

1) Таким образом, CDR PROP полностью игнорируется (я думаю, кто-то сказал, что он не работает с локальным контекстом, но мне нужно подтверждение). Как я могу это исправить?

2) Любые другие идеи, как избежать создания нескольких записей CDR для каждого вызова?

Спасибо!

Обновление: поскольку это было помечено как дубликат Движок Asterisk 13.4 cdr создает 2 записи на вызов, мне нужно объяснить, что в этом вопросе решение заключается в применении неофициального патча, чего мы не хотим делать. Я искал официальный утвержденный способ, почему CDR_PROP работает неправильно. Кроме того (я только что проверил), ссылка на исправление в этом посте не работает, так как сайт недоступен. Еще одна причина не помечать это как дубликат.


person Outlaw011    schedule 19.03.2018    source источник
comment
Возможный дубликат Asterisk 13.4 cdr engine создает 2 записей за звонок   -  person miken32    schedule 19.03.2018


Ответы (1)


1) используйте NoCDR, не забудьте добавить '/n' к local каналам

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.

person arheops    schedule 19.03.2018
comment
Здравствуйте, спасибо за ваш ответ. Не обесценивается ли NoCDR в астериске 13+? wiki.asterisk.org/wiki/display/AST/ - person Outlaw011; 20.03.2018
comment
2. что касается cdr.conf - кажется, что asterisk 13 и freepbx используют cdr_adaptive_odbc.conf, так как cdr.conf пуст. А в cdr_adaptive_odbc.conf у меня так, не вижу ничего плохого в этом: [asteriskcdrdb] connection=asteriskcdrdb loguniqueid=yes table=cdr alias start=›calldate - person Outlaw011; 20.03.2018
comment
cdr.conf - файл глобальных опций. после этой конфигурации на основе типа БД - person arheops; 20.03.2018