... h1. main.ini Схема интеграции подразумевает открытие сокета для получения потока CDR от Avaya подобно Avaya Communication Manager. Если у Вас есть файлы CDR которые не были отправлены потоком, загрузите их в папку указанную в настройках NAS и настройте регулярное выражение для корректного извлечения данных по звонкам. {code}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}){code} * *cdr_receiver_port* - порт на котором открываем сокет для принятия потока CDR * *regex* - регулярное выражение для извлечения данных из полученной CDR Используя [руководство администратора Avaya Communication Manager|https://downloads.avaya.com/elmodocs2/comm_mgr/r2_1/trans/233506RU_8.pdf] Вы можете настроить данные выгружаемые в CDR и адрес на который следует отправлять данные потоком. h2. cdr_receiver_port Avaya может отправлять поток CDR в реальном времени сразу после завершения звонка в Avaya Communication Manager. Можно настроить отправку в двух направлениях, что сделать рекомендуется чтобы не потерять записи CDR в случае потери связи с биллингом или техничесих работ. Потребуется настроить "CDR System Parameters" для отправки потока CDR. IP биллинга задаётся в справочнике *node-names*, в справочнике *ip-services* сопоставляется сервис отправки CDR, хоста и его порта. В *system-parameters cdr* настраивается формат CDR и сама отправка. h3. Настройте узлы {code} 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 __________________ ___.___.___.___ {code} "Name" - произвольное, "IP Address" - адрес биллинга h3. Настройте IP Services {code} 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 {code} Service Type должен быть CDR1 или CDR2. По-умолчанию используется порт 9000. h3. Настройте Output Endpoint {code} 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 {code} В "CDR System Parameters" настройте "Primary Output Endpoint" или "Secondary Output Format", выберите соответствующий пункт настроенный в "IP Services" h2. regex Проверить регулярное выражение можно на сайте [regex101.com|https://regex101.com], в меню слева нужно выбрать в пункте "FLAVOR": Python. В строку Regular Expression напишите Ваше регулярное выражение, в строку Test String - запись CDR: !avaya_regex101.png|border=0,width=900! Регулярное выражение из примера: {code}(?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}){code} CDR из примера: {code}0805 0023 9 8 Out 79120000321 71110000001 010919 Our 018 009 2 00221{code} Переменные: * *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 секунда
|