Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
configure_asterisk_for_cloud_version [2020/11/18 09:48] Евгений Романенко |
configure_asterisk_for_cloud_version [2021/06/03 09:31] Евгений Романенко |
||
---|---|---|---|
Строка 89: | Строка 89: | ||
- Инсталлируем необходимые пакеты (для примера в Debian/Ubuntu) <code bash>aptitude install unixodbc-dev libmyodbc</code> | - Инсталлируем необходимые пакеты (для примера в Debian/Ubuntu) <code bash>aptitude install unixodbc-dev libmyodbc</code> | ||
- Asterisk должна быть собрана со следующими опциями {{::9d37fd2a5c08439f8a69fe81a398891c.png?400|}}{{::34d0b50241d3443d827afa222aede0f4.png?400|}} | - Asterisk должна быть собрана со следующими опциями {{::9d37fd2a5c08439f8a69fe81a398891c.png?400|}}{{::34d0b50241d3443d827afa222aede0f4.png?400|}} | ||
- | - Далее редактируем несколько конфиг-файлов:\\ **/etc/asterisk/res_odbc.conf** <code bash>[asterisk] | + | - Далее редактируем несколько конфиг-файлов:\\ **/etc/asterisk/res_odbc.conf** <code bash>[asteriskcdrdb] |
enabled => yes | enabled => yes | ||
dsn => MySQL-asterisk | dsn => MySQL-asterisk | ||
Строка 107: | Строка 107: | ||
;Port = 3306 | ;Port = 3306 | ||
Socket = /var/run/mysqld/mysqld.sock | Socket = /var/run/mysqld/mysqld.sock | ||
- | Database = asterisk | + | Database = asteriskcdrdb |
Charset = utf8</code> **/etc/odbcinst.ini** <code>[MySQL] | Charset = utf8</code> **/etc/odbcinst.ini** <code>[MySQL] | ||
Description = MySQL driver | Description = MySQL driver | ||
Строка 114: | Строка 114: | ||
CPTimeout = | CPTimeout = | ||
CPReuse =</code> в конец **/etc/asterisk/cdr_mysql.conf** добавить <code bash>alias filename => filename</code> | CPReuse =</code> в конец **/etc/asterisk/cdr_mysql.conf** добавить <code bash>alias filename => filename</code> | ||
- | - Внесем в **/etc/asterisk/extconfig.conf** <code bash>queue_log => odbc,asterisk</code> | + | - Внесем в **/etc/asterisk/extconfig.conf** <code bash>queue_log => odbc,asteriskcdrdb</code> |
- **cel.conf** выглядит так <code bash>[general] | - **cel.conf** выглядит так <code bash>[general] | ||
enable=yes | enable=yes | ||
Строка 122: | Строка 122: | ||
[manager] | [manager] | ||
[radius]</code> | [radius]</code> | ||
- | - **cel_odbc.conf** <code bash>[asterisk] | + | - **cel_odbc.conf** <code bash>[asteriskcdrdb] |
- | connection=asterisk | + | connection=asteriskcdrdb |
table=cel | table=cel | ||
loguniqueid=yes | loguniqueid=yes | ||
Строка 198: | Строка 198: | ||
[from-pstn-custom] | [from-pstn-custom] | ||
exten => _XX.,1, Macro(vistep.ru-record,${CALLERID(number)},${EXTEN})</code> | exten => _XX.,1, Macro(vistep.ru-record,${CALLERID(number)},${EXTEN})</code> | ||
+ | - Или у вас внезапно lua <code lua> | ||
+ | WAV = "/opt/records/wav" -- Временный каталог с WAV | ||
+ | MP3="/opt/records/mp3" --Куда выгружать mp3 файлы | ||
+ | RECORDING=1 -- 1 - запись включена. | ||
+ | |||
+ | function recording(calling,called) | ||
+ | if RECORDING == 1 then | ||
+ | fname = channel.UNIQUEID:get() .. "-" .. channel.STRFTIME("${EPOCH},,%Y-%m-%d-%H_%M".."-"..calling.."-"..called):get() | ||
+ | datedir = channel.STRFTIME("${EPOCH},,%Y/%m/%d"):get().."/" | ||
+ | os.execute("mkdir -p " .. WAV.."/"..datedir) | ||
+ | os.execute("mkdir -p " .. MP3.."/"..datedir) | ||
+ | WAVfname = WAV..datedir..fname..".wav" | ||
+ | MP3fname = MP3..datedir..fname..".mp3" | ||
+ | channel.CDR("filename"):set(MP3fname) | ||
+ | channel.CDR("realdst"):set(called) | ||
+ | channel.CDR("realsrc"):set(calling) | ||
+ | monopt = string.format("nice -n 19 /usr/bin/lame -b 32 --silent %s %s && rm -f %s && chown o+r %s",WAVfname,MP3fname,WAVfname,MP3fname) | ||
+ | app.mixmonitor(WAVfname,b,monopt) | ||
+ | return | ||
+ | end; | ||
+ | end; | ||
+ | |||
+ | extensions = { | ||
+ | ["local"] = { | ||
+ | --локальные вызовы на номера XXX | ||
+ | ["_XXX"] = function(context,extension) | ||
+ | app.answer() | ||
+ | recording(channel.CALLERID("num"):get(),extension) | ||
+ | app.dial("SIP/"..extension,300,"t") | ||
+ | app.hangup() | ||
+ | end; | ||
+ | }; | ||
+ | |||
+ | } | ||
+ | |||
+ | </code> | ||
- С препарированием нашей АТС закончили! \\ Переходим к настройке синхронизации БД и файлов записей разговоров в облако ViStep.RU. Для этого воспользуйтесь инструкцией - https://wiki.vistep.ru/doku.php?id=cloud_daemon_sync | - С препарированием нашей АТС закончили! \\ Переходим к настройке синхронизации БД и файлов записей разговоров в облако ViStep.RU. Для этого воспользуйтесь инструкцией - https://wiki.vistep.ru/doku.php?id=cloud_daemon_sync | ||
- Для входа в систему статистики используйте данные авторизации (Email-адрес/Пароль) из регистрационного письма. | - Для входа в систему статистики используйте данные авторизации (Email-адрес/Пароль) из регистрационного письма. |