Рубрика «asterisk» - 16

В Asterisk версии 12 появился REST интерфейс (Asterisk REST Interface — ARI).

Да, это RESTful API в натуре.

Пока имеются следующие ресурсы:

  • Asterisk
  • Bridges
  • Channels
  • Endpoints
  • Events
  • Recordings
  • Sounds
  • Applications
  • Playbacks
  • Devicestates
  • Mailboxes

Или, интерфейсы к Каналам, Девайсам, Бриджам, Записям, Звукам. Вероятно, будут наращивать мощности :-)

Ну и главная фишка, это возможность подключения через WebSocket на /ari/events и в режиме постоянного соединения получать события.
В отличие от AMI, тут гуляют объекты в JSON формате, и работать с событиями крайне удобно.
Например, оригинация звонка выглядит так: Читать полностью »

Предисловие

В прошлом году компания, в которой я работаю, стала активно переходить на IP-телефонию. Для этих целей был использован дистрибутив FreePBX. Опыта работы с телефонией практически не было, поэтому проблем было много. Всего у нас используется 2 сервера FreePBX, примерно по 30 транков на каждом. Некоторые транки ведут себя не очень хорошо и порой теряют регистрацию. Поэтому возникла необходимость мониторить состояние регистрации, чтобы узнавать о неработающей телефонии раньше пользователей.
Для мониторинга IT-инфраструктуры мы уже давно используем Zabbix. Заводить элементы данных на каждый транк (т.е. около 60) — задача нудная, утомительная и неинтересная. Кроме того, надо постоянно следить за списком транков в мониторинге и актуализировать его. Поэтому, решено было использовать одну из самых интересных особенностей этой системы мониторинга — низкоуровневое обнаружение. Итак, что было сделано.
Читать полностью »

Задача: Настроить телефоны (или любой другой абонентский девайс) автоматически на основе MAC-адреса, желательно не доставая устройство из коробки.

Идея централизованной настройки абонентских устройств давно была у меня и, наконец, нашла свою реализацию в одном из проектов. Видео в конце поста.
Практически все (Cisco, Polycom, D-Link, Escene) IP-телефоны, с которыми мне доводилось встречаться, в том или ином виде поддерживают централизованную настройку с сервера, т.е. Auto-Provisioning по нашему автопровизия. В данном случае рассмотрен пример с телефонами Polycom, но по сути, аналогичный подход позволит настроить любой телефон с определенными корректировками.

Как это работает (про Polycom)?

Телефон по умолчанию настроен на получение IP-адреса по DHCP, помимо самого адреса телефон получает от DHCP ряд опций в числе которых обычно указываются шлюз, маска сети и DNS- сервер, кроме того можно указать SNTP-сервер и еще много чего. Polycom’ы смотрят по умолчанию в опцию 66 и 160, там они пытаются найти адрес/имя сервера автопровизии. Если телефон обнаруживает адрес сервера, он пытается подключиться к нему по уполчанию через FTP (поддерживает еще HTTP, HTTPS, TFTP), используя в качестве логина и пароля:

Username PlcmSpIp
Password PlcmSpIp

Телефон запрашивает у сервера версию (файл sip.ver) и сами файлы прошивки и конфигурационные файлы. Телефон выкачивает новую прошивку, обновляется, затем после перезагрузки снова обращается к серверу, видит, что ПО не требует обновления, скачивает и применяет конфигурационные файлы в формате XML. В общем случае аппарат запрашивает следующие файлы.
Читать полностью »

Многие при внедрении IP-телефонии в компании сталкиваются с необходимостью модернизировать существующую телекоммуникационную инфраструктуру. Такая задача перед нами встала на одном из проектов: на бурном обсуждении с заказчиком архитектуры решения не на шутку сошлись AudioCodes и Asterisk.

Читать полностью »

Недавно в компании сменили IP-телефоны. На замену gigaset'ам пришли cisco SPA504G и cisco SPA303. В телефонии я не специалист, поэтому режим dnd (Do not Disturb) был для меня новинкой. Новинка быстро прижилась в компании. Но вот незадача: телефон при переключении режимов никоем образом не уведомляет сервер. Звонок на недоступный телефон заканчивался статусом «занято». Звонящему оставалось гадать — разговаривает абонент сейчас по телефону или его нет на месте. Вот эту проблему я решил исправить. Читать полностью »

В прошлом посте мы делали систему голосового самообслуживания, сейчас для того же клиента делаем систему оповещения о задолженности. По условию тех задания система должна:

  • Воспроизвести заранее записанный файл
  • Произнести персонализированную задолженность пользователя
  • Соединить с оператором при желании пользователя
  • Иметь веб интерфейс и статистику

Читать полностью »

В первой части мы установили MySQL и собрали Астериск из исходников с поддержкой res_config_mysql (Asterisk Realtime Architecture)

Настройка DHCP-сервера

У меня в двух рабочих средах развёрнуты разные DHCP-серверы, покажу настройки для трёх самых (имхо) популярных: Windows Server DHCP, Mikrotik, DNSMasq
Читать полностью »

Исходные данные

Итак, у нас есть желание развернуть офисную телефонию на Астериске.
Отличное желание, прекрасное open-source решение.

OS: Centos 6.5 64-bit
PBX Version: Последний стабильный релиз из SVN (в данный момент это Asterisk SVN-branch-12-r409131)
Телефоны: Тут выбор пал на Cisco SPA504G (для SMB-сегмента рынка)

Читать полностью »

Предисловие

Данная статья посвящена вопросу интеграции CRM-систем с серверами телефонии на базе Asterisk.
В статье не рассматриваются вопросы, связанные с настройкой сервера Asterisk или нюансами работы CRM-систем, рассматриваются лишь общие варианты организации взаимодействия со всеми их плюсами и минусами.

Введение

Как компании «доходят» до разработки CRM «под себя» и собственной телефонии — вопрос скорее политический и бизнесовый, чем технический, поэтому на вопросы «зачем» ответов дать не смогу. Но факт остаётся фактом — в один прекрасный день нам понадобилось решение, способное обеспечить взаимодействие телефонной части с CRM.

Исходные данные:

  • 2 колл-центра (далее — КЦ) на большом расстоянии (один в РФ, второй, скажем, в Эстонии)
  • порядка 500 одновременно работающих операторов в каждом (входящие и исходящие звонки)
  • одна точка входа (для простоты считайте, что сервер CRM всего один)
  • оба КЦ обрабатывают звонки по РФ
  • у каждого КЦ — свой сервер Asterisk (для простоты будем считать, что все Asterisk настроены и в полностью рабочем режиме)
  • CRM является client-server приложением с web-мордой

Читать полностью »

Web интерфейс прослушивания записей звонков Asterisk
Поисковые системы выдают огромное количество результатов разной полезности на запрос вынесеный в заголовок.
На Хабрахабре такой статьи не нашел, а значит её нужно написать!
За основу я взял проект asterisk cdr viewer.
Перевел язык web интерфейса на великий могучий и «озвучил» его, т.е. добавил возможность прослушивать файлы записей разговоров в браузере, а так же скачивать их.
Количество полей фильтра сокращено до минимума, остались только самые необходимые.
Скриншоты, сорцы и подробное описание инсталяции уютно разместились под хабракатом.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js