Несмотря на популярность мессенджеров и телеконференций, ни один офис ещё не отказался от телефонной связи. Люди такие существа, что иногда предпочитают общаться голосом.

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

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

▍ Зачем это надо


Услуга виртуальной АТС позволяет компании не вкладывать никаких усилий в развёртывание и настройку офисной АТС, при этом они получают полный пакет услуг:

  • многоканальный номер;
  • распределение поступающих звонков;
  • запись разговоров;
  • внутренняя связь без выхода на городской номер;
  • конференц-связь;
  • селекторная связь;
  • голосовые приветствия и голосовая почта;
  • перевод вызова;
  • автоматическое распознавание факсимильных сообщений;
  • и многое другое.

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

▍ Установка на VPS


В 2020 году мы публиковали цикл статей об установке и настройке виртуальной АТС:


В упомянутых статьях 2020 года для примера мы устанавливали Asterisk 16 на недорогую виртуальную машину с двухъядерным CPU и 2 ГБ оперативной памяти, без шаблона (чистая установка Ubuntu 20.04). Давайте повторим эту процедуру.

Обычно для полноценной работы АТС нужно не меньше 2 ГБ оперативной памяти, сегодня такую машину можно заказать за 899 рублей в месяц (719 рублей в месяц при оплате за год), три дня на тест сервера предоставляются бесплатно. Но мы всё-таки возьмём 4 ГБ для последней версии Ubuntu, это обойдётся чуть дороже (1143 рубля в месяц при оплате за год).



Через какое-то время сервер готов к работе, ОС на нём уже будет установлена.



Обратим внимание, что нам выделен IP-адрес 193.124.112.77. Это важно, потому что к данному IP-адресу после установки виртуальной АТС будут подключаться наши клиенты (офисные работники). На их мобильных телефонах мы поставим соответствующий софт для IP-телефонии и укажем этот IP-адрес как сервер для связи. Но это потом.

Теперь устанавливаем Asterisk:

sudo apt-get update
sudo apt-get install asterisk

Проверка статуса после установки:

sudo systemctl status asterisk



Если в статусе не отображено, что программа запущена active (running), необходимо вручную её запустить, выполнив следующую команду:

sudo systemctl start asterisk

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

sudo systemctl enable asterisk

Изменение конфигурационных файлов:

sudo nano /etc/asterisk/sip.conf



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

Затем можно приступать к установке клиентского программного обеспечения. Клиентов для IP-телефонии очень много, а мы тестировали мобильное приложение Linphone, которое выпускается в версиях для iOS и Android.

Установка Linphone под Linux:

sudo apt-get install linphone



Конечно, можно поискать какой-нибудь более современный клиент, потому что Linphone под Linux не особо активно поддерживается.



При установке на смартфоне в настройках Linphone выбираем пункт «Использовать SIP-аккаунт» и указываем IP-адрес сервера 193.124.112.77, выделенный провайдером (см. выше):


После подключения к нашей АТС клиенты готовы общаться между собой.

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

Программное обеспечение Asterisk включает множество функций, доступных в коммерческих и проприетарных АТС: голосовую почту, конференц-связь, интерактивное голосовое меню (IVR) и автоматическое распределение вызовов (ACD). Пользователи могут создавать новые функциональные возможности путём написания скриптов диалплана (план маршрутизации звонков) на нескольких языках расширения, добавлять загружаемые модули на PHP или C, а также реализации программ Asterisk Gateway Interface (AGI) с помощью любого языка программирования, способного взаимодействовать через стандартные потоки системы (stdin и stdout) или сетевые TCP-сокеты.



Asterisk поддерживает несколько стандартных протоколов VoIP, включая протокол инициирования сеанса (SIP), протокол управления медиашлюзом (MGCP) и H.323. Софт поддерживает большинство SIP-телефонов, выступая в качестве регистратора и агента пользователя. Он служит шлюзом между IP-телефонами и ТСОП через разные интерфейсы или аналоговые карты:


Телефонная карта Sangoma A200 на 2−24 аналоговых порта для систем Asterisk, FreePBX и PBXact

Нативный для Asterix протокол Inter-Asterisk eXchange (IAX), задокументированный в качестве стандарта RFC 5456, обеспечивает эффективное межстанционное соединение (транк) между АТС Asterisk, а также распределяет некоторую логику конфигурации. Этот протокол поддерживают многие провайдеры VoIP, потому что сами используют Asterisk или предлагают его на своём хостинге. Некоторые телефоны также поддерживают IAX.

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



Asterix рекомендуется перевести на более современную мультимедийную библиотеку PjSIP вместо устаревшей chan_sip. Нужно сказать, что это требует определённой доли ручной работы, ведь автоматически конвертировать конфигурацию и план маршрутизации звонков не получится. Если по-серьёзному, то это только начало. Дальнейшее обслуживание виртуальной АТС тоже займёт некоторое количество времени. Хотя в целом всё уже работает, но нужно добавлять/удалять пользователей, менять таблицы маршрутизации и в целом присматривать за системой.

Со времени публикации нашего руководства в 2020 году ничего принципиально не изменилось, разве что вышло несколько новых версий Asterisk (последняя 21) и Ubuntu (совсем свежий релиз 24.04 LTS, апрель 2024-го).

▍ Новые версии Asterisk




За прошедшее время разработка Asterix активно продолжалась.

Все версии Asterisk делятся на два типа: стандартные (поддержка один год плюс ещё один год выпуска патчей безопасности) и LTS (4+1).

Уже во время написания нашей прошлой статьи была доступна стандартная версия Asterisk 17, но в реальном использовании лучше ориентироваться на версии LTS (чётные), чтобы не переустанавливать систему каждый год.

С тех пор вышли Asterisk 18 LTS (20.10.2020), Asterisk 19 Standard (02.11.2021), Asterisk 20 LTS (19.10.2022) и Asterisk 21 Standard (18.10.2023), см. все версии.

Из новых функций, достойных упоминания, в Asterisk добавилось следующее (с 16-й версии):

  • Нативная поддержка системы мониторинга Prometheus (Asterisk 17).
  • Установка старших бит ToS под Linux для пользователей, не являющихся рутом, чтобы приоритизировать VoIP-трафик Asterisk абсолютно на любых маршрутизаторах, старый баг (Asterisk 18).
  • Синхронизация видео со звуком при проходе через func_jitterbuffer (Asterisk 18).
  • Модуль распознавания тона (Asterisk 19).
  • Аудиоскремблер для шифрования звука (Asterisk 19).
  • Модуль res_speech_aeap. Распознавание речи и перевод, передача входящего сигнала во внешние API вроде Deepgram или Google Speech API. В новой модели Asterix не пытается сам обрабатывать речь, а позиционируется как мост между сигналом и облачными сервисами обработки (Asterisk 21).



Можно упомянуть, что на базе Asterisk разработан ряд коммерческих и опенсорсных решений, а также программно-аппаратных комплексов. Отдельно стоит выделить FreePBX, графический веб-интерфейс для Asterix (на скриншоте вверху). Он распространяется как отдельный дистрибутив FreePBX Distro, даже с коммерческими модулями.

Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (20)


  1. Zara6502
    17.05.2024 09:40
    +2

    а есть ли готовые решения интеркома, например на 4-8 абонентов? Например - зал, кухня, спальня 1, спальня 2, нажал вызов из любой комнаты например на спальня 1 и говоришь.


    1. maxsaf
      17.05.2024 09:40
      +2

      В обычных беспроводных DECT телефонах для дома уже есть функция INTERCOM. Довольно удобно, кстати.


      1. Zara6502
        17.05.2024 09:40

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


      1. Zara6502
        17.05.2024 09:40

        поскольку тут собрались туповатые любители накидывать минусы, прокомментирую почему DECT телефон это глупая затея:

        1. Вам нужно содержать трубки

        2. Вам нужно разговаривать через трубки

        3. Вы не можете ничего и никому сказать пока не снимут трубку

        Это ни в каком виде НЕ ИНТЕРКОМ. ПОжалуйста, если вы не понимаете что такое интерком - не пишите сюда чушь.

        Из ближайшего что доступно - это оки-токи из например 4 станций, из минусов опять же содержание трубок и прослушивание разговоров посторонними. Ну и это всё еще ТРУБКИ.


    1. Javian
      17.05.2024 09:40

      В Андроид телефоне может уже встроен SIP клиент. Звоните сразу на телефон или используйте ненужный планшет как интерком.


      1. Zara6502
        17.05.2024 09:40

        какой телефон? какой планшет? вы в своем уме?


  1. Skipy
    17.05.2024 09:40
    +1

    Ну да. Мини-АТС. Стоят. У меня на столе даже телефон стоит. И на прошлом рабочем месте стоял. Хотя там мне два с половиной года не могли номер присвоить. А тут - за год мне никто ни разу не позвонил. Я даже собственного номера не знаю. При том, что созвонов у меня - 5-10 в день в среднем. Webinar, подключение любого количества участников, запись разговора, видео, демонстрация экрана. В мессенджере "давай созвонимся", в ответ ссылка на подключение секунд через 15. Радио-гарнитура, никаких телефонных аппаратов.


    1. sunsexsurf
      17.05.2024 09:40

      Кстати, МТС привольную фичу сделал: после разговора еще и суммаризация приходит.


  1. AlexNixon
    17.05.2024 09:40
    +1

    А я вот просто люблю эти офисные циски по какой-то необъяснимой причине. Все хочу себе такую на стол поставить, ибо они и на авито по бросовым ценам валяются. Но так, чтоб работала, ессно, а все руки не доходят.


    1. Vilos
      17.05.2024 09:40

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


  1. ya_prost_otvetit_zashel
    17.05.2024 09:40
    +3

    Ало, это Раковка?


  1. homeles
    17.05.2024 09:40
    +6

    Почему-то все адепты облачных решений забывают о том, что "отвалился" канал в инет - и все - нету в офисе телефонии. И фиг с внешней, даже внутрянки не будет. И одно дело офис малого бизнеса - можно и ногами до собеседника добежать, а если это территориально распределенный объект ?! Так что я за свою АТС-ку на объекте, и то - если наружу идем через SIP-транк отдельным VLANом, но через один физический порт в 100Мбит вместе с офисным инетом - то вероятность положит ь телефонию тупым(без ограничений скорости) торрентом очень велика


    1. fpga500
      17.05.2024 09:40

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


  1. ciuafm
    17.05.2024 09:40
    +1

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


    1. Gimmemoar
      17.05.2024 09:40
      +1

      Обеспечить выход в интернет через модем, подключаться к операторам SIP-транками. Или вам принципиально нужен GSM? Для этого использовались шлюзы https://w.wiki/A74V


    1. homeles
      17.05.2024 09:40

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


  1. jackcrane
    17.05.2024 09:40

    Asterisk с нуля немодно. люди сразу ставят сборку FreePBX.


    1. homeles
      17.05.2024 09:40

      Точно так. С одной стороны - для 90% задач хватает за глаза и главное - быстро. С другой - оставшиеся 10% требуют очень много времени, т.к. все таки приходится лезть в "потроха" самого Астериска, а народу, у кого спросить, становится все меньше и меньше


    1. VenbergV
      17.05.2024 09:40

      FreePBX ставить уже не модно. Ибо в 90% случаях есть готовая коробка c IP-PBX на борту. Или готовые облачные АТС, от операторов связи.
      FreePBX отстает на два-три релиза от Asterisk.
      При сложных телефонных планах и паре сотен телефонов, каждое обновление системы с FreePBX превращается в новую установку, с увлекательным и кропотливым "мышконажимательством" в графическом интерфейсе.
      Проще куски кода номерного плана из старого asterisk переносить в новую установку. И переносимый код, хорошо вписывается в методологию IaC.


  1. nitro80
    17.05.2024 09:40
    +1

    Статья не дала ничего нового по сравнению со старой и уже куча плюсов.

    Те же проблемы, что озвучивали в комментариях в старой статье - и этот "мануал" их не исправил.