main.ini
Схема интеграции подразумевает открытие сокета для получения потока CDR от Avaya подобно Avaya Communication Manager.
Если у Вас есть файлы CDR которые не были отправлены потоком, загрузите их в папку указанную в настройках NAS и настройте регулярное выражение для корректного извлечения данных по звонкам.
tmplt=tmplt/main.cfg.tmplt ip="10.0.2.14" cdr_path="/var/avaya/" enabled="0" cdr_receiver_port="9000" regex=(?P<time>.{4})\s\d{4}\s.\s(?P<code_dial>.{3})\s(?P<in_trk_code>.{3})\s(?P<clg_num_in_tac>.{18})\s(?P<dialed_num>.{15})\s(?P<start_date>\d{6})\s.{3}\s(?P<code_used>.{3})\s.{20}\s(?P<sec_dur>.{5})
- cdr_receiver_port - порт на котором открываем сокет для принятия потока CDR
- regex - регулярное выражение для извлечения данных из полученной CDR
Используя руководство администратора Avaya Communication Manager Вы можете настроить данные выгружаемые в CDR и адрес на который следует отправлять данные потоком.
cdr_receiver_port
Avaya может отправлять поток CDR в реальном времени сразу после завершения звонка в Avaya Communication Manager. Можно настроить отправку в двух направлениях, что сделать рекомендуется чтобы не потерять записи CDR в случае потери связи с биллингом или техничесих работ.
Потребуется настроить "CDR System Parameters" для отправки потока CDR. IP биллинга задаётся в справочнике node-names, в справочнике ip-services сопоставляется сервис отправки CDR, хоста и его порта. В system-parameters cdr настраивается формат CDR и сама отправка.
Настройте узлы
change node-names ip Page 1 of 1
IP NODE NAMES
Name IP Address Name IP Address
default 0 .0 .0 .0 __________________ ___.___.___.___
ACM 10 .0 .3 .17 __________________ ___.___.___.___
CB5 10 .0 .2 .2 __________________ ___.___.___.___
"Name" - произвольное, "IP Address" - адрес биллинга
Настройте IP Services
change ip-services Page 1 of X IP SERVICES Service Enabled Local Local Remote Remote Type Node Port Node Port CDR1 y clan10 5677 ACM 9123 CDR2 y clan10 5678 CB5 9000
Service Type должен быть CDR1 или CDR2. По-умолчанию используется порт 9000.
Настройте Output Endpoint
change system-parameters cdr Page 1 of 1
CDR SYSTEM PARAMETERS
Node Number (Local PBX ID): CDR Date Format: month/day
Primary Output Format: customized Primary Output Endpoint: CDR1
Secondary Output Format: customized Secondary Output Endpoint: CDR2
В "CDR System Parameters" настройте "Primary Output Endpoint" или "Secondary Output Format", выберите соответствующий пункт настроенный в "IP Services"
regex
Проверить регулярное выражение можно на сайте regex101.com, в меню слева нужно выбрать в пункте "FLAVOR": Python. В строку Regular Expression напишите Ваше регулярное выражение, в строку Test String - запись CDR:
Регулярное выражение из примера:
(?P<time>.{4})\s\d{4}\s.\s(?P<code_dial>.{3})\s(?P<in_trk_code>.{3})\s(?P<clg_num_in_tac>.{18})\s(?P<dialed_num>.{15})\s(?P<start_date>\d{6})\s.{3}\s(?P<code_used>.{3})\s.{20}\s(?P<sec_dur>.{5})
CDR из примера:
0805 0023 9 8 Out 79120000321 71110000001 010919 Our 018 009 2 00221
Переменные:
- time - начало вызова, например 0805 - 8 часов 5 минут
- code_dial - используется для AMA-Flags
- in_trk_code - код доступа к входящей транковой группе, используем как транк назначения (dst_chan)
- clg_num_in_tac - номер с которого пришел звонок (используем как src_orig)
- dialed_num - номер на который совершен звонок (используем как dst_orig)
- start_date - дата звонка, например 010919 - первое сентября 2019 года
- code_used - используем в качестве транка источника (src_chan)
- sec_dur - длительность вызова, например 00221 - две минуты и 21 секунда