C-Tech https://ctech.com.ua Комплекс услуг в сфере IT Thu, 01 Nov 2018 11:14:50 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.9.8 Месяц в подарок https://ctech.com.ua/promotion-2/ Sun, 02 Aug 2015 22:13:58 +0000 http://www.ctech.com.ua/?p=62 Акция — первый месяц абонентского обслуживания бесплатно!!!

 

]]>
IP телефония бесплатно https://ctech.com.ua/promotion-1/ Sun, 02 Aug 2015 22:11:52 +0000 http://www.ctech.com.ua/?p=60 Внимание!!! Акция!!! При заключении договора на абонентское обслуживание — IP телефония бесплатно!

]]>
Asterisk SMS server https://ctech.com.ua/asterisk-sms-server/ https://ctech.com.ua/asterisk-sms-server/#comments Thu, 28 May 2015 12:00:08 +0000 http://www.ctech.com.ua/wordpress/?p=1   В данной статье рассмотрим установку и настройку SMS сервера для популярного VoIP шлюза GoIP. Наша задача — получить надежный инструмент для отправки, хранения и получения SMS сообщений с имеющихся SIM карт, а также автоматически проверять баланс денежных средств с уведомлением на e-mail.

  Теоретически установка SMS сервера может быть осуществлена на любой дистрибутив Linux с предустановленными Apache и MySQL серверами, но логичнее будет выбрать сервер Asterisk, который мы используем в связке с GoIP шлюзом. Практически все необходимые компоненты там уже установлены, поэтому приступим.

  Для начала скачаем сам дистрибутив, пошарив в просторах интернета или на сайте Hyberton. Там же можно скачать и обновление для VoIP шлюза. На момент написания статьи, последней доступной версией была v1.19.3. Копируем адрес ссылки с сайта и качаем его:

[root@localhost]#cd /tmp

[root@localhost tmp]#wget http://www.hybervoice.com/update/goip_install-v1.19.tar.gz

[root@localhost tmp]#tar xvfz goip_install-v1.19.tar.gz

[root@localhost tmp]#cd goip_install

[root@localhost goip_install]#./goip_install.sh

Starting GoIP SMS System install

Configure httpd config:

Enter the httpd config file PATH: (default: /etc/httpd/conf.d)

Default press Enter

Import GoIP Databases

Enter the Mysql root password if the password exist:

********

Enter your Mysql PATH: (default: /usr/bin/mysql)

Default press Enter

Copying file to /usr/local/goip

goipcron start

Install finish

Please restart your httpd

GoIP manager URL: http://your_ip/goip

  Как видим, в процессе установки нам необходимо указать пути к MySQL и httpd (для стандартных просто нажимаем Enter) и ввести root-пароль подключения к MySQL. В конце установки может возникнуть ошибка  «./goipcron: error while loading shared libraries: libz.so.1: cannot open shared object file or directory». В таком случае необходимо установить недостающие библиотеки:

[root@localhost]#yum install glibc.i686

[root@localhost]#yum install zlib-devel

[root@localhost]#yum install zlib.i686

[root@localhost]#yum install libgssapi_krb5.so.2

После установки пакетов запускаем goipcron:

[root@localhost]#cd /usr/local/goip

[root@localhost goip]#./run_goipcron

В результате выполнения команды мы должны увидеть надпись goipcron start (если нет, система напишет, какие еще пакеты требуют установки).

Перезапустим наш web сервер:

[root@localhost goip_install]#/etc/init.d/httpd restart

переходим по адресу http://your_ip/goip, где видим страницу авторизации (рис.1).

Asterisk SMS сервер
Рис.1

Стандартный логин: root,  пароль: root , прописываем и попадаем в настройки (рис.2).

Asterisk SMS server GoIP
Рис.2

 

Кликаем на вкладку Provider Manage и добавляем записи (рис.3).

Настройка Provide Manage SMS сервер
Рис.3

 

  Для удобства идентификации оператора связи в дальнейшем, в строке Provider мы ввели номер телефона, но это может быть любой набор букв и цифр, например Oper1 или MTS. Если у вас на шлюзе три карточки одного оператора и пять другого, тогда достаточно создать 2 значения Provider. Это как дополнительный фильтр при отправке SMS, когда перейдем к отправке все станет понятно. В строке International Tel Code можно добавить префикс к набору номера, у нас это + , вы можете добавить +38 например, все зависит от того в каком формате вы будете хранить номера. Далее переходим на вкладку GoIP Manage и на верхней панели жмем Add GoIP (рис.4).

Настройка GoIP Manage
Рис.4

 

  Создадим первый аккаунт для GoIP шлюза. Придумаем ID и пароль, выберем один из созданных ранее Provider (операторов), который будет соответствовать одной из SIM карт, установленных на шлюзе. Добавим необходимое количество аккаунтов. Каждый аккаунт будет соответствовать одной регистрации (одной линии). Как вы уже поняли, в разных аккаунтах значение Provider (оператор) может повторяться. Можно поставить галку и получать SMS сообщения на e-mail, но для этого нужно настроить smtp сервер, об этом чуть позже.

  Перейдем к настройке GoIP шлюза, для начала проверим наличие настроек подключения к SMS серверу (рис.5).

GoIP настройка SMS
Рис.5

 

Если таких настроек у вас нет, необходимо обновить прошивку (рис.6)

Обновление прошивки GoIP
Рис.6

 

  После обновления должен появиться раздел с настройками SMS, в котором необходимо прописать IP адрес сервера (в нашем случае Asterisk) и, созданные ранее, ID и пароль для каждой линии CH1,CH2,CH3 и т.д., порт можно оставить стандартный (рис.7)

 

Настройка SMS сервера GoIP
Рис.7

 

  На этом настройка шлюза закончена, возвращаемся к серверу. На вкладке GoIP Manage мы должны увидеть надпись LOGIN в каждой созданной строке — это означает, что шлюз зарегистрировался. Обновить информацию можно кнопкой Refresh (рис.8).

Регистрация GoIP на SMS сервере
Рис.8

 

  Связь между сервером и шлюзом настроена, пробежимся по остальным настройкам. В разделе System Manage у нас имеется:

System Manage, общие настройки;

Mail Report, настройка отправки почты;

GoIP CDR,  статистика звонков;

Provider Manage, добавление идентификаторов линий;

GoIP Group, создание групп для аккаунтов;

GoIP Manage, добавление аккаунтов для связи с VoIP шлюзом.

  Пришло время настроить Mail Report, чтобы сервер мог слать нам письма. (рис.9)

Отправка почты SMS сервер GoIP
Рис.9

 

  Как видим, для отправки необходимо использовать SMTP сервер, можете настроить свой или указать существующий аккаунт на одном из почтовых серверов, например yandex. Также есть возможность мониторить регистрацию шлюза. Если в течение заданного промежутка времени система находится в состояния LOGOUT, приходит уведомление на почту.

  В разделе Send Message первая вкладка Send Directly позволяет нам отправлять сообщения. (рис.10)

Отправка SMS GoIP сервер
Рис.10

Сообщение можно отправить мгновенно или в заданное время:

— определенному номеру;

— нескольким номерам;

— всем существующим контактам (раздел Receiver Manage);

— группам (настройка в разделе Crowd and Group Manage);

— загрузить файл со списком номеров, выгруженный из вашей CRM или составленный вручную (можно скачать шаблон для файла — Example, рис.11).

Загрузка номеров в SMS сервер
Рис.11

 

  Запланированные задания по отправке можно редактировать или отменить на вкладке Examine Tasks. Вкладка Inbox хранит все входящие сообщения. Остальные вкладки интуитивно понятны, поэтому подробно мы их описывать не будем. Ну и напоследок, настроим автоматическую проверку баланса денежных средств на SIM картах с уведомлением на электронную почту. Переходим в раздел Auto balance and recharge и добавляем план проверки (рис.12)

Автоматическая проверка баланса SIM карт VoIP шлюза
Рис.12

 

  Очень важно в настройках правильно указать системе, как вычленить сумму баланса из ответа USSD. Для начала просто проверьте какой ответ вам приходит от оператора на запрос о балансе. Допустим это фраза: «На вашем счету 100.00 usd , ваш тарифный план Максимальный». Ваша задача скопировать все, что находится перед суммой 100 (включая пробел) и вставить в поле Exact Ballance Prefix (USSD), остальную часть после 100 вставить в поле String for Owe (USSD). Таким образом сервер каждый раз при проверке будет извлекать сумму баланса, сравнивать её с полем Low Balance Trigger и при превышении порога отсылать уведомление на указанный e-mail. Историю отправки запросов можно посмотреть в разделе Send Message вкладка USSD Records.

На этом все, вопросы оставляйте в комментариях.

]]>
https://ctech.com.ua/asterisk-sms-server/feed/ 30
Asterisk настройка ChanSpy https://ctech.com.ua/chanspy/ https://ctech.com.ua/chanspy/#comments Mon, 20 Apr 2015 12:00:09 +0000 http://www.ctech.com.ua/?p=112   Функция ChanSpy (шпион) в Elastix (FreePBX) по умолчанию доступна на номере 555, изменить или отключить её можно в меню Feature Codes (рис.1 и рис.2). С помощью данной функции можно прослушивать текущие разговоры, для этого набираем номер 555 и система подключиться к выбранному случайным образом активному каналу. При этом мы можем воспользоваться следующими доп. функциями:

# — увеличение звука по кругу;

* — переход к следующему активному каналу, если такой имеется.

ChanSpy Asterisk
Рис.1
ChanSpy FreePBX
Рис.2

Для большинства владельцев АТС такого функционала будет вполне достаточно, кто-то и вовсе этим не пользуется. Однако далеко не все знают о всех возможностях этой функции, и в этой статье мы не просто опишем их, но и подробно рассмотрим варианты настроек с примерами.

Самый популярный вопрос от тех, кто знает об этой функции — как настроить шепот в Asterisk? Допустим у вас есть менеджер-стажер, нуждающийся в контроле. Вы хотите средствами АТС организовать подключение к его разговору с потенциальным клиентом более опытного сотрудника, который сможет слышать переговоры, подсказывать стажеру, но при этом клиент подсказки слышать не будет. Это, собственно, и есть шепот. Чтобы реализовать такой функционал, необходимо внести коррективы в конфигурационный файл extension_custom.conf. Редактировать этот файл можно из командной строки (версия asterisk должна быть выше 1.6):

$ nano /etc/asterisk/extension_custom.conf

или в web интерфейсе Elastix, раздел tools:

Elastix tools
Рис.3

Предположим, что номер у стажера 101, добавим в файл такую строку:

exten => 555101,1,ChanSpy(SIP/101,wqv(-1)

после этого сохраняем файл и делаем reload настроек.

extensions_custom.conf
Рис.4

Теперь топ-менеджер может набрать номер 555101 и подключиться к линии 101 в режиме “нашептывания”. Подключение происходит принудительно, т.е. даже если номер 101 не разговаривает, мы все равно подключаемся и слушаем “тишину”, пока не появится активный звонок. Номер 555101 может быть любым, как вы понимаете, т.е. строка:

exten => *7,1,ChanSpy(SIP/101,wqv(-1)

будет работать так же, только набирать нужно будет код *7, тут уж как вашей душе будет угодно! Таких строк можно написать несколько, допустим, у вас 3 стажера с номерами 101,102 и 103, тогда добавим такие строки:

exten => 555101,1,ChanSpy(SIP/101,wqv(-1)

exten => 555102,1,ChanSpy(SIP/102,wqv(-1)

exten => 555102,1,ChanSpy(SIP/103,wqv(-1)

Как вы заметили, мы используем ключи wqv(-1), они означают следующее:

w — режим шепота, вы слышите обоих участников, вас слышит только 101;

q — тихий режим, с этим ключом подключение не анонсируется звуковым сигналом;

v(+/-n) — громкость шепота, (-1) означает тише на один тон (диапазон от 4 до -4);

Есть и другие ключи, их можно менять и комбинировать, например:

W — частный шепот, шпион не слышит разговор, но может “прошептать” какую-то важную фразу (например офис менеджер директору);

d — режим ручного переключения между прослушиванием: 4 — прослушивание, 5 — шепот, 6 — оба канала;

b — возможность прослушивать каналы, которые имеют двух и более абонентов, соединенных между собой (аудио-конференция);

B — прослушивание и участие в обоих каналах;

g — заставляет использовать группу. Читает ${SPYGROUP} и сканирует вызовы только из этой группы;

r — позволяет записывать весь разговор.

Все остальные функции можно изучить после вывода команды:

*CLI > core show application ChanSpy

А как быть, спросите вы, если операторов в вашем call центре 50 или 200, для каждого прописывать строку довольно хлопотно, поэтому мы напишем свой контекст. Итак, давайте сделаем так, чтобы можно было набрать код + номер линии, которую хотим слушать. В файле extensions_custom.conf создадим строку include => app-custom-chanspy и в конце запишем:

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,) # определим номер и имя

exten => _555.,n,Answer # ответ

exten => _555.,n,NoCDR # без записи в CDR

exten => _555.,n,Wait(1) # задержка 1 секунда

exten => _555.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1) # описание функции

exten => _555.,n,Hangup # освобождаем линию

 

Сохраняемся и делаем reload. Теперь после набора 555 и любого номера, например 101 (т.е. набираем 555101), система подключит нас к линии 101 и, благодаря ключу d, вы сможете переключаться между режимами цифрами 4,5,6.

Если необходимо мониторить только определенные линии, например номер 200, тогда диалплан будет выглядеть так:

 

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,)

exten => _555.,n,Answer

exten => _555.,n,NoCDR

exten => _555.,n,Wait(1)

exten => _555.,n,ChanSpy(SIP/200,qdv(-1)

exten => _555.,n,Hangup

 

Таким образом, система позволит подключиться только к номеру 200, набрав 555200, остальные номера будут нам недоступны.

Чтобы разрешить пользоваться функцией только c определенных номеров, необходимо прописать:

 

[app-custom-chanspy]

exten => _555./_30X,1,Macro(user-callerid,)

exten => _555./_30X,n,Answer

exten => _555./_30X,n,NoCDR

exten => _555./_30X,n,Wait(1)

exten => _555./_30X,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _555./_30X,n,Hangup

 

в таком случае этот диалплан будет доступен только номерам 300-309, остальным же при попытке набора 555+номер будет проиграно сообщение о невозможности набора номера!

Аналогично можно сделать еще варианты:

 

exten => _555./301,1,Macro(user-callerid,) — разрешено подключаться с номера 301

exten => _555./_[23]10,1,Macro(user-callerid,) — разрешено номерам 210 и 310

exten => _555./_[3456789]XX,1,Macro(user-callerid,) — разрешено номерам 300-999

 

Для безопасности и предупреждения несанкционированных “шпионов” можно установить пароль на пользование функцией ChanSpy:

 

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,)

exten => _555.,n,Authenticate(847596)

exten => _555.,n,Answer

exten => _555.,n,NoCDR

exten => _555.,n,Wait(1)

exten => _555.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _555.,n,Hangup

 

теперь, чтобы воспользоваться функцией прослушивания, необходимо будет ввести пароль 847596. При этом необходимо помнить о том, что есть стандартный код 555, его необходимо отключить в настройках Feature Codes, либо добавить отдельно защиту на него в extension_custom.conf:

;Password Protect Channel Spy — защита паролем

exten => 555,1,Authenticate(12121,5)

exten => 555,n,Goto(app-chanspy,${EXTEN},1)

exten => 555,n,Hangup

 

Кстати, при желании на разные функции можно назначить разные коды, например:

 

[app-custom-chanspy]

; простое прослушивание

exten => _550.,1,Macro(user-callerid,)

exten => _550.,n,Answer

exten => _550.,n,NoCDR

exten => _550.,n,Wait(1)

exten => _550.,n,ChanSpy(SIP/${EXTEN:3},qv(-1)

exten => _550.,n,Hangup

 

 

; шепот

exten => _551.,1,Macro(user-callerid,)

exten => _551.,n,Answer

exten => _551.,n,NoCDR

exten => _551.,n,Wait(1)

exten => _551.,n,ChanSpy(SIP/${EXTEN:3},wqv(-1)

exten => _551.,n,Hangup

 

;оба канала

exten => _552.,1,Macro(user-callerid,)

exten => _552.,n,Answer

exten => _552.,n,NoCDR

exten => _552.,n,Wait(1)

exten => _552.,n,ChanSpy(SIP/${EXTEN:3},qBv(-1)

exten => _552.,n,Hangup

 

;ручной выбор режимов

exten => _553.,1,Macro(user-callerid,)

exten => _553.,n,Answer

exten => _553.,n,NoCDR

exten => _553.,n,Wait(1)

exten => _553.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _553.,n,Hangup

 

Если вам все же не хватает безопасности для настроенной функции, можно настроить уведомления на e-mail событий пользования chanspy. Каждый раз, когда кто-то набирает волшебный номер, вам на почту приходит уведомление кто звонил и когда. Таким образом, вы сможете мониторить использование данной функции. В составленный ранее диалплан необходимо добавить такую строку:

exten => 555,n,System(/bin/echo «Номер: ${CALLERID(num)}\nВремя вызова: ${STRFTIME(${EPOCH},,%H:%M:%S)}» | mail -s «Звонок на ChanSpy» aster@yourmail.com)

На примере это будет выглядеть так:

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,)

exten => _555.,n,Authenticate(847596)

exten => _555.,n,Answer

exten => _555.,n,NoCDR

exten => _555.,n,System(/bin/echo «Номер: ${CALLERID(num)}\nВремя вызова: ${STRFTIME(${EPOCH},,%H:%M:%S)}» | mail -s «Звонок на ChanSpy» aster@yourmail.com)

exten => _555.,n,Wait(1)

exten => _555.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _555.,n,Hangup

 

Ну вот, собственно, и все! Удачи!

 

]]>
https://ctech.com.ua/chanspy/feed/ 8