VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Запись всех разговоров Elastix

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модераторы: april22, Zavr2008

Ответить
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Запись всех разговоров Elastix

Сообщение ercopav »

Есть Elastix 2.4 (на него заведены 20 внутренних абонентов) он соединен транками с SIP провайдерами + потоком E1. Так же Elastix соединен SIP транком с Avaya, на которой 50 абонентов. Выход с Avaya идет непосредственно через Elastix.
То есть Avaya (50 абонентов) <--> Elastix 2.4 (20 абонентов) <--> E1+Sip провайдеры.
Организовал запись всех разговоров с клиентами на Elastix следующим образом:
В файл extensions_custom.conf добавил (собрал из нескольких инструкций в интернете):
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
exten => _X.,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => _X.,2,Set(fname1=${STRFTIME(${EPOCH},,%Y%m%d)})
exten => _X.,3,Set(monopt=nice -n 19 /usr/local/bin/lame -b16 --silent /var/spool/asterisk/monitor/${fname1}/${fname}.wav /var/spool/asterisk/monitor/${fname1}/${fname}.mp3 && rm -f /var/spool/asterisk/monitor/${fname1}/${fname}.wav)
exten => _X.,4,MixMonitor(/var/spool/asterisk/monitor/${fname1}/${fname}.wav,b,${monopt})
То есть Mixmonitor записывает файл с названием "ггггммдд-номер-вызывающего абонента-номер вызываемого абонента.wav", далее конвертируем при помощи lame в mp3 и удаляем wav. Для упрощения все складывается по папкам ггггдд.
Правильна ли данная конструкция?
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Re: Запись всех разговоров Elastix

Сообщение ercopav »

Забыл добавить все это в контексте [from-internal-custom]
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Запись всех разговоров Elastix

Сообщение zzuz »

Во-первых , какой смысл Elastix , если Вы делаете это вручную?
Во-вторых , эти строки не записывают разговоры направленные из входящей маршрутизации.
В-третьих , запись будет дублироваться , если внутренний абонент АТС имеет включенные опции записи разговоров, так как у фреймворка есть свой механизм записи разговоров.
Линия24 - Системы Массового Телефонного Обслуживания
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Re: Запись всех разговоров Elastix

Сообщение ercopav »

Во-первых , какой смысл Elastix , если Вы делаете это вручную?
Так уж завелось что Elastix является связующим звеном между Avaya и внешним миром, то есть Avaya (50 абонентов) <--> Elastix 2.4 (20 абонентов) <--> E1+Sip провайдеры. Поэтому и приходится писать вручную, чтобы записывать внешние входящие и исходящие звонки абонентов Avaya.
Во-вторых , эти строки не записывают разговоры направленные из входящей маршрутизации.
Пишет входящие и исходящие звонки проверено.
В-третьих , запись будет дублироваться , если внутренний абонент АТС имеет включенные опции записи разговоров, так как у фреймворка есть свой механизм записи разговоров.
Встроенная запись разговоров выключена у всех абонентов, да и по сути она не так важна: 20 абонентов на Elastix и 50 на Avaya.
Конечно неудобно будет прослушивать разговоры, но обычно это возникает 2-3 раза в месяц не чаще.
Интересует другой момент: конвертировать запись на лету или ночью скриптом? Одновременно бывают занято 10 линий максимум.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Запись всех разговоров Elastix

Сообщение zzuz »

Конвертировать на лету - нормально. Но лучше вынести конвертацию и создание папок в отдельный скрипт ( создание папок тем более) .
Линия24 - Системы Массового Телефонного Обслуживания
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Re: Запись всех разговоров Elastix

Сообщение ercopav »

Вся конструкция в моем случае нарушила внутреннюю маршрутизацию вызовов и все изменения были удалены. Далее было внесено исправление в файл extensions_override_elastix.conf скопирован и видоизменен макрос из файла extensions_additional.conf:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

[macro-user-callerid]
include => macro-user-callerid-custom

exten => s,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${UNIQUEID})
exten => s,2,Set(fname1=${STRFTIME(${EPOCH},,%Y%m%d)})
exten => s,3,Set(monopt=nice -n 19 /usr/local/bin/lame -b16 --silent /var/spool/asterisk/monitor/${fname1}/${fname}.wav /var/spool/asterisk/monitor/${fname1}/${fname}.mp3 && rm -f /var/spool/asterisk/monitor/${fname1}/${fname}.wav)
exten => s,4,MixMonitor(/var/spool/asterisk/monitor/${fname1}/${fname}.wav,b,${monopt})

exten => s,5,Set(AMPUSER=${IF($["foo${AMPUSER}" = "foo"]?${CALLERID(number)}:${AMPUSER})})
exten => s,n,GotoIf($["${CHANNEL:0:5}" = "Local"]?report)
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)}))
exten => s,n,Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)})
exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)})
exten => s,n,GotoIf($["x${AMPUSERCIDNAME:1:2}" = "x"]?report)
exten => s,n,Set(AMPUSERCID=${IF($["${DB_EXISTS(AMPUSER/${AMPUSER}/cidnum)}" = "1"]?${DB_RESULT}:${AMPUSER})})
exten => s,n,Set(CALLERID(all)="${AMPUSERCIDNAME}" <${AMPUSERCID}>)
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/language)}" != ""]?Set(CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)}))
exten => s,n(report),GotoIf($[ "${ARG1}" = "SKIPTTL" ]?continue)
exten => s,n(report2),Set(__TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])})
exten => s,n,GotoIf($[ ${TTL} > 0 ]?continue)
exten => s,n,Wait(${RINGTIMER})
exten => s,n,Answer
exten => s,n,Wait(2)
exten => s,n,Playback(im-sorry&an-error-has-occured&with&call-forwarding)
exten => s,n,Macro(hangupcall,)
exten => s,n,Congestion(20)
exten => s,n(continue),Set(CALLERID(number)=${CALLERID(number):0:40})
exten => s,n,Set(CALLERID(name)=${CALLERID(name):0:40})
exten => s,n,Noop(Using CallerID ${CALLERID(all)})
exten => h,1,Macro(hangupcall,)
То есть добавились первые 4-ре строчки и видоизменена сама 5-я. Все вызовы проходят через этот макрос и идет запись разговоров. При этом имя записываемого файла "ггггммдд-уникальный номер вызова.mp3". Пока вроде никаких косяков в маршрутизации не видно и запись проходит прозрачно.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH