Астерикс программа. IP АТС Asterisk - принципы работы и варианты использования

Электроника 19.06.2020
Электроника

Внедрение Asterisk - современное решение для создания IP телефонии на предприятии. Что значит IP телефония и почему современные предприятия не могут обойтись без нее?

IP телефония - это вид коммуникации, осуществляемой через всемирную сеть Интернет. Все вместе представляет систему программных и аппаратных средств, поддерживающих протокол IP. Говоря более простым языком, этот вид связи обеспечивает передачу данных (звук, изображение) по Интернету. Услуги IP-телефонии позволяют объединить в единую сеть все каналы посредством общей АТС, получать объективную оценку аналитики, маршрутизацию звонков. Связь через сеть лимитируется поставщиком услуг и стоит в разы дешевле.

В чем еще преимущество связи? Безопасность! Протоколы защищены, разговор по защищенной IP-линии невозможно прослушать.

Что значит Asterisk

Asterisk - готовая система для организации IP телефонии, которая полностью обеспечивает функции привычной АТС:

  • Прием входящих звонков.
  • Распределение вызовов по внутренним номерам.
  • Автоответчик и IVR меню.
  • Прием факсов.
  • Запись, прослушивание звонков.
  • Создание конференций и другое.

АТС Asterisk обладает расширенными возможностями, рассчитана на большее количество абонентов и проще в обслуживании.

Астерикс с легкостью примет и перешлет, а также сделает исходящий голосовой вызов. Передача данных проходит через VOIP - устройства для передачи данных между сетью интернет и другими видами связи (мобильная, стационарная).

Почему Asterisk так популярен

Существуют и другие компании, занимающиеся решениями IP телефонии. Но Asterisk вышел на рынок связи с принципиально новым решением - исходный код, разработанный компанией Digium, был открыт. А это означает бесплатное пользование программным продуктом.

Марк Спенсер, разработчик кода, предложил пользователям систем Линукс, FreeBSD, OpenBSD и другим пользоваться продуктом свободно. Сеть Интернет столь велика, что каждому найдется место, и когда появляется бесплатная возможность - предпочтение отдается ему.

Чтобы запустить работу IP-телефонии, достаточно обладать только программой. Это комплекс, в который входит соответствующий программный продукт, а специальное дополнительное оборудование не нужно. Установка занимает время и требует работу специалиста.

Внедрение Asterisk на предприятии

Внедрение Asterisk - состоит из нескольких этапов:

  1. Формируются технические требования к телефонии
  2. Подбирается мощность и конфигурация сервера, на котором будут установлены база данных и серверная часть программного обеспечения. Расчет идет из предполагаемой нагрузки. Настройка и конфигурирование сервера проводится специалистами компании.
  3. Приобретение внешних телефонных линий (SIP номеров).
  4. Настройка системы:
  • Внутренние номера.
  • Для связи с мобильными операторами устанавливается и настраивается шлюз GSM/VoIP. Это оборудование и программное обеспечение для состыковки IP-телефонии с мобильной и стационарной связью
  • Специалист настраивает запись звонков. Функция необходима для ведения записи всех переговоров с возможностью их воспроизведения. Для этого создается хранилище на сервере, где будет храниться база аудио-записей.
  • Настройка сценариев «Нет на месте», «Все операторы заняты», «Не рабочее время». Определяется индивидуально по заказу клиента
  • Настройка функций, определяемых программой и осуществляющих работу виртуальной АТС - конференции, вызов из скайпа, очередность, прослушивание звонков, принятие и отправка факсов, настройка «черного списка» и многое другое.

Провести такой объем работ могут только квалифицированные специалисты. Наша компания обеспечивает и предлагает полный сервис - установку и конфигурирование систем Asterisk на предприятиях заказчика - на выгодных условиях, с гарантией сервиса.

Зачем это нужно

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

  • Покупка оборудования - сервер, маршрутизатор, шлюзы GSM/VoIP, телефонные аппараты для IP-связи.
  • Оплата разового конфигурирования и настройки специалистами компании-поставщика.

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

Каждое решение, предлагаемое нашей компанией, индивидуально. Наш специалист подберет оборудование, согласно задачам организации. Не придется платить лишнее и переплачивать за ненужные услуги. Каждый этап настройки обговаривается с заказчиком и находится оптимальное решение.

Сроки и выполнение зависят от конфигурации серверов и сложности настроек. Результат работы - полноценная и многофункциональная связь со всеми отделениями, клиентами и сотрудниками. Новый уровень связи выводит бизнес на высокий уровень отношений внутри коллектива и с клиентами.

Виды работ по настройке телефонии производимые нашими специалистами

  • Установка и настройка сервера, Установка серверного ПО для управления IP телефонией.
  • Настройка внутреннего номера
  • Настройка записи звонков
  • Регистрация SIP линии
  • Настройка GSM шлюза
  • Настройка VoIP шлюза
  • Настройка IVR меню
  • Сценарий «Нет на месте»
  • Сценарий «Все операторы заняты»
  • Сценарий «Не рабочее время»
  • Очередь звонков
  • Настройка конференции
  • Звонки на SKYPE
  • Парковка звонка
  • Прослушивание разговоров
  • Вторжение в разговор
  • Голосовая почта с отправкой на почту
  • Удалённый доступ с обратным вызовом callback
  • Отправка факса
  • Чёрный список

Термины IP телефонии

VOIP Шлюз - Оборудование, предназначенное для перевода аналогового телефонного сигнала в цифровой сигнал. (VoIP)
GSM Шлюз - Оборудование предназначенное для подключения SIM карт мобильных операторов к аналоговой линни.
GSM-VoIP шлюз - Оборудование предназначенное для подключения SIM карт мобильных операторов к IP линии.
IP линия - Это линия между сервером и клиентом, по которой сигнал передается по протоколу SIP.
Внутренний номер - Внутренний номер сотрудника на который он будет принимать звонки

Базовые функции

  1. Перевод вызовов (англ. Transfer):

    Функция "Перевод вызова" позволяет переводить вызов на другого абонента. Переводы вызова подразделяются:

    • Перевод на внутренних абонентов. Под внутренними абонентами понимаются телефонные номера данной телефонной станции (например, 100,101,102…1000,1001,1002).
    • Перевод на внешних абонентов. Под внешними абонентами понимаются телефонные номера телефонной сети общего пользования, далее “ТфОП” (например, городские номера 495, 499, номера мобильных операторов и т.д.).

    Перевод вызова настраивается любым удобным для клиента способом (например, <## + №абонента>), выполняется с телефона. Перевод вызова может быть настроен и выполнен "с подтверждением" и "без подтверждения" со стороны принимающего абонента.

  2. Переадресация вызовов (англ. Forwarding):

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

    • Безусловная переадресация. Все звонки, поступающие на номер, автоматически отправляются на другой телефон
    • Переадресация по занятости. Звонок переадресовывается на другой номер, только если линия вызываемого абонента занята
    • Переадресация по отсутствию ответа. Звонок переадресовывается на другой номер в случае отсутствия ответа текущего номера в течение определенного заданного промежутка времени.
    • Переадресация в случае недоступности канала (абонента IP PBX Asterisk). Звонок переадресовывается на другой номер в случае невозможности установить соединение с текущим номером

    Данная функция может работать как автоматически, так и определяться клиентом вручную (он сам может менять тип переадресации и номер для переадресации, а также время неответа).

  3. Перехват вызовов (англ. Pickup):

    Перехват вызовов – это возможность перехватывать звонки, идущие на другой телефонный номер. Перехват также как и переадресация настраивается любым удобным для клиента способом (например, <00>, <*40> ).
    Перехват можно настроить как по группам, так и направленный.
    Ненаправленный перехват - абоненты назначаются в группы (например, отдел продаж или отдел снабжения) и могут перехватывать вызовы в пределах данной группы.
    Направленный перехват. Например, набрав определенную при настройке IP PBX Asterisk комбинацию **111, Вы перехватываете звонок на своем аппарате именно с внутреннего номера 111.

  4. Постановка звонка на удержание (англ. Hold):

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

  5. Голосовая почта (англ. Voicemail)

    Данная функция позволяет записывать, прослушивать и отправлять на почту голосовые сообщения, оставленные абонентами. Голосовую почту можно настроить как общую для компании, так и персонально для внутренних абонентов.

  6. Планы набора (англ. DialPlan):

    Правила набора номеров удобные для клиента для совершения исходящих звонков. К примеру, если клиент хочет набирать телефонные номера через “9” или “0”, если клиент хочет звонить в Москву без кода “495”, и так далее.
    Планы набора настраиваются индивидуально для каждого клиента.

  7. Конференция (англ. Conference):

    Данная функция позволяет подключаться к голосовой конференции, как внутренних абонентов телефонной станции, так и внешних (из ТфОП). Для подключения в конференции можно настроить пароль для нее, количество членов конференции, вывод голосовых сообщений о подключении/отключении участников к конференции.

  8. Постановка звонка в очередь (англ. Queue):

    Данная функция при определенном сценарии развития звонка (например, вызываемый абонент занят или не отвечает) позволяет перемещать абонента в очередь (похоже на удержание, только в автоматическом режиме), где абонент будет ожидать ответа на звонок. При этом он будет слушать музыку. При желании можно включить оповещение о позиции в очереди. Для очередей назначаются их участники, то есть операторы, на которых будут поступать вызовы из очередей. Эти участники могут назначаться, как фиксировано, так и подключаться динамически (например, с использованием паролей для входа и выхода в/из очередей).
    Как и в случае с удержанием звонка можно назначать свои мелодии, которые абонент будет прослушивать в очереди. Отдельно может настраиваться стратегия распределения звонков из очереди.

  9. Парковка вызова (англ. Park):

    Парковка вызова частный случай переадресации вызова, с той разницей, что абонент Б переводит звонок на виртуальный номер (по умолчанию 700), при этом абонент А занимает “свою позицию” (по умолчанию от 702 до 720), ставится на удержание и этот номер проговаривается абоненту Б (например, абонент А получил номер 711). Абонент Б сообщает этот номер абоненту С, и когда он наберет 711, то заберет абонента А из парковки.
    Для парковки вызова также настраивается время в течении которого абонент в ней будет находиться. Если по истечении заданного времени абонент C не заберет звонок, находящийся на удержании, то звонок вернется на абонента Б.

  10. Прослушивание активных звонков (англ. ChanSpy):

    Данная функция позволяет в режиме online прослушивать активные разговоры (то есть подключаться к ним), при этом участники этого разговора об этом не узнают.
    Может быть полезно при использовании в call-центрах, для контроля агентов через телефон.

  11. Группы абонентов (англ. Ringroups):

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

  12. Интерактивное голосовое меню (англ. IVR):

    Эта функция определяет голосовое приветствие с возможностью донабора внутреннего номера абонента, набора номера для перехода в определенный сценарий (например, голосовая почта, группа абонентов, отправка факса и т.д.).
    Количество переходов меню не ограничено, определяется совместно с клиентом. Голосовые приветствия могут записать как клиент, так и Мультиком. Звуковые файлы (кроме стандартных) в общем случае предоставляются клиентом.

  13. Повтор последнего набранного номера (англ. Redial):

    Позволяет набрать последний набранный на этом аппарате ранее номер телефона.

  14. Вызов последнего поступившего звонка (англ. Recall):

    Позволяет набрать номер телефона, с которого поступил последний входящий вызов.

  15. Определение номера (Caller ID):

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

  16. Уведомление о поступлении нового вызова (call waiting):

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

  17. Запись информации о звонках (Call Detail Records, CDR):

    Сохранение записей о сделанных звонках в административном Web-интерфейсе для дальнейшего анализа, тарификации.

  18. Различные алгоритмы обработки звонков в зависимости от даты и времени и временные ограничения доступа:

Дополнительные функции

  1. Обратный звонок (англ. CallBack):

    Телефонная услуга, позволяющая клиенту заказать соединение с нужным абонентом таким образом, чтобы звонок был входящим для них обоих.

  2. Запись разговоров (англ. CallRecord):

    Записывание всех или только определенных разговоров в файлы. Для клиентов отдельно создается личный кабинет (web-интерфейс) для просмотра, прослушивания или скачивания этих файлов.
    В web-интерфейсе доступен фильтр по дате звонка, номеру абонентов, и другим параметрам.
    В имени файла указывается дата звонка и номера абонентов. С клиентом так же определяется время хранения этих файлов и за отсчетный период старые записи автоматически удаляются.

  3. Прием факсов и отправка их на почту:

    Данная функция работает с доменными имена (желательно их наличие у клиента, иначе письма будут уходить в СПАМ).
    Работает следующим образом: в IP PBX Asterisk назначается определенный виртуальный номер (например-555) и после его набора в линии включаются сигналы факса.
    Далее в автоматическом режиме принимает факс в файл формата.tiff и отправляет его на указанные почтовые ящики клиента.

  4. Настройка транков с другими провайдерами:

    К Астериску можно подключать линии/транки от других провайдеров. Возможности подключения:

    • SIP/H.323 транк
    • Потоки E1(необходимо приобретать и доустанавливать потоковые платы)
    • Голосовые шлюзы FXO
  5. Черные и белые списки для звонков:

    В Астериск заложена функция CallerID (она позволяет получить номер вызывающего абонента). Благодаря ей можно создавать белые и черные списки, как для исходящих звонков, так и для входящих, а так же распределять звонки от определенных абонентов по определенному сценарию.

На просторах Интернет можно найти много инструкций по . И они помогают настраивать и управлять АТС в большинстве случаев. Но гораздо больше возможностей дает настройка «чистого» Asterisk.

В статье мы сделаем базовую настройку Asterisk через конфигурационные файлы. Предполагается, что у нас уже установлена и первоначально настроена ОС, скачены и установлены модули dahdi, libpri, iax2, необходимые голосовые файлы и кодеки и проинсталлирован Asterisk.

Если вы еще не ничего не установили, то посмотрите в нашей статье

А еще вам понадобится для трассировки и отладки SIP-сообщений. Погнали?

Теория

Итак, приступаем к внедрению Asterisk . Структура используемых Астериском директорий следующая:

  • /usr/lib64/asterisk/modules – тут находятся загружаемые модули;
  • /var/log/asterisk – тут находятся лог-файлы, в том числе и лог звонков (если не настроено другое);
  • /var/spool/asterisk – тут находятся подпапки, в которых находятся бэкапы, записи разговоров, голосовая почта, факсы и так далее;
  • /var/lib/asterisk – тут находятся подпапки, в которых находятся звуковые файлы для музыки на удержании, звуковые файлы для выбранных языков (например для проигрывания голосовых сообщений в IVR), записанные голосовые сообщения для приветствия и так далее.

Конфигурационные файлы находятся в папке /etc/asterisk. Для работы каждого модуля Asterisk необходим конфигурационный файл. Эти файлы (с расширением.conf), содержат определения каналов, описывают различные внутренние сервисы, определяют местоположения других модулей, устанавливают связь с диалпланом. Необязательно настраивать все файлы. Требуют настройки только те, которые необходимы для вашей конфигурации.

Основные конфигурационные файлы:

  • asterisk.conf – определяет глобальные параметры, директории и опции для запуска Asterisk;
  • cdr.conf – определяет настройки для записи параметров вызовов в файл или базу данных;
  • sip.conf – определяет настройки для использования SIP-протокола (как общие, так и параметры для регистрации провайдеров, внутренних пользователей и так далее);
  • rtp.conf – определяет порты для голоса (RTP);
  • iax.conf – определяет настройки для использования IAX-протокола (как общие, так и параметры для регистрации провайдеров, внутренних пользователей и так далее);
  • extensions.conf – основной файл, в котором описывается весь диалплан, то есть правила обработки всех вызовов;
  • features.conf – описывает дополнительные функции (переадресации, парковка вызова, включение записи по запросу и так далее);
  • logger.conf – определяет тип и детальность сообщений, записываемых в файлы журналов;
  • modules.conf – определяет какие модули будут или наоборот не будут загружаться при запуске Asterisk;
  • musiconhold.conf – используется для конфигурации разных классов музыки, используемых в приложениях музыки во время ожидания, и их местоположений;

Напомним, что это только часть конфигурационных файлов. Необходимые файлы можно добавлять в любой момент по мере необходимости. Примеры и содержание таких файлов можно найти в архиве по кнопке ниже:

Скачать архив

Сразу после установки asterisk, если не была выбрана установка базовой конфигурации, в ней нет ни одного файла.

Для подключения к asterisk в режиме командной строки необходимо ввести

Asterisk –rvvvvv

  • r – подключение к уже запущенному процессу;
  • vvvvv – уровень логирования, то есть вывода информации (от слова verbose - v). Чем больше v выставляем, тем более детальная информация будет выдаваться в командную строку;

Создаем и редактируем необходимые файлы

Начнем с файла asterisk.conf :


  • (!) – указываем расположение необходимых директорий. Знаком (!) указывается признак шаблона. В шаблоне указываются общие настройки, на которые можно ссылаться дальше.
  • – указываем необходимые опции, одна из необходимых maxcalls указывает на количество одновременных вызовов, разрешенных на Asterisk;
    • transmit_silence_during_record = yes - передавать тишину SLINEAR во время записи канала;
    • languageprefix = yes | no - Должен ли код языка быть последним или первым компонентом имени звукового файла? Если выключен, поиск звуковых файлов ведется в формате // Если включен, поиск ведется в формате //;
    • execincludes = yes | no - Разрешить записи #exec в конфигурационных файлах;
    • hideconnect = yes | no - Показывать сообщение о подключении удаленных консолей;
    • dontwarn = yes | no - Отключить предупреждения (warning messages);
    • debug = no - Отладка: No или значение (1-4);
    • maxcalls = 10 - Максимальное число одновременных вызовов;

Приступаем к файлу cdr.conf . Комментарии к опциям в конфиге:

Enable=yes ; включаем саму возможность логирования звонков unanswered=no ; неотвеченные звонки не логируем safeshutdown=yes ; при выключении сервера будем ждать, пока не допишутся ВСЕ логи usegmtime=yes ;лог date/time в формате GMT. По умолчанию NO loguniqueid=yes loguserfield=yes

Закончили. Теперь файл features.conf :

; тут описываем используемые функции и их параметры blindxfer => ## ; безусловный перевод atxfer => *2 ; условный перевод automon => *1 disconnect => ** parkext => 700 ; парковка parkpos => 710-780 ; диапазон портов для парковки context => parkedcalls ; контекст для обработки запаркованных звонков parkingtime => 180 ; время парковки comebacktoorigin => no ; возвращать звонок на инициатора, когда закончилось время парковки вызова parkedplay => both ; кому играть courtesytone когда вызов снимается с парковки. Опции: callee, caller, both или no(по умолчанию) parkedcalltransfers => caller ; Кто может сделать трансфер припаркованного вызова с помощью DTMF. Опции: callee, caller, both или no(по умолчанию) parkedcallrepark => caller ; Кто может перепарковать, припаркованный вызов с помощью DTMF. Опции: callee, caller, both или no(по умолчанию) parkedcallhangup => no ; Кто может закончить, припаркованный вызов с помощью DTMF Опции: callee, caller, both или no(по умолчанию) parkedcallrecording => no ; Кто может инициировать запись, с помощью DTMF. Опции: callee, caller, both или no(по умолчанию).. parkedmusicclass => default ; Класс музыки ожидания для припаркованного, adsipark => no ; Передавать или нет ADSI инфо о припаркованном вызове тому кто припарковал findslot => first pickupexten => *8 ; перехват звонка ; тут описываем используемые приложения sendsms => *99,peer/both,Macro,sendsms pitch => *00,self/both,Macro,pitch

Теперь конфигурируем RTP в файле rtp.conf

Rtpstart=36600 rtpend=39999

Музыка на ожидании в здании. Открываем файл musiconhold.conf

Mode=files directory=/var/lib/asterisk/moh/

Следом открываем файл logger.conf :

Console => notice,warning,error,dtmf,verbose(5) ; уровень детализации сообщений, выводимых в консоль full => debug,notice,warning,error,verbose(9),dtmf,fax,security ; уровень детализации сообщений, выводимых в лог-файл

И напоследок - файл modules.conf . Есть 2 варианта: либо читаем все модули и указываем те, которые не надо читать:

Autoload=yes noload => codec_g723-ast110-gcc4-glibc-x86_64-core2-sse4.so

Либо указываем конкретные модули, которые необходимо прочитать и запрещаем чтение всех. В этом случае для удобства лучше поделить модули на секции. Ниже приведена часть такого варианта:

Autoload = no ; Applications load = app_bridgewait.so load = app_dial.so load = app_playback.so ; Bridging load = bridge_builtin_features.so load = bridge_builtin_interval_features.so load = bridge_holding.so ; Call Detail Records load = cdr_custom.so ; Channel Drivers load = chan_bridge_media.so load = chan_sip.so ; Codecs load = codec_gsm.so load = codec_ulaw.so load = codec_alaw.so load = codec_g722.so ; Formats load = format_gsm.so load = format_pcm.so load = format_wav_gsm.so load = format_wav.so ; Functions load = func_callerid.so load = func_cdr.so load = func_pjsip_endpoint.so ; Core/PBX load = pbx_config.so ; Resources load = res_musiconhold.so load = res_pjproject.so load = res_pjsip_acl.so

В данной статье мы используем первый вариант. На этом с настройкой основных файлов закончим. В дальнейшем по мере необходимости в них можно вносить изменения. Все последующие настройки мы будем вносить в файлы sip.conf и extensions.conf . Погнали к созданию и регистрации внутренних абонентов.

Создание и регистрация внутренних абонентов

В sip.conf указываем сначала общие параметры SIP для Asterisk:

Bindaddr=0.0.0.0 ; указываем IP-адрес и порт, на котором будет приниматься bindport=5060 ; SIP-трафик language=ru ; используемый язык для голосовых сообщений alwaysauthreject=yes allowguest=no ; запрещаем принимать «гостевые» звонки, то есть вызовы от незарегистрированных пользователей

Так же в этой секции можно указать поддерживается ли видео, время регистрации, перечислить локальные сети, указываем внешний IP-адрес в случае использования NAT и так далее.

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

Имя шаблона берется в скобки и следом указывается (!) . В шаблоне можно указать контекст для этих абонентов, используемые кодеки, разрешенные/запрещенные сети для регистрации этих абонентов, использование NAT и так далее. Пример шаблона приведен ниже:

(!) type=friend deny=0.0.0.0/0.0.0.0 permit=192.168.10.0/255.255.255.0 host=dynamic context=from-internal nat=no qualify=yes directmedia=no disallow=all allow=alaw allow=ulaw dtmfmode=info

И таких шаблонов можно может быть несколько. Теперь для создания записи для регистрации абонентов нам достаточно указать только отличительные параметры, такие как внутренний номер, имя абонента, пароль для регистрации и так далее.

[НОМЕР](ШАБЛОН) callerid=ИМЯ secret=ПАРОЛЬ callgroup=5 ; номер группы вызова pickupgroup=1,2,3,4,5 ; номера групп перехвата вызовов

Пример настройки:



В результате, по команде sip show peers мы видим зарегистрированных пользователей

Абоненты зарегистрировались, но позвонить даже между собой они пока не могут. Для того, чтобы они могли совершать и принимать звонки необходимо настроить маршрутизацию (или диалплан). Делать это мы будем в файле extensions.conf , там тоже есть своя структура. И тут мы снова немного погружаемся в теорию:

Диалплан состоит из следующих основных элементов:

  • контексты ;
  • добавочные номера ;
  • приоритеты ;
  • приложения ;

Контекст – часть (раздел) диалплана, описывающая алгоритм обработки вызова и изолированная от остального диалплана. Содержит дополнительные номера (extension). Дополнительные номера, определенные в одном контексте, полностью изолированы от добавочных номеров в другом контексте, если это не разрешено специально. Так же с помощью контекстов можно ограничивать доступ к различным функциям (например к междугородним или международным звонкам). Имя контекста заключается в квадратные скобки . Рекомендуется создавать разные контексты для внутренних абонентов и для транков.

В начале диалплана находятся два специальных контекста, и

  • – содержит список общих настроек диалплана;
  • – содержит глобальные переменные;

Эти два контекста являются специальными. Контекст является одним из обязательных параметров как для абонента, так и для транка.

Asterisk определяет контекст для обработки по тому принципу откуда пришел вызов, а не куда он пришел, то есть если пришел вызов на мобильный номер от абонента, то применяться будет тот контекст, который прописан у конкретного абонента, а не указанный в транке.

Добавочные номера – это широкое понятие, которое определяет уникальные последовательности шагов (каждый шаг включает приложение), которые Asterisk будет применять к вызову по этой линии. В каждом контексте может быть задано столько добавочных номеров, сколько требуется. При вызове конкретного добавочного номера (входящим или внутренним звонком) Asterisk будет выполнять шаги, определенные для этого добавочного номера. Поэтому именно добавочные номера определяют, что происходит со звонками при их обработке соответственно диалплану.

Полный добавочный номер состоит из трех компонентов:

  • Имени (или номера) . В качестве имени может быть использованы любые комбинации цифр и букв;
  • Приоритета (каждый добавочный номер может включать множество шагов; порядковый номер шага называется его приоритетом);
  • Приложения (или команды), которое выполняет некоторое действие над вызовом;

Эти три компонента разделяются запятыми:

Exten => имя,приоритет,приложение()

Есть ещё зарезервированные добавочные номера:

  • s - когда в контекст поступают вызовы, для которых не указан конкретный добавочный номер, они передаются на добавочный номер s. (s - сокращение от start (начало), поскольку именно здесь начнется обработка вызова, если не передана информация о добавочном номере.;
  • i - когда абонент нажимает не ту кнопку (не существующий добавочный номер), вызов направляется на добавочный номер i;
  • t - если абонент слишком долго не нажимает кнопку после запуска приложения WaitExten(), вызовы направляются на добавочный номер t (время ожидания по умолчанию - 10 с);
  • h - экстеншен обрабатываемый при завершении вызова. После того как медиаканал закрылся;

Иногда можно встретить использование same вместо exten . Это применяют в основном с автоматическим выставлением приоритета, то есть same => n и означает «тоже самое, продолжение предыдущего»

Приоритеты – последовательность выполнения приложений. Каждый приоритет пронумерован последовательно, начиная с 1, и выполняет одно определенное приложение. В Asterisk есть еще приоритет n , что означает «следующий». Каждый раз, когда Asterisk встречает приоритет n, она берет номер предыдущего приоритета и добавляет 1. Это упрощает внесение изменений в диалплан, поскольку теперь не надо изменять номера всех шагов.

Приложения – выполняет определенное действие в конкретном дополнительном номере (например воспроизведение звука, прием тонального ввода, вызов канала, разрыв соединения и так далее).

Для выполнения некоторых приложений, таких как Answer() и Hangup(), не требуется никаких дополнительных инструкций. Некоторым приложениям необходима дополнительная информация. Эти данные, называемые аргументами, могут передаваться в приложения, чтобы оказывать влияние на то, как они выполняют свои действия. Чтобы передать аргументы в приложение их указывают через запятую в круглых скобках, следующих за именем приложения.

Для внесения комментариев в файл extensions.conf используют ; - вы уже могли об этом догадаться, судя по нашим комментариям прямо в конфигах:)

Таким образом можно как делать пометки для себя, так и делать невыполнимыми строки конфигурации (например, во время отладки)

Теперь давайте вернемся к нашим созданным абонентам. Создадим контекст, который указан у абонентов (context=from-internal )

В нем мы прописали что при наборе номера (ИМЯ), с приоритетом 1 выполнить приложение Dial c параметрами ПРОТОКОЛ/НОМЕР. Когда номеров немного, то можно конечно и так описывать. Но более правильно и красиво сделать тоже самое, но с использованием «маски»:

То есть при наборе любого номера из диапазона 10хх (шаблон показан нижним подчеркиванием) выполнить вызов с приоритетом 1 через приложение Dial с параметрами ПРОТОКОЛ/НАБРАННЫЙ_НОМЕР, время вызова 60 секунд и можно использовать перевод звонка (transfer).

Шаблон номера - это уникальный набор цифр, который определяет использование этого номера. Если набранный номер соответствует этому шаблону, то последующие номера не рассматриваются. Формат заполнения шаблона:

  • X - совпадение любой цифры от 0 - 9;
  • Z - любая цифра от 1 до 9;
  • N - совпадение любой цифры от 2 - 9;
  • - соответствует любым цифрам или буквам и скобках (в этом примере,1,2,3,7,8,9);

Перечитываем диалплан в консоли Asterisk командой dialplan reload и видим выполнение вызова.


Таким образом мы можем придумать и реализовать практически любой диалплан. Например для запрета вызовов на международную связь достаточно прописать 3 строчки:

То есть при наборе 810 будет проиграно сообщение destination-closed (если оно было загружено в Asterisk) и будет отправлен сигнал отбоя.

Создание и регистрация транков

Ну, начнем с того, что IP-транки, используемые в Asterisk, бывают 2-х видов – SIP и IAX.

SIP-транки в основном используются для подключения провайдеров, а IAX-транки для подключения других Asterisk. Транки могут быть с регистрацией (то есть когда провайдер выдает логин, пароль и адрес или домен для регистрации у него) и без регистрации (то есть когда подключение идет по IP-адресу без логина и пароля). В случае с регистрацией в файле sip.conf необходимо сразу после секции указать строку регистрации в формате:

Register => ЛОГИН:ПАРОЛЬ@SIP-ПРОВАЙДЕР/НОМЕР

  • SIP-ПРОВАЙДЕР - указывается или IP-адрес провайдера или его домен;
  • ЛОГИН:ПАРОЛЬ - выдаются провайдером для подключения;
  • НОМЕР - указывается городской номер, выданный провайдером для совершения звонков;

Рассмотрим создание SIP-транка с регистрацией. Опять же если у нас несколько (до 3-5) таких транков, то можно их описать каждый отдельно. А если из больше или в дальнейшем планируется увеличить их количество, то можно использовать шаблон для подключения к оператору.

(!) ; имя шаблона type=peer ; тип подключения context=from-trunk ; используемый контекст для обработки вызовов disallow=all ; выключаем все кодеки allow=alaw ; указываем используемые кодеки allow=ulaw insecure=invite,port ; не запрашивать авторизацию на входящие звонки qualify=yes ; проверка доступности directmedia=no ; запрещаем установление прямых соединений для передач голоса dtmfmode=rfc2833 ; указываем используемый тип DTMF дальше достаточно описать конкретные настройки для конкретного оператора и указать какой шаблон использовать [ОПЕРАТОР-1](voip-provider) defaultuser=ЛОГИН-1 fromuser=ЛОГИН-1 secret=ПАРОЛЬ-1 host=ДОМЕН1- ИЛИ IP-АДРЕС ДЛЯ ПОДКЛЮЧЕНИЯ fromdomain= ДОМЕН-1 ИЛИ IP-АДРЕС ДЛЯ ПОДКЛЮЧЕНИЯ [ОПЕРАТОР-2](voip-provider) defaultuser=ЛОГИН-2 fromuser=ЛОГИН-2 secret=ПАРОЛЬ-2 host=ДОМЕН-2 ИЛИ IP-АДРЕС ДЛЯ ПОДКЛЮЧЕНИЯ fromdomain= ДОМЕН ИЛИ IP-АДРЕС ДЛЯ ПОДКЛЮЧЕНИЯ

Register => ЛОГИН-1:ПАРОЛЬ-1@ДОМЕН-1/НОМЕР-1 register => ЛОГИН-2:ПАРОЛЬ-2@ДОМЕН-2/НОМЕР-2

Перечитываем файл sip.conf и проверяем регистрации:

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

(voip-provider) type=friend ; для транка без регистрации указываем friend (то есть мы доверяем этому подключению) port=5060 ; указываем порт для подключения insecure=port,invite host=IP-АДРЕС_ПРОВАЙДЕРА context=from-trunk-sip-AST10SIP ; если обработки вызовов через этот транк используется другой контекст, то указываем его тут.

Перечитываем файл sip.conf и проверяем регистрации:

Теперь рассмотрим создание IAX-транка. Для настройки IAX-транков используется файл iax.conf , который содержит всю информацию, необходимую Asterisk для создания и управления каналами, работающими по протоколу IAX. Структура его примерно такая же, как и у sip.conf :

; указываем глобальные параметры для протокола IAX bindaddr=0.0.0.0 bindport=4569 ; по-умолчанию IAX-протокол использует порт 4569 можно оставить его, а можно и переопределить language=ru ; указываем строки для регистрации транков register => msk-spb:[email protected] username = msk-spb ; логин для регистрации на удаленной стороне type = friend trunk = yes secret = SuperPASS ; пароль для регистрации qualify = yes host = 10.10.10.10 ; IP-адрес удаленной стороны disallow= all context = from-iax ; контекст для обработки вызовов, поступающих через этот транк allow = alaw allow = ulaw

Сохраняем файл iax.conf , перечитываем и проверяем регистрацию командой iax2 show peers :

Если есть абоненты, работающие по протоколу IAX, то их регистрацию описываем тоже в этом же файле аналогично SIP-регистрации.

Итак, сейчас мы имеем зарегистрированных абонентов, которые могут звонить друг другу, и зарегистрированные транки. Внутренних абонентов мы можем группировать по отделам:

Exten => 500,1,Playback(it-otdel) ; проигрывается сообщение it-otdel exten => 500,1,Dial(SIP/1001,5),Tt ; 5 секунд вызов идет на номер 1001 exten => 500,n,Dial(SIP/1002&SIP/1003) ; потом вызов идет одновременно на 1002 и 1003

Можем настраивать различные функции, запускать различные команды (в том числе и для выполнения через ОС), настраивать запись и прослушивание разговоров и так далее:

; ответить, подождать 2 секунды и положить трубку exten => 060,1,Answer() same => n,Wait(2) same => n,Hangup() ; ответить, проиграть сообщение hello-world и положить трубку exten => 061,1,Answer() same => n,Playback(hello-world) same => n,Hangup() ; записать сообщение в файл somefile.gsm и потом его проиграть exten => 067,1,Record(/tmp/somefile.gsm,3,30) same => n,Playback(/tmp/somefile)

Для совершения звонков через созданные и зарегистрированные транки SIP и IAX: Допустим через транк IAX у нас подключен другой Asterisk с внутренней нумерацией, начинающейся с 1, 2, 3. И для вызова этих абонентов мы будем использовать префикс (код выхода на маршрут) 2. Тогда строки настройки будут следующие:

Exten => _2.,1,Dial(IAX2/msk-spb/${EXTEN:1},30,r) exten => _2.,2,Hangup()

То есть при наборе, начинающемся с 21-23, будет осуществлен вызов через транк msk-spb по протоколу IAX набранного номера, предварительно «отрезав» 1 (первую) набранную цифру. Если в течение 30 секунд не будет получен ответ, то вызов будет прекращен.

Для выхода в город мы используем транк с оператором-1 и префикс выхода будем использовать 9

Exten => _9849XXXXXXX,1,Dial(SIP/ОПЕРАТОР-1/${EXTEN:1}) ;то есть при наборе, начинающемся с 9, будет осуществлен вызов через транк ОПЕРАТОР-1 по протоколу SIP набранного номера, предварительно «отрезав» 1 (первую) набранную цифру

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

Теперь перейдем к транкам и входящим звонкам. Соответственно для того, чтобы принимать входящие вызовы, необходимо прописать маршрутизацию уже в контексте транка (context=from-trunk или context = from-iax )

Для возможности через транк осуществлять вызов нашего внутреннего абонента (например через транк со встречной АТС) необходимо в контекст транка вставить exten => _10XX,1,Dial(SIP/${EXTEN},60,tTm)

Давайте рассмотрим реализацию обработки входящего вызова от оператора (вызов на городской номер) через создание меню IVR и реализуем ещё определение рабочего и нерабочего времени. Схема обработки входящего вызова следующая:

Рабочее время у нас определено с 9:00 до 19:00 и с понедельника по пятницу. При поступлении звонка в нерабочее время после сообщения с приветствием (01-hello) проигрывается сообщение с указанием рабочего времени (07-working-hours). При поступлении звонка в рабочее время (проверка осуществляется в строке GoToIfTime(09:00-19:00,mon-fri)) после приветствия осуществляется переход в другой контекст ( ), где предлагается выбрать необходимый пункт меню (0 – вызов секретаря, 1 – вызов на группу тех. поддержки, 2 – переход в другое меню выбора (GoTo(ivr-2,s,1)), в котором по такому же принципу осуществляется выбор. В каждом меню реализован донабор внутренних номеров (exten => _1xхx,1,NoOp), обработка неправильного набора номера (exten => i,1,NoOp), обработка в случае, что если ничего не выбрали (exten => t,1,NoOp), вызов переводится на секретаря.

Естественно необходимо загрузить все используемые голосовые файлы в /var/lib/asterisk/sound/ru в случае использования русского языка. Тут давайте немного по-подробнее.

Как мы уже указывали выше в системе мы определили какой основной язык у нас будет использоваться для голосовых файлов (в файле sip.conf параметр language = ru ). Это значит, что Asterisk будет искать имена файлов, которые мы указываем, например, в меню ivr в папке /var/lib/asterisk/sound/ru (смотрим обозначения директорий при запуске asterisk в начале статьи). Если бы мы использовали в качестве основного языка английский, то папка была бы /var/lib/asterisk/sound/en . В каждой из этих папок находятся голосовые файлы выбранных языков и в выбранных форматах, указанных при компилировании asterisk. Если мы хотим записать свои сообщения (персональные приветствия, необходимые объявления, произносимые в создаваемых меню ivr и так далее), нам необходимо положить эти файлы в папку с соответствующим языком. Сами файлы при этом можно записать любой звукозаписывающей программой (хоть программой Звукозапись , входящей в стандартный дистрибутив любой версии Windows) и сохранить в формате wav (несжатый голос, 8кГц, 16 Бит, Моно)

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

Exten => _X.,1,NoOp(Проверка времени: Если попали в диапазон - переходим в контекст working-time, если нет - продолжаем выполнение) same => n,Answer() same => n,Playback(01-hello) same => n,GoToIfTime(09:00-19:00,mon-fri,*,*?working-time,s,1) same => n,Playback(07-working-hours) same => n,Hangup() exten => s,1,Answer() same => n,Background(01-ivr1) same => n,StartMusicOnHold() same => n,WaitExten(5) ; exten => 0,1,NoOp(Если нажали "0" - звоним секретарю) same => n,Playbacr(ostavaites-na-linii) same => n,Dial(SIP/1005,30,mtT) same => n,Hangup() ; exten => 1,1,NoOp(Если нажали "1" - звоним на группу вызова: 1001+1002) same => n,Playback(it-otdel) same => n,Dial(SIP/1001&SIP/1002,30,mtT) same => n,Hangup() ; exten => 2,1,NoOp(Если нажали "2" - перенаправляем на ivr-2) same => n,GoTo(ivr-2,s,1) ; exten => _1xхx,1,NoOp(Прямой набор внутренних номеров) same => n,Playback(ostavaites-na-linii) same => n,Dial(SIP/${EXTEN}15,mtT) same => n,Hangup() ; exten => i,1,NoOp(Обработка ошибочного набора:i=illegal) same => n,Playback(oshibka) same => n,Dial(SIP/1005,30,r) ; exten => t,1,NoOp(В случае, если не дождались нажатия) same => n,Playback(ostavaites-na-linii) same => n,Dial(SIP/1005,30,m) ; exten => s,1,Background(02-ivr2) same => n,StartMusicOnHold() same => n,WaitExten(5) ; exten => 1,1,NoOp(Если нажали "1" - звоним на 1001) same => n,Dial(SIP/1001,30,mtT) same => n,Hangup() ; exten => 2,1,NoOp(Если нажали "2" - звоним на 1002) same => n,Dial(SIP/1002,30,mtT) same => n,Hangup() ; exten => _1xхx,1,NoOp(Прямой набор внутренних номеров) same => n,Dial(SIP/${EXTEN}15,mtT) same => n,Hangup() ; exten => i,1,NoOp(Обработка ошибочного набора:i=illegal) same => n,Playback(oshibka) same => n,Dial(SIP/1005,30,r) ;

После сохранения файла extensions.conf перечитываем диалплан в консоли (dialplan reload) и проверяем. На этом закончим с примерами.

Конфигурируя Asterisk через конфигурационные файлы, мы получаем возможность реализовать практически любую логику работы, проводить интеграции со сторонними сервисами, запускать и выполнять скрипты на уровне ОС и так далее.

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Настройка Asterisk

Подробные руководства и справочные материалы по настройке Asterisk. Документация постоянно обновляется и дополняется.

Установка

Asterisk работает под управлением операционных систем Linux и FreeBSD. Доступны установка из бинарных файлов и компиляция из исходного кода. Также существует множество дистрибьютивов Linux с уже готовым к работе предустановленным Asterisk и FreePBX.
Инструкции по установке Asterisk для различных дистрибьютивов Linux:

Конфигурационные файлы Asterisk

Большинство настроек Asterisk контролируются с помощью конфигурационных файлов, расположенных в директории /etc/asterisk. Синтаксис конфигурационных файлов Asterisk разработан для редактирования вручную и имеет простую и понятную структуру. Категории или по иному контексты группируют свойства объектов и отделяют их друг от друга именами в квадратных скобках по принципу наследования. Все, что записано после имени контекста относится к нему, пока не появится следующее имя контекста в квадратных скобках. Практически в каждом кофиге встречается категория , которая задает параметры для всех объектов конфигурационного файла. Параметры объектов имеют приоритет над глобальными параметрами, если одинаковый параметр, может быть назначен, как глобально, так и конкретному объекту. Некторые конфиги имеют только заранее определенные секции, например asterisk.conf отвечающий за общие настройки pbx. Но в большинстве случаев, для назначения объектов, создаются контексты и задаются их имена. Приведенные ниже примеры конфигов Asterisk 14 с описанием параметров, переведены и дополнены авторами сайта.

Realtime архитектура Asterisk

Реалтайм Архитектура Asterisk - набор драйверов и функций для конфигурации в режиме реального времени. Существует два типа конфигурации - статический и динамический: - Статический хранит конфигурации в БД, как конфигурационные файлы и также обновляет данные при перезагрузке модулей. - Динамический используется для создания и обновления объектов в режиме реального времени, при совершении вызовов

Каналы связи в Asterisk

SIP

Под каналами связи в Asterisk подразумевается набор драйверов для взаимодействия с устройствами и протоколами связи. Так как Asterisk в первую очередь VoIP АТС ключевое значение имеют драйвера взаимодействия с VoIP протоколами, в частности с SIP протоколом. Изначально в Asterisk был один драйвер SIP протокола chan_sip. Но его реализация была неполной и в конкуренции с FreeSWITCH, который имел более продвинутый SIP драйвер, в Asterisk начиная с версии 12, был включен новый драйвер SIP - chan_pjsip.
Поддержка старого драйвера сохраняется и оба драйвера могут действовать совместно.
Однако предпочтительней использовать новый драйвер PJSIP.

IAX

Также в Asterisk реализован собственный VoIP протокол - IAX (Inter Asterisk Exchange). Как и следует из названия, он в первую очередь ориентирован на создание каналов связи между серверами Asterisk. IAX имеет упрощенную структуру, используя один и тот же порт для сигнализации и медиа, что в теории упрощает прохождение NAT и экономит трафик, однако в современных условиях и с появлением PJSIP его преимущества не завоевали ему популярности.

h323

Поддержка устаревшего VoIP протокола h323 может понадобиться для интеграции с устаревшими АТС, например Avaya CSI.

DAHDI

Драйвер DAHDI поддерживает большую линейку устройств, таких как платы потоков ISDN PRI E1, FXO, FXS и GSM интерфейсов.

Local

Прокси - псевдо канал Asterisk, позволяющий вызывать канал любой технологии без явного ее указания.

NAT SIP Asterisk

Руководства по настройке Asterisk для работы за NAT .

План набора Asterisk

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

Команды диалплана Asterisk

Функции диалплана Астериск

Asterisk Dialplan functions

Функции Asterisk используются в диалплане . Это не команды диалплана и не могут быть использованы прямо. Функции возвращают значение для дальнейшего использования в логике диалплана.

Очереди и Агенты Asterisk

Очередями в Asterisk называется механизм ACD (automated call distribution) для распределения входящих вызовов между агентами колл центра. Конфигурация очередей осуществляется в файле Asterisk настройка очереди - queues.conf , имена очередей вызовов используются в качестве аргумента команды Queue в файле конфигурации плана набора extensions.conf. Интерфейсы операторов назначаются параметром очереди - member . Агенты, которые обрабатывают вызовы, поступающие в очередь, могут быть заданы в файле Asterisk: agents.conf .

Шифрование в Asterisk

Конференции Asterisk

Asterisk позволяет организовать телеконференции с неограниченным числом пользователей.

Абонентские функции Asterisk

В файле features.conf назначаются пользовательские коды абонентских функций Asterisk и опции абонентских функций, такие как:
Переадресация вызова(transfer), перехват вызова (pickup), запись по требованию (record on demand), таймауты между набора и переадресации (digit timeout), паркинг (park) и др.

  • Клиенты не могут до вас дозвониться? Asterisk + многоканальный телефонный номер через Интернет и ваши клиенты больше не услышат сигнал "занято". Все звонки будут приняты.
  • Объединение филиалов в единую телефонную сеть! Бесплатные звонки между офисами по всей стране или даже миру по коротким номерам конкретному сотруднику*
  • Большие счета за услуги связи? Asterisk + voip-провайдер и счета больше не будут вас беспокоить.
  • Высокая стоимость звонков в командировках? Astersk + sip-клиент на вашем мобильном телефоне или компьютере и вы звоните коллегам в офис бесплатно, а по остальным направлениям - по тарифам оператора, предоставляющим услуги связи в вашем офисе*
  • Нужно обеспечить связью удаленных сотрудников? Asterisk + ip-телефон или sip-клиент - и вы звоните им и они вам бесплатно по короткому номеру, как коллегам в офисе*
  • Секретарь не успевает обработать звонки и не может приготовить вам кофе? Есть решение - Asterisk + интерактивное голосовое меню! Разгрузит вашего секретаря и упростит клиентам соединение с нужным отделом или сотрудником.
  • Пропущен важный звонок? Asterisk + гибкие возможности переадресации звонка и больше такого не случится!
  • Менеджеры тратят много времени на обзвон клиентов? Asterisk + и номера набираются автоматически из списка контактов!
  • Беспокоит утечка информации или честность персонала? Asterisk + запись телефонных разговоров и отдел безопасности в восторге!

    * - вы оплачиваете только услуги доступа в Интернет.

Эти и не только задачи позволяет решить современная система ip-телефонии на базе бесплатного продукта - программной телефонной станции Asterisk.

Что такое Asterisk?

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

В качестве оконечных устройств могут использоваться как программные и аппаратные VoIP-телефоны, так и обычные аналоговые телефонные аппараты, оборудование микросотовой связи SIP-DECT . Возможна интеграция с существующей аппаратной АТС.

Asterisk не требователен к ресурсам "железа" и может быть развернут на простом персональном компьютере, нетбуке, на виртуальной машине. В случае использования VoIP-телефонов, не требуется прокладка СКС для аналоговой телефонии, можно использовать обычную компьютерную сеть.

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

Возможности Asterisk IP-PBX:

  • коммутация вызовов по заданным правилам с крайне гибкими возможностями (можно практически всё что угодно), в том числе направление вызова на оператора с наименьшей стоимостью звонка
  • перевод, парковка, переадресация, перехват вызовов, списки follow me, группы (hunt, ucd и др.);
  • функции call-центра (постановка вызовов в очередь и распределение по операторам);
  • интерактивное голосовое меню (IVR);
  • автоответчик, голосовая почта, отправка сообщений на электронную почту;
  • конференц-связь;
  • обратный вызов (Call Back), а также доступ к различным направлениям вызовов по pin-коду;
  • прием факсов на электронную почту, факс-сервер;
  • запись телефонных разговоров;
  • журнал вызовов (CDR);
  • отчетность и статистика по звонкам;
  • поддержка множества VoIP-протоколов и кодеков (SIP, H.323 и др.);
  • возможность подключения к VoIP-провайдерам (Sipnet, Skype и др.);
  • подключение к ТфОП посредством как аналоговых линий, так и потоков E1;
  • поддержка любых оконечных устройств (обычные аналоговые, мобильные, аппаратные и программные VoIP-телефоны);
  • интеграция с аппаратными АТС посредством VoIP или E1 с использованием стандартных межстанционных протоколов;
  • объединение удалённых офисов в единую телефонную сеть;
  • предоставление удалённым, выездным сотрудникам внутреннего офисного телефона;
  • интеграция с Microsoft Outlook и другими приложениями, поддерживающими интерфейс TAPI
  • интеграция с внешними системами и ПО (продуктами 1С, CRM-системами, Интернет-сайтом и прочее).

Пример программирования логики входящего звонка с городских линий:


Для малого бизнеса предлагаем недорогое решение на базе IP-АТС Yeastar S20 .
Для средних и крупных компаний, а также для тех, кому требуется гибкость настроек и возможность масштабирования, предлагаем универсальное решение, которое может быт установлено на виртуальную машину или физический сервер. В результате заказчик получает гарантированно свежее стабильное программное обеспечение (CentOS, Asterisk, FreePBX), установленное в его рабочем окружении.

Базовая стоимость внедрения:

19,500 рублей

включая НДС 18%

В базовую стоимость включено следующее:

  • Инсталляция Asterisk на оборудование заказчика или виртуальную машину (включает установку последних стабильных версий CentOS, FreePBX, Asterisk)
  • Подключение к sip-провайдеру
  • Создание до 20 внутренних номеров и настройка ip-телефонов*
  • Типовая коммутация звонков, перевод, перехват вызовов
  • Голосовое приветствие с возможностью набора внутренних номеров
  • Прием факсов на e-mail
  • Голосовая почта с отправкой сообщений на e-mail абонента
  • Веб-доступ к статистике звонков и управлению станцией (FreePBX)
  • Запись телефонных разговоров
  • Доставка и установка сервера на площадку заказчика (Москва и ближайшая МО)

*- при самостоятельной настройке возможно снижение стоимости внедрения до 16500 руб .


Для управления Asterisk мы используем систему FreePBX с собственными доработками, повышающими удобство использования ip-телефонии.

В качестве оконечного оборудования предлагаем хорошо зарекомендовавшие себя телефонные аппараты Yealink . Наша компания является официальным дилером данной марки и мы готовы предложить вам аппараты по выгодной цене.

В качестве шлюзов для соединения с классической телефонией используем хорошо зарекомендовавшее себя оборудование Linksys, Cisco.




Рекомендуем почитать

Наверх