Метка «asterisk»

Установка требуемого ПО и зависимостей:

apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server
    mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox
    libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3
    libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev
    libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev
    libspandsp-dev sudo libmyodbc subversion vim mc autotools-dev libtool-bin python-pyrex

Не забудьте установленный вами пароль для mysql
Доставляем нужные зависимости:

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

По итогу голосования в группе начинаю цикл статей «Asterisk realtime» и первая статья будет посвящена func_odbc или как упростить свою жизнь.

Статья рассчитана на людей которые уже пользуются asterisk и имеют «базовые» навыки.
Читать полностью »

Имея сравнительно небольшой опыт работы с PBX Asterisk и не имея практического опыта работы с OTRS, я некоторое время доводил интеграцию этих систем до ума. Первая документация по интеграции, которую мне доводилось прочесть, использовала старую версию OTRS и работала через SOAP интерфейс. Это конечно меня не радовало и я продолжил поиск уже по документации OTRS. Как оказалась данная система кроме SOAP имеет и REST API. Который я как раз и использовал. Я не стану рассказывать, как настраивается OTRS и Asterisk, и расскажу про сам процесс интеграции.

Со стороны Asterisk будет использоваться AGI интерфейс для работы с внешним скриптом, экстеншены будут написаны на AEL. Я не много пишу на ruby, по этому мой выбор пал именно на этот язык программирования.
Читать полностью »

В 2012 году на Хабре был опубликован пост об организации системы оценки операторов. Весьма полезный материал. Руководствуясь оным, попробовал реализовать такую функцию у себя. Структуру БД оставил такую же, как в примере, с полями для идентификации звонящего, взявшего звонок, очереди, оценки и времени внесения записи. Работает все на Elastix, потому что есть некоторые особенности, связанные с требованием не вмешиваться в дефолтные конфигурационные файлы.

Во-первых, после того, как звонящий оценит, подтвердить факт оценки, ибо, если человек жмет кнопку, а потом следует молчание, это вызывает некоторое недоумение.
Во-вторых, нужно было реализовать оценки в привычный всем пятибалльный вариант. Хотя, как оказалось, не самая удачная идея.

Соответственно, в extensions_custom.conf вписываем это в виде отдельного контекста, для корректной очередности обработки экстеншенов астериском.
Читать полностью »

Не большая предыстория

На работе периодически приходится перехватывать вызовы, что в принципе не беда. Но бывает, что необходимо потом перезвонить тому, кто звонил.
Номер соответственно у меня не высветился и обычно приходится лезть в cdr'ки в mysql или подойти к телефону напарника и искать номер телефона.
Можно в принципе попросить напарника включать переадресацию на телефонном аппарате, но уходит он на пару минут, да и мы не ищем легких путей.

Итак, что мы имеем: офисная АТС на Asterisk (версия = 1.8.15.1), реализована функция перехвата вызова и уведомлений о звонке через jabber.

Информации по поводу настройки перехвата вызова, отправки уведомлений c помощью jabber достаточно в просторах интернета, так что сразу опишу о реализации получения уведомления при перехвате вызова.
Читать полностью »

Доброго времени суток всем!

Я уже писал о своем опыте работы с WebRTC тут, но учитывая то, что в последнее время всё больше статей на эту тему появляется на хабре и то, что я давно хотел написать о том, как мы добились стабильной работы SIP телефонии через WebRTC на продашне, я решил написать через что мы прошли.

А прошли мы через многое: боль, панику, истерики, кучу матов и пожелания добра мейнтейнерам.
Сейчас же это всё в прошлом. Мы избавились от всех костылей, которые мы делали, и сделали так, чтобы операторы звонили и всё работало стабильно.
В статье, я как можно подробнее описал все проблемы, с которыми мы сталкивались, используя как можно меньше кода и конфигов.

Кому интересно, прошу под кат.
Читать полностью »

Распознавание речи в Asterisk с использованием Yandex SpeechKit HTTP API

Статья написана по мотивам Синтез и распознавание речи от Google для Asterisk, с не большими изменениями. Для распознавания речи используется платформа Yandex SpeechKit HTTP API.
Читать полностью »

В 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) — задача нудная, утомительная и неинтересная. Кроме того, надо постоянно следить за списком транков в мониторинге и актуализировать его. Поэтому, решено было использовать одну из самых интересных особенностей этой системы мониторинга — низкоуровневое обнаружение. Итак, что было сделано.
Читать полностью »

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

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