Asterisk
Оригинал: http://www.voip-info.org/tiki-index.php?page=Asterisk+introduction
как используя, так и не используяPSTN
Asterisk дает возможность в реальном времени работать как с телефонной сетью общего пользования (ТфОп — PSTN анг.), так и с VoIP сетями
- Подключить Ваших работников, работающих из дома, к офисной АТС, по широкополосным каналам связи
- Соединить офисы, вне зависимости от их удаленности, через VoIP, Интернет или через приватную IP сеть
- Ваши работники получат возможность пользоваться голосовой почтой, интегрированной с Web приложениями и E-mail
- Даст возможность создавать интерактивные голосовые меню, для доступа абонентов, например, со службой продаж или с другими подразделениями компании
- Даст возможность доступа к вашей корпоративной АТС работникам, находящимся в командировке, соединяясь с использованием VPN из гостиницы или аэропортов, где есть беспроводные WLAN точки доступа
- …и многое другое
- Музыка ожидания (Music-on-hold) для абонентов ждущих ответа в очереди вызовов, поддерживается как потоковое воспроизведение, так и проигрывание MP3 музыки
- Очереди вызовов, где агенты совместно отвечают на входящие вызовы и мониторят эти очереди
- Интеграция с системой синтеза речи (Можно обеспечить интеграцию с системой Festival)
- Ведет записи учета звонков (CDR) для интеграции с билинговыми системами
- Интеграция с системой распознавания речи (например, с Sphinx Open Source voice recognition software)
- Имеет интерфейсы для работы со стандартными телефонными линиями, а также для работы с интерфейсами ISDN BRI и PRI
Каналы — телефонные соединения с АТС
SIPIAXMGCPH.323ISDNBRIPRIДополнительная информация:
- Обзор каналов используемых в Asterisk
- Asterisk H323 channels: Канал H.323
- Asterisk IAX channels: Канал IAX Inter-Asterisk-Exchange, для соединения Asterisk серверов
- Asterisk SIP channels: Канал SIP
- Asterisk Features: Brief Explanation
Как куда звонить — план набора (dial plan)
extensions.conf
- Соединить вызывающего с голосовым ящиком, если пользователь не ответил на вызов с основного или дополнительного телефонного аппарата, например, в течении 20 секунд
- Соединить поступающий вызов с многопользовательской конференцией
- Перевести вызовы на другой сервер Asterisk
- Заблокировать вызовы от неопределенных или нежелательных абонентов
- Получить данные о звонящем, запросом из базы данных по номеру вызывающего абонента (callerID), и принять решение какая группа телефонисток (менеджеров или агентов) должна ответить на этот вызов
- Создать очереди вызовов и посадить толпу телефонисток для обслуживания входящих вызовов
Дополнительная информация:
- Asterisk config extensions.conf
- Asterisk tips and tricks
Управление сервером asterisk — manager интерфейс
- отслеживать в реальном времени, что происходит в Вашей АТС
- Отлаживать различные протоколы, при поступающих соединениях и исходящих звонках
- Просматривать активных пользователей и текущие вызовы
- Изменять данные во внутренней базе данных asterisk
- Перегружать конфигурацию без перезапуска АТС
Дополнительная информация:
- Asterisk CLI
- Asterisk GUI
Конфигурация сервера Asterisk
файлы конфигурации Asterisk/etc/asteriskДополнительная информация:
- Asterisk config files: Обзор файлов конфигурации
- Asterisk config extensions.conf: План набора — ключевая настройка всей функциональности в АТС
- Конфигурации различных каналов: sip.conf, iax.conf, mgcp.conf и т. д. …
- Конфигурации приложений: voicemail, meetme conferencing и т. д.
Дальнейшее развитие возможностей и скрипты в Asterisk
- Используя приложения в плане набора, для достижения нужного вам результата. Существует некоторое количество команд, которые помогут создать Вам нужный скрипт в плане набора, например, gotoif. Можно использовать переменные для хранения и проверки результатов, а также функции, работающие со строками, для обработки процесса вызова абонента.
- agi: Интерфейс с внешними приложениями, расширяющий возможности Вашего плана набора, при помощи приложений на любом языке программирования по Вашему усмотрению — PHP, Perl, C, Java, Unix Shell и другие
- manager: API интерфейса администрирования, с помощью которого Ваши приложения могут подсоединяться к Asterisk
- И, конечно, C API, документированное в исходный кодах
Дополнительная информация:
- Asterisk.org: Документация, IRC, bug tracker, ссылки, cvs download information
- Digium: Железки, лицензии, комерческая поддержка, ссылки на комерческих партнеров
Звонки
-
«Внешние звонки»
Покажет все звонки, поступившие извне на АТС или совершенные ее абонентами вовне. Делится на входящие и исходящие и позволяет искать звонки по очередям и/или группам.
Помимо очереди(ей), в фильтре для входящих можно выбрать группу (например, если в диалплане после Queue() идет Dial(), то звонки тоже найдутся).
В дополнение к основным фильтрам: дата, очередь(и) и/или группа, под спойлером есть еще ряд дополнительных. Вот как это выглядит:
Переключим плашку Звонки: вверху страницы на «Исходящие»
Фильтр несколько отличается, но в целом все тоже самое.
Также отмечу, что дополнительные фильтры могут искать звонки как по внутреннему номеру абонента так и по его ФИО (соответствие ФИО номеру задается в «Настройки — Номера — Внутренние», расскажу чуть позже) -
«Внутренние звонки»
Отчет найдет вам все звонки между внутренними номерами, т.е. абонентами АТС.
Подробно останавливаться не стану, думаю здесь все ясно. -
«Пропущенные звонки»
Это табличное исполнение отчета «Главная — Общая» в части пропущенных вызовов, т.е. покажет: кто/куда/во сколько вам позвонил и остался без ответа. -
«Позвонили впервые»
— А кто нам звонил впервые за указанный период времени (т.е. вообще когда-либо покуда ведется БД звонков с учетом выбранного периода)?
— А вот кто (скрин снова под спойлером).
Как и во всех табличных отчетах, мы видим:
дату звонка, кто из сотрудников ответил, номер звонящего и наш городской, длительность и прочие данные.
FAQ«Звонки»
Настройки
- «Основные»Путь к файлам записей разговоров, ваш логотип, отображать ли статус АТС, и прочие настройки разместились здесь. Также, внизу страницы, найдутся демон для синхронизации данных АТС в облачную версии и инструкция по его настройке.
-
«Номера»
-
«Внешние»
На этой страничке нужно внести все ваши «городские» номера и понятную легенду (например, «Москва», «Питер», «Реклама» и т.д.) для них. -
«Внутренние»
Началом работы с настройкой служит кнопка «Загрузить номера из БД».
Она подтянет соответствие внутренний_номер <-> callerid из базы данных (в запросе используются все звонки за последний год).
Далее список ведется вручную, вы можете исправить его, дополнить, а также задать пароль для каждого сотрудника, дабы он мог авторизоваться и посмотреть свои звонки.
-
«Внешние»
-
«Группы»
Группировать внутренние номера полезно в случае, если их очень много или нужно разделение, например, на отделы или смены. Список всех групп выглядит следующим образом:
Добавлять/удалять сотрудников можно по одному, используя мультиселект (ctrl/cmd + ЛКМ):
и поиск: -
«Супервизоры»
Именно здесь администратор редактирует список супервизоров и назначает им доступ к отчетам групп и очередей.
Меню настройки супервизора похоже на настройку групп, есть все те же возможности.
Вот как оно выглядит: -
«Комментарии»
Внесите необходимые комментарии, и после сможете выставить один из них для любого звонка в группе табличных отчетов.
Что мы умеем сегодня
- Прослушивать и скачивать записи совершенных вызовов
(причем скачать можно все записи, найденные по фильтру поиска, одним архивом). - Отслеживать качество отработки звонков, оценивать их эффективность
(кто сколько принял/пропустил/совершил звонков; их продолжительность). - Создавать группы внутренних номеров и просматривать отчеты в разрезе этих групп
(для исходящих вызовов, в отчетах по входящим абоненты группируются посредством очередей Asterisk). - Предоставлять каждому супервизору доступ к группам и очередям, отчеты которых он может просматривать.
- Смотреть статистику входящих звонков в разрезе каждого «внешнего» номера
(сколько входящих за период было по каждому номеру, сколько принято/пропущено). - Просматривать подробные журналы внешних, внутренних и пропущенных звонков, а также журнал позвонивших вам впервые (табличные отчеты с гибким фильтром поиска).
- Экспортировать все отчеты в Excel.
- Добавлять комментарии к звонкам (в табличных отчетах).
- Осуществлять мониторинг АТС
(мы интегрировали наш сервис с zabbix и отправим вам email/sms в случае обнаружения проблем). - Оценить время работы и перерывов каждого оператора очереди за выбранный период.
- Добавить логотип вашей компании
(на страничку авторизации и в хедер для локальной версии и только в хедер для облачной). - Задать любой вопрос support’у прямо из интерфейса.
- Смотреть разбивку по количеству входящих и исходящих звонков по областям/краям и прочим субъектам РФ на Яндекс.Карте.
Road map
Пользуйтесь автодополнением астериска
Теоретически, это не совсем относится к диагностике asterisk, но по факту, значительно ускоряет процесс диагностики (если знать об этой возможности).
Дело в том, что в командной строке астериска широко используется автодополнение команд (и параметров!). Набрав команду (или любой ее фрагмент), нажмите клавишу Tab (или знак вопроса — «?») — и asterisk предложит варианты дополнений. Если вариант только один, он сразу дополнит команду. Если несколько — отобразит список вариантов. Достаточно дописать еще несколько букв к команде, чтобы однозначно выбрать нужный Вам вариант — и снова нажимайте клавишу Tab.
Особенно полезно это в случае (например) отображения информации о каком-либо канале:<нажимаем Tab> <набираем пару символов с названием нужного нам канала> <снова нажимаем Tab>
Asterisk. Голосовое меню своими руками
Всем привет. Постараюсь без нудятины рассказать о том, как создать голосовое меню приветствие на Asterisk.
Буду рассказывать на своем примере голосового меню. У меня оно было следующего вида:
Здравствуйте! Вы позвонили в КОМПАНИЮ, выберите пункт меню, введите внутренний номер или дождитесь ответа секретаря
- один — первый отдел
- два — второй отдел
- …
- шесть — шестой отдел
- для повтора нажмите НОЛЬ
При этом если человек ничего не вводил его должно было перенаправить на секретаря, если человек ввел не то что надо, его тоже перенаправляет на секретаря.
Я разворачивал свой Asterisk в связке с CentOS. На самом деле это не имеет особого значения, но решил все же уточнить.
И так, на момент чтения этой статьи у Вас должно быть следующее:
- установленный Asterisk
- настроена минимальная маршрутизация звонков в extensions.conf
- и как минимум пара внутренних номеров настроенных в sip.conf
Настройка голосового меню для Asterisk
Создаем файл company.tree в корне папки Asterisk. В этом файле будет прописан алгоритм работы голосового меню.
Идем в extensions.conf и в самое начало файла вставляем следующее
#include «company.tree»
этим самым мы подгружаем недавно созданный файл в общий план маршрутизации Asterisk. Там же в extensions.conf ищем где у вас настроены входящие звонки (у меня раздел назван , у вас может быть другое название) и вставляем в самое начало следующую строчку
exten => 84951234567,1,Goto(company_tree,s,1)
здесь вместо 84951234567 указываете Ваш внешний номер при звонке на который будет проигрываться голосовое меню. В моем же случае я просто указывал свой SIP-идентификатор, под которым зарегистрирован у провайдера. Если кратко, то Asterisk переведет нас в контекст company_tree на первую строку «s», который находится в файле company.tree, который мы благополучно подгрузили в общий план маршрутизации выше.
Теперь переходим в файл company.tree и заполняем наш алгоритм голосового меню. Ниже весь код с комментариями:
На этом все. Голосовое меню c приветствием для Asterisk настроено. Осталось только перезагрузить план обзвона из консоли
asterisk -r dialplan reload
Аудиофайлы для голосового меню в Asterisk
Выше в структуре файла company.tree есть строчка
exten => s,2,Background(/etc/IVR/menu)
здесь
- Background — это команда на проигрывание фоном вашей записи
- /etc/IVR/ — путь для папки с аудиофайлом
- menu — название самой записи. Указывается без расширения. Астер сам знает какой файл забрать.
Конвертация WAV в ULAW
В консоли вашей ОС Linux пишем следующее
sox -V /etc/IVR/menu.wav -r 8000 -c 1 -t ul /etc/IVR/menu.ulaw
здесь
- /etc/IVR/menu.wav — полный путь до вашего файла с расширением, который нужно конвертировать
- /etc/IVR/menu.ulaw — полный путь и имя файла с расширением, который получите на выходе
После выполнения команды увидите примерно следующее
Качаете WinSCP с ОФИЦИАЛЬНОГО САЙТА При запуске создаете новое подключение к вашему Linux и далее увидите что-то на подобие интерфейса TotalCommander. Ну а дальше копирует файлы, создаете папки и так далее. В моем случае я создал папку IVR в каталоге etc где у меня и лежит мое голосовое меню.
Попытался кратко резюмировать то, что нарыл в интернете, когда разбирался с настройкой голосового меню для Asterisk. В итоге Вам представлена рабочая схема, которой можете пользоваться
Спасибо за внимание