Us asterisk: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 62: | Строка 62: | ||
write = all,system,call,log,verbose,command,agent,user,config | write = all,system,call,log,verbose,command,agent,user,config | ||
Здесь: | Здесь: | ||
userside — имя пользователя | userside — имя пользователя | ||
us_asterisk_secret — пароль | us_asterisk_secret — пароль | ||
192.168.1.2 — адрес сервера, на котором функционирует модуль us_asterisk | 192.168.1.2 — адрес сервера, на котором функционирует модуль us_asterisk | ||
После выполнения этой команды необходимо войти в консоль asterisk и выполнить команду перезагрузки конфигурации | После выполнения этой команды необходимо войти в консоль asterisk и выполнить команду перезагрузки конфигурации | ||
$ asterisk -r | $ asterisk -r | ||
> reload | > reload | ||
> exit | > exit | ||
key — это ваш секретный ключ для доступа к функциям API САП UserSide. Вместо этого слова нужно вписать что-то более надежное, например сгенерированный пароль. | '''Настройка UserSide''' | ||
Убедитесь, что в конфигурационном файле САП "UserSide", который расположен по адресу ''/main/config/config.php'', присутствует следующий параметр: | |||
$zusapikey = "key"; | |||
key — это ваш секретный ключ для доступа к функциям API САП "UserSide". Вместо этого слова нужно вписать что-то более надежное, например сгенерированный пароль. | |||
Далее этот ключ понадобится в файле настроек модуля us_asterisk. | Далее этот ключ понадобится в файле настроек модуля us_asterisk. | ||
Настройка модуля us_asterisk | |||
'''Настройка модуля us_asterisk''' | |||
В САП UserSide назначьте операторам внутренние номера телефонов, при вызовах на которые должны отображаться уведомления | |||
Скопировать три файла (us_asterisk.pl, us_asterisk_control.pl, us_asterisk.conf) в каталог, например: /usr/local/us_modules/us_asterisk/ | В САП "UserSide" назначьте операторам внутренние номера телефонов, при вызовах на которые должны отображаться уведомления | ||
Указать настройки в файле us_asterisk.conf (подключение к asterisk-manager, подключение к api UserSide, путь хранения логов, если нужно) | |||
Скопировать три файла ''(us_asterisk.pl, us_asterisk_control.pl, us_asterisk.conf)'' в каталог, например: ''/usr/local/us_modules/us_asterisk/'' | |||
Указать настройки в файле us_asterisk.conf ''(подключение к asterisk-manager, подключение к api UserSide, путь хранения логов, если нужно)'' | |||
В файле us_asterisk_control.pl прописать правильный путь к perl (можно узнать выполнив which perl) | В файле us_asterisk_control.pl прописать правильный путь к perl (можно узнать выполнив which perl) | ||
в CRON добавить строку, запускающую контроллер, например, каждые 2 минуты (снова полный путь к perl для вашей системы) | |||
*/2 * * * * user /usr/local/bin/perl /usr/local/us_modules/us_asterisk/us_asterisk_control.pl > /var/log 2>&1 | в CRON добавить строку, запускающую контроллер, например, каждые 2 минуты ''(снова полный путь к perl для вашей системы)'' | ||
Дождаться выполнения контроллера, который запустит модуль на выполнение (либо можно запустить вручную: perl us_asterisk.pl &) | */2 * * * * user /usr/local/bin/perl /usr/local/us_modules/us_asterisk/us_asterisk_control.pl > /var/log 2>&1 | ||
Дождаться выполнения контроллера, который запустит модуль на выполнение ''(либо можно запустить вручную: perl us_asterisk.pl &)'' | |||
После запуска должны создаться лог-файлы us_asterisk.log и us_asterisk.err - изучите их содержимое, чтобы убедиться в отсутствии ошибок. Так же будет создан файл us_asterisk.pid в каталоге с файлами модуля. | После запуска должны создаться лог-файлы us_asterisk.log и us_asterisk.err - изучите их содержимое, чтобы убедиться в отсутствии ошибок. Так же будет создан файл us_asterisk.pid в каталоге с файлами модуля. | ||
Настройте демон newslog (/etc/newslog.conf) на ротацию логов модуля. Просто добавьте строку: | |||
/var/log/us_asterisk.* 644 10 200 * GJC | Настройте демон newslog ''(/etc/newslog.conf)'' на ротацию логов модуля. Просто добавьте строку: | ||
/var/log/us_asterisk.* 644 10 200 * GJC | |||
Проверьте работоспособность модуля, выполнив телефонный вызов. Контролировать работу модуля можно наблюдая за логами в реальном времени: | Проверьте работоспособность модуля, выполнив телефонный вызов. Контролировать работу модуля можно наблюдая за логами в реальном времени: | ||
tail -f /var/log/us_asterisk.log | |||
tail -f /var/log/us_asterisk.log | |||
Действия, необходимые для проведения отладки работы модуля us_asterisk | Действия, необходимые для проведения отладки работы модуля us_asterisk | ||
Отключите запуск контроллера в CRON | * Отключите запуск контроллера в CRON | ||
Остановите запущенное приложение и убедитесь, что ни одна копия приложения не запущена | * Остановите запущенное приложение и убедитесь, что ни одна копия приложения не запущена | ||
ps ax | grep us_asterisk | ps ax | grep us_asterisk | ||
Измените в конфигурационном файле модуля us_asterisk.conf параметры $ps_consolelog = 1, если необходимо выводить лог на экран, а не в файл, и/или, если необходимо выводить ответы API-сервера, $ps_apianswlog = 1 | Измените в конфигурационном файле модуля us_asterisk.conf параметры $ps_consolelog = 1, если необходимо выводить лог на экран, а не в файл, и/или, если необходимо выводить ответы API-сервера, $ps_apianswlog = 1 |
Версия от 12:22, 19 июля 2015
US_ASTERISK - модуль, взаимодействующий с Asterisk и обрабатывающий информацию о поступающих звонках абонентов
Данный модуль является более заменой устаревшему win-модулю us_asteriskcall
Общие данные
Язык модуля: Perl
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Возможности
Для каждого оператора указывается внутренний SIP-номер, который требуется контролировать. Например у оператора на столе стоит аппаратный телефон, имеющий внутренний номер 5007 (либо программный телефон). Значит в учетной записи оператора необходимо указать его номер 5007.
При поступлении звонка на номер оператора - в браузер будет выведена информация о входящем звонке. При этом если по входящему номеру будет выполнен поиск в базе абонентов и, при нахождении, выведена информация по абоненту.
Кроме абонентов выполняется поиск по телефонным номерам сотрудников
Уведомления выводятся по очереди и во всех открытых вкладках САП "UserSide" у оператора
В разделе "Настройка - Модуль us_asterisk" можно просмотреть список всех звонков
Также в карточке абонента на вкладке "Тех.поддержка" видны все его звонки
Для нескольких операторов возможно указание одинаковых контролируемых номеров. Но лучше этим не пользоваться, т.к. в отчете по звонкам будет трудно понять какому именно оператору все-таки поступил звонок.
Как это работает
Настройка
Настройка Asterisk
В системе Asterisk для взаимодействия используется модуль Manager, который настраивается в файле /etc/asterisk/manager.conf
В этом файле необходимо добавить блок настроек для пользователя, от имени которого будет происходить взаимодействие между Asterisk и us_asterisk
Пример блока, который необходимо вписать в файл manager.conf
[userside] secret = us_asterisk_secret deny = 0.0.0.0/0.0.0.0 permit = 192.168.1.2/255.255.255.255 read = all,system,call,log,verbose,command,agent,user,config write = all,system,call,log,verbose,command,agent,user,config
Здесь: userside — имя пользователя us_asterisk_secret — пароль 192.168.1.2 — адрес сервера, на котором функционирует модуль us_asterisk
После выполнения этой команды необходимо войти в консоль asterisk и выполнить команду перезагрузки конфигурации
$ asterisk -r > reload > exit
Настройка UserSide
Убедитесь, что в конфигурационном файле САП "UserSide", который расположен по адресу /main/config/config.php, присутствует следующий параметр:
$zusapikey = "key";
key — это ваш секретный ключ для доступа к функциям API САП "UserSide". Вместо этого слова нужно вписать что-то более надежное, например сгенерированный пароль.
Далее этот ключ понадобится в файле настроек модуля us_asterisk.
Настройка модуля us_asterisk
В САП "UserSide" назначьте операторам внутренние номера телефонов, при вызовах на которые должны отображаться уведомления
Скопировать три файла (us_asterisk.pl, us_asterisk_control.pl, us_asterisk.conf) в каталог, например: /usr/local/us_modules/us_asterisk/
Указать настройки в файле us_asterisk.conf (подключение к asterisk-manager, подключение к api UserSide, путь хранения логов, если нужно)
В файле us_asterisk_control.pl прописать правильный путь к perl (можно узнать выполнив which perl)
в CRON добавить строку, запускающую контроллер, например, каждые 2 минуты (снова полный путь к perl для вашей системы)
*/2 * * * * user /usr/local/bin/perl /usr/local/us_modules/us_asterisk/us_asterisk_control.pl > /var/log 2>&1
Дождаться выполнения контроллера, который запустит модуль на выполнение (либо можно запустить вручную: perl us_asterisk.pl &)
После запуска должны создаться лог-файлы us_asterisk.log и us_asterisk.err - изучите их содержимое, чтобы убедиться в отсутствии ошибок. Так же будет создан файл us_asterisk.pid в каталоге с файлами модуля.
Настройте демон newslog (/etc/newslog.conf) на ротацию логов модуля. Просто добавьте строку:
/var/log/us_asterisk.* 644 10 200 * GJC
Проверьте работоспособность модуля, выполнив телефонный вызов. Контролировать работу модуля можно наблюдая за логами в реальном времени:
tail -f /var/log/us_asterisk.log
Действия, необходимые для проведения отладки работы модуля us_asterisk
- Отключите запуск контроллера в CRON
- Остановите запущенное приложение и убедитесь, что ни одна копия приложения не запущена
ps ax | grep us_asterisk Измените в конфигурационном файле модуля us_asterisk.conf параметры $ps_consolelog = 1, если необходимо выводить лог на экран, а не в файл, и/или, если необходимо выводить ответы API-сервера, $ps_apianswlog = 1 Запустите модуль вручную при помощи следующей команды. При запуске модуль выведет информацию об этом на экран. perl us_asterisk.pl После окончания отладочных работ остановите работу модуля Ctrl+C, измените параметры $ps_consolelog и $ps_apianswlog, установив их в 0, активируйте запуск контроллера в CRON
Общие данные
Язык модуля: Perl
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Необходимые модули Perl:
DBI Time::Local FindBin LWP::Simple
Информацию по установке модуля и общую информацию для всех модулей см. на странице: Модули
Настройка модуля осуществляется в файле us_config.tmp
Параметры
$zuserver - адрес сервера с UserSide $zuuser - имя пользователя для доступа к базе UserSide $zupass - пароль для доступа к базе UserSide $zubase - имя базы данных UserSide $ps_logpath - путь к логам модуля $ps_us_path - URL к САП "UserSide" - например http://your_net.com/userside/ $zcity_list - перечень населенных пунктов (tbl_adr_city.CODE) оборудование которых опрашивать (через запятую). 0 - объекты без адреса $zsilence - не выводить уведомления о работе модуля в консоль
Запуск модуля
- Настройка - Модули - us_radio - Включаем работу модуля
- Запускаем для теста модуль вручную и убедимся, что ошибок не возникает
perl us_radio.pl
Модуль требуется прописать в системный cron с выбранной частотой запуска - например 1 раз в час.
1 * * * * perl us_radio.pl &> /dev/null