Атс ip телефонии своими руками

Сам себе телефонист или IP АТС своими руками.

16.05.2018 * Получил заказ — сделать IP АТС для офиса, масштабируемую, гибкую и независимую. Максимально использующую существующее оборудование заказчика. Совместимую с 1С БИТРИКС24.

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

  1. Своя внутренняя АТС
  2. Внутренних номеров 8, желательно оставить аналог
  3. Городской аналоговый для входящих-исходящих и/или сип на 2-3 канала (входящие)
  4. 4 gsm-шлюза для исходящих (входящих)
  5. Завязка на БИТРИКС.24 на своем серванте, хранение записей например за месяц

Всё это нужно «почти бесплатно», рассматриваются варианты с БУ железом… Облачные АТС не интересны экономически, там минута исходящих в 3-4 раза дороже чем в корпоративном GSM. Интересны решения в одном флаконе типа Yeastar S50 — атс со встроенным 4-х канальным шлюзом, но ценник кусючий и хочется послушать спецов https://yeastar.stor…239348640300005 или VinTelecom TP832 https://ru.aliexpres…iceBeautifyAB=0

Потом что получится — продам по спекулятивной цене! 😎

23.05.2018

1. Юзать будем Asterisk или Elastix на Linux и скорее всего CentOS, поразвлекаюсь с ней пока на виртуалке, но перенесу на железку отдельную. Пока не знаю на какую, но хочется малогабаритное безвентиляторное малопотребляющее решение.

2. Исходящие по области на сотовые и городские — 4 линии ТЕЛЕ2 — GSM шлюз GOIP4 — это первые расходы. Тут или ждать месяц с Китая за 9500= за нал или с Москвы с доставкой и гарантией год за 11900= по безналу, т.е. где то по 3 рубля на канал. Терпимо, всего в 2 раза дороже сотиков, которые сейчас используются для исходящих.

3. Нужен будет порт аналоговый для городской линии для входящих, это еще рубля четыре, блин… Полностью на сип уходить не хочу, железная линия на случай энергоаварий таки должна быть. Тут что-нить типа D-Link DVG-7111S http://www.dlink.ru/…s/8/1131_b.html

4. CRM — Битрикс24 коробочная на отдельной железке. Ту CRM что в Еластиксе и пока не мучал, но не думаю что она нам подойдет.

5. Телефонные аппараты в таком решении это только SIP и/или DECT, покупать раздельные шлюзы на проводные явный моветон. Буду искать б/у — есть у кого SIPовские в кладовке?

6. Родная SIP станция DECT в имеющийся роутер Zyxel Keenetic на 6 труб и 4 одновременных разговора стоит всего 1800= https://keenetic.com…netic-plus-dect Кстати, 11-й Астериск можно накатить и на сам роутер, но я пока в раздумьях https://help.keeneti…-центр-Keenetic

24.05.2018

Был не прав! С SIP-телефонами пока погодим, всё же есть более интересное решение на «сиськах» по цене сопоставимой с D-Link при изрядно больших возможностях и можно оставить штатные аналоговые аппараты. Тему с SIP-телефонами оставлю на будущее, вдруг у кого в кладовке найдутся завалы и нужно будет помочь утилизировать…

Cisco SPA8000 — 8-Port Telephony Gateway (на 8 внутренних аналоговых телефонов)

Cisco SPA8800 — IP Telephony Gateway with 4 FXS and 4 FXO Ports (на 4 внутренних аналоговых телефона и 4 городские линии)

Получается что можно сделать расширяемую АТС, стартово имеющую 4х4 железных портов SPA8800 при стоимости порта всего в 1000р и далее 4х12(4+8) при добавлении SPA8000 и далее и далее…

зы: Пойду рыться на Авито, ведь эти девайсы в нетронутых упаковках стоят хороших денежков.

25.05.2018

Дело потихоньку налаживается — от китайских коммунистов приехал ГСМ-шлюз, который типа GOIP4.

Галимый китайский OEM НОНЕЙМ, но что в этом такого? Они полные лохи — не умеют рисовать мультики про ракеты с ядерными двигателями, ума хватает только на производство продвинутой электроники…

Прошивка была не самая последняя — обновил сразу с их родного сайта http://en.dbltek.com…tfirmwares.html

Firmware Version: GST1610-1.01-63
Module Version: M35FAR02A01_RSIM

Воткнул симку, немного плясок с бубном, Эластиксом на виртуалке, пара правок рук в батарее и связь вчерне через софто-телефоном заработала в обе стороны. С sipnet.ru пока что пляшeм, никак не хочет цепляться к их серванту для исходящих.

Пора задуматься о железке — думаю остановиться все же на чистом консольном Астериске без оконных прибамбасов. Продолжение следует…

Источник

Своя собственная, домашняя АТС

Что такое SIP наверное уже многие знают. На самом деле это просто протокол установления сессий для устройств связи, все просто — ты спрашиваешь сервер на наличие вызываемого абонента, сервер отвечает, что он есть-нет, жив-оффлайн, и пр., сервер тебе отвечает — есть, находится там-то, спрашивает обоих абонентов на установление связи (ACK), после чего ты успешно разговариваешь с другом. Протокол достаточно простой, очень похож и по кодам и по организации на HTTP.

В этой статье пойдет речь не о протоколе. Речь пойдет о том, как создать свою собственную АТС, рационально организовать внешние и внутренние звонки.

Итак: для начала рассмотрим несколько вариантов «готовых решений» для организации своей собственной АТС.

Вариант 1: Коммерческий продукт CommunigatePro. Почему под номером 1? Да потому, что есть реализации под все основные платформы, есть внятный веб-интерфейс администратора и куча сопутствующийх сервисов, e.t. почта, IM и прочее. Стоит денег, но для формального сервиса может спокойно работать как персональный сервис без ограничения функциональности.

Вариант 2: Астериск. asterisk.org. И огромная куча клонов, сборок, форков: TrixBox ( trixbox.org ), Elastix ( www.elastix.org ), Yate2 ( voip.null.ro ), FreePBX ( www.freepbx.org )… перечислять клоны и моды Астериска можно долго. В чем плюс — проект развивается, есть много дополнений — веб-интерфейсов, интеграций с базами данных. Минус — у Астериска не очень простой синтаксис конфигурационных файлов. Поэтому новичкам не рекомендую.

Вариант 3: Другое программное обеспечение, о котором я не знаю. 🙂 На самом деле есть огромное количество серверных решений с внятными интерфейсами администратора, клиента, биллингом и пр.

Итак. Понятно, что мы будем говорить о CommunigatePro ( www.stalker.com/communigatepro ). Кстати для него есть русская документация, ссылок много, например тут: relay.bhost.ru/guide/russian

Установка сервера достаточно проста и для разных реализаций linux и для windows. Сервер использует 2 основные папки — папку сервиса и папку данных, где хранятся учетные записи доменов, настройки, шаблоны веб-скинов и голосовые сообщения.
Вся установка на любой платформе сводится к запуску установщика, указанию папок. Процесс минимален, поэтому рассматривать мы процесс установки не будем. Если у кого-то возникнут проблемы — отвечу в комментах.
В любом Linux, коммунигейт распологается в папках /opt/CommuniGate и /var/CommuniGate.

Читайте также:  Декоративная штукатурка своими руками для печей

Сервис установлен. Что дальше?

Порт по-умолчанию веб-админки: 8010. Заходим в сервис администрирования любым браузером 127.0.0.1:8010 если сервер установлен на том же компьютере, если Вы ставили сервис на удаленном компьютере, заменяет 127.0.0.1 на адрес удаленного сервера). При первом входе, сервер попросит Вас ввести пароль для управления сервером. Там же Вы можете указать язык системы по-умолчанию. Пользователь по-умолчанию — postmaster.

Все, мы в админке. Для развертывания SIP сервиса достаточно 3х шагов:

1. Через Веб Интерфейс Администратора откройте в области Установки страницу Общее: укажите домен или вместо домена используйте Ваш ИП адрес. Все почтовые адреса в этом домене будут трактоваться как локальные, и (в простейшем случае) почта будет храниться в локальных папках пользователя. Первоначально это поле содержит имя компьютера сервера, которое CommuniGate Pro берёт из ОС. Если это имя выглядит как host12345hh.company.com, то вы должны изменить его на имя домена, которое должен обслуживать Сервер.

2. Домен создан. Теперь нам надо настроить клиентов и их тефонные номера. В коммунигейте это достаточно просто. В дефолтном домене лезем в обьекты домена, добавляем пользователя ( например ivan ). После нажатия кнопы Создать, нас кидает на форму настроек пользователя, обязательно вводим пароль для пользователя и дезем в самый низ странички натроек — там, внизу справа самое главное — текстовое поле с названием «Телефонный номер». Ну как самый первопроходец ставим 1001).

Это самое главное для локальной АТС. Помоему все просто. Теперь надо создать еще пару-тройку аккаунтов и попробовать поговорить внутри сети.
Повторяя действия п.2 добавим пользователей Vasya и Jenya присвоив им номера 1002 и 1003 соответственно.
Теперь стадия выбора: чем будем говорить?

1. Есть программные телефоны. Список можно посмотреть тут: en.wikipedia.org/wiki/List_of_SIP_software
Мне лично нравится en.wikipedia.org/wiki/SIP_Communicator
2. Есть аппаратные решения. Я использую железяку от WellTech LP-388. Есть множество других аналогов.
3. SIP адаптер. выполнен в виде коробочки с эзернетом и простой тефонной RJ-11 дыркой. Не популярен в частных целях.

Итак, поставили софт ( для отладки можно 2 сипфона поставить на одном компьютере), указали разные учетные записи, НАБИРАЕМ!
Звонок пошел! Наслаждаемся тем, что все работает. Причем если набрать с любого из клиентов 200 начинает с нами разговаривать Авто-аттендант — это авто-информатор системы. Пока он говорит по английски, позже мы его научим общаться на родном, русском).

Теперь самый главный этап. Внешний мир!)

3. Для того, чтобы наша внутренняя АТС могла не только связывать нас друг меж другом, нам нужно заиметь внешний SIP шлюз.
Таковых много. Рассмотрим пару самых популярных. Сервис, который на слуху — сипнет ( sipnet.ru ). Регаемся. После регистрации сервис нам выдаст номер внутреннего абонента типа 0023413643 — это номер внутреннего абонента системы. Не знаю как сейчас, но во времена раскрутки сипнет давал при регистрации на счет сразу небольшой бонус — рублей 100. Этого достаточно, чтобы наладить внешнюю связь для нашего сервера.
Что нам надо, чтобы выбросить сервер во вне?
— адрес сипнета — sipnet.ru
— наш логин и пароль аккаунта, который мы зарегистрировали
Движемся дальше: залезаем в панели администратора нашего коммунигейта в Настройки — Real Time — SIP — Шлюзы.
Видим пустуюформу с полями: Имя Шлюза, Домен, Имя пользователя, AUTH-Имя, Пароль — это в левой колонке, справа — Звонки: (Аутентификация, Проксировать), Заменять, Поле контакт и Регистрироваться раз в…
Что пишем: Имя шлюза — это имя личное для Вас, можете назвать хоть tel1, это имя будет нами использоваться позже при настройке роутинга звонков.
Главное указать: Домен: sipnet.ru — куда роутим, Имя пользователля: Ваш ID в системе формата 0023413643 и Пароль.
Конкретно для сипнета надо поставить Аутентификацию в Auth ( в разных системых по-разному ) и установить Регистрироваться раз в… 30 минут. Это их рекомендации.
Поле Проксировать используется для того, чтобы Ваши сервера с НЕРЕАЛЬНЫМИ ИП работали с сигналами и медиа. Если у Вас ип внутренний, советую поставить тип проксирования медиа.

И теперь самое-самое главное. Как нашего Васю вывести во вне.
Лезем в настройки — Маршрутизатор ( Роутер ):
Там полностью текстовое окно.
Не пугаемся, смотрим, что написано:
= john; простой псевдоним
= sales-client1; простой чужой псевдоним
= info@otherhost.com; пользователь -> другой пользователь

Это настройка прохождения звонков внутри вашей системы.
На самом деле в установке по-умолчанию, надо поправить только 1 цифирьку — ту, где у вас local звонки. По-умолчанию, там стоит 7d — если Вы планируете использовать нумерацию типа 1001 1002 — поменяйте на 4d, если как у меня 005-364536 — ну или по аналогии — если без префиксов.
Теперь самое приятное: настраиваем ГОРОД.
Всего одна строка после всего, что там есть (добавляем):
N:S: =+7495*@tel1.sipgw; это наш внешний мир! tel1 — это то, как Вы обозвали шлюз (см. выше)
Просто сохраняем ( Модифицировать ) и набираем со своего софт-фона свой-же домашний номер.

Поздравляю! Вы настроили свою собственную АТС, где Вы можете раздавать друзьям внутренние номера, общаться по сети, как программными клиентами, так и аппаратными решениями циски, велтеча и пр. Ко всему прочему, этот сервер еще поддерживает ИМ, почту, веб, но об этом позже.

И небольшой Пы-Сы — если в Шлюзах забить второй шлюз, назвав его, например tel2, совершенно спокойно можно Роутинг сделать так:

N:S: =+7495*@tel1.sipgw
N:S: =+7*@tel2.sipgw

Это будет работать так: все городские звонки формата 9463746 пойдут на шлюз провайдера tel1, а все сотовые формата 89267485746 через второго провайдера tel2. Это очень выгодно, если один провайдер предоставляет Москву как бонус бесплатно, а у второго цены на сотовые намного ниже первого.

Источник

Строим телефонную сеть: Asterisk — самый популярный сервер IP-телефонии

Содержание статьи

Несмотря на развитие различных систем обмена информацией, таких как электронная почта и службы мгновенного обмена сообщениями, обычный телефон еще долго будет оставаться самым популярным средством связи. Ключевым событием в истории телекоммуникаций и интернета стало появление технологии передачи голоса поверх IP-сетей, поэтому за последние годы изменилось само понятие телефона. Использование VoIP современно, удобно, дешево, так как можно объединить удаленные офисы, даже не прибегая к услугам операторов телефонной связи. Какие еще доводы нужны для того, чтобы поднять свой сервер IP-телефонии?

Читайте также:  D4cb чистка форсунок своими руками

Проект Asterisk

По адресу en.wikipedia.org/wiki/List_of_SIP_software находится один из самых больших списков серверов и клиентов SIP (протокол установления сессии для работы пользовательских сеансов, включающих передачу видеоданных и голоса). В этом списке 10 серверов, распространяемых под свободной лицензией, но администраторы чаще всего предпочитают Asterisk.org»>Asterisk IP-PBX. Этот проект возник, можно сказать, случайно — его создатель Марк Спенсер (Mark Spencer, кстати, Gaim/Pidgin тоже его рук дело) не имел достаточно денег, чтобы купить для своей компании обычную АТС, и потому
вынужден был создавать его софтовую реализацию. Открытость кода способствовала быстрому росту популярности нового продукта как среди разработчиков, так и среди потребителей. Выпускается Asterisk под двойной лицензией. Кроме GNU GPL возможно создание закрытых модулей, содержащих проприетарный код. Такой подход позволяет включить поддержку закрытых кодеков и оборудования.

Несмотря на свою софтовость, Asterisk обладает всеми функциями классической АТС, и даже больше. Вот только некоторые из них: центр обработки вызовов, голосовая почта, возможность проведения конференций, что в итоге делает его мощной и легкорасширяемой платформой для создания телекоммуникационного сервиса любого масштаба. Поддерживаются практически все популярные протоколы IP-телефонии (SIP, H.323, MGCP, Skinny/SCCP, Google Talk, Skype), собственный IAX и некоторые другие для работы видео и факса. Кроме обслуживания локальных клиентов Asterisk умеет передавать голосовой трафик между серверами. Есть модули для сопряжения с аналоговыми (FXO/FXS) и цифровыми (Т1/E1) линиями.

Если функциональности недостаточно, для написания диалплана норма можно воспользоваться собственным языком Asterisk, создать модуль на Cи либо использовать универсальный интерфейс интеграции с внешними системами обработки данных AGI. Чтобы упростить разработку модулей, предназначенных для решения различных задач, предложено несколько уровней API (channel, application, codec, file format). Поэтому новые возможности (например, кодеки) появляются в Asterisk очень быстро и их внедрение проходит безболезненно. Кроме этого, модульность Asterisk позволяет администраторам подключать только необходимые функции, модифицируя систему под свои нужды. Сервер Asterisk можно установить на компьютерах,
работающих под управлением GNU/Linux, Free/Net/OpenBSD, Mac OS X/Darwin, Open/Solaris. Клиенты доступны практически для всех систем, в том числе и Windows. Исключение составляют драйверы Zaptel и ISDN-устройств, реализации которых пока есть не для всех платформ.

Установка Asterisk

К сожалению, четких указаний насчет аппаратных средств дать невозможно — слишком много тонкостей и нюансов, поэтому за примерными конфигурациями компьютеров отсылаю на страницу сайта voip.rus.net «Asterisk+dimensioning»>Производительность Asterisk-систем». Если твоя цель — знакомство с Asterisk, можно использовать один из дистрибутивов, в которых уже имеется настроенный и полностью готовый к работе сервер: Asterisknow.org»>AsteriskNow, Trixbox, VoIPonCD.

Asterisk присутствует в репозитариях пакетов большинства дистрибутивов. Так, в Ubuntu команда sudo apt-cache search Asterisk выдает приличный список пакетов, после установки которых сразу же можно приступать к настройке. Но установка из репозитария имеет один минус — как правило, в нем версия Asterisk прилично отстает от текущей, которую можно скачать с официального сайта. Поэтому рассмотрим универсальный способ установки на примере того же Ubuntu, хотя все сказанное (за редким исключением) относится и к остальным дистрибутивам.

Устанавливаем пакеты, необходимые для компиляции:

$ sudo apt-get install build-essential automake
autoconf bison flex libtool libncurses5-dev libssl-dev

Кроме того, настоятельно рекомендуется установить библиотеку libpri, даже если не нужна поддержка Primary Rate ISDN (первичный тип цифровой сети с интеграцией услуг). Это можно сделать либо через репозитарий: sudo apt-get install libpri1.2, либо используя исходные тексты:

$ wget -c downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz

Компиляция библиотеки стандартна, поэтому не будем на этом останавливаться.

Теперь скачиваем с сайта исходные тексты Asterisk и конфигурируем:

$ wget -c downloads.digium.com/pub/Asterisk/Asterisk-1.4.11.tar.gz
$ tar xzvf Asterisk-1.4.11.tar.gz
$ cd Asterisk-1.4.11
$ ./configure —prefix=/usr

По окончании работы скрипта в консоли мы увидим эмблему проекта и некоторую информацию о настройках.

$ make
$ sudo make install

Примечание: если производится установка версии 1.2, то для поддержки формата mp3 перед командой make следует ввести «make mpg123», версия 1.4 уже никак не реагирует на эту команду.

После компиляции, помимо всего прочего, будут установлены следующие исполняемые файлы:

  1. /usr/sbin/Asterisk — демон сервера Asterisk, который и обеспечивает всю работу;
  2. /usr/sbin/safe_Asterisk — скрипт для запуска, перезапуска и проверки работы сервера Asterisk;
  3. /usr/sbin/astgenkey – скрипт для создания закрытого и публичного RSA ключей в формате PEM, которые необходимы для работы Asterisk.

Чтобы установить шаблоны конфигурационных файлов и документацию, набираем:

$ sudo make samples

Примеры конфигурационных файлов будут скопированы в /etc/Asterisk. Если в этом каталоге уже находятся файлы конфигурации, они будут переименованы с префиксом «.old». Для сборки документации потребуется пакет doxygen, если его нет, устанавливаем:

$ sudo apt-get install doxygen
$ sudo make progdocs

Аналогично ставим и пакет с расширениями Asterisk-addons (этот шаг не обязательный, его можно смело пропустить). Многие модули, входящие в состав этого набора, являются экспериментальными. Их стоит устанавливать, только если требуется запись информации в БД, поддержка mp3-файлов и протокола ooh323c (Objective Systems Open H.323 for C):

$ wget -c downloads.digium.com/pub/Asterisk/Asterisk-addons-1.4.2.tar.gz
$ tar xzvf Asterisk-addons-1.4.2.tar.gz
$ cd Asterisk-addons-1.4.2
$ ./configure; make; sudo make install; sudo make samples

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

$ sudo /usr/sbin/Asterisk -vvvgc

Если получаем сообщение «Asterisk Ready» и приглашение консоли управления, значит все в порядке. Выходим:

Теперь можно переходить к дальнейшей настройке.

Настройка поддержки интерфейсных карт

Если планируется подключение сервера Asterisk с помощью специальных интерфейсных плат к обычным телефонным сетям, следует позаботиться о наличии соответствующих драйверов, реализованных в виде модуля ядра. Но даже если таких устройств в компьютере нет, эти драйверы все равно рекомендуется установить. Дело в том, что во всех Zaptel-устройствах есть таймер, и для полноценной работы сервера IP-телефонии он является необходимым. Но если Zaptel-устройства под рукой нет, для его эмуляции можно использовать специальный драйвер — ztdummy.

Читайте также:  Идеи с мебелью своими руками реставрация

Из репозитария устанавливаем пакеты zaptel, zaptel-source и собираем модули под свою систему:

$ sudo apt-get install zaptel zaptel-source
$ sudo module-assistant prepare
$ sudo m-a -t build zaptel

В /usr/src появится пакет zaptel-modules-*_i386.deb, устанавливаем его с помощью dpkg. После этого проверяем работу модулей ядра:

$ sudo depmod -a
$ sudo modprobe ztdummy

И если нужна поддержка устройств:

$ sudo modprobe zaptel
$ sudo modprobe wcfxo

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

$ echo ‘ztdummy\nzaptel\nwcfxo’ >> /etc/modules

Создаем правила для UDEV:

$ sudo mcedit /etc/udev/rules.d/51-zaptel.rules

KERNEL=»zapctl», NAME=»zap/ctl»
KERNEL=»zaptimer», NAME=»zap/timer»
KERNEL=»zapchannel», NAME=»zap/channel»
KERNEL=»zappseudo», NAME=»zap/pseudo»
KERNEL=»zap0-9*», NAME=»zap/%n»

Также можно использовать исходные тексты или CVS-версию драйвера. При самостоятельной компиляции понадобятся заголовочные файлы ядра (или исходные тексты):

$ sudo apt-get install linux-headers-`uname -r`

Создадим символическую ссылку, чтобы Asterisk нашел исходники ядра:

$ sudo ln -s /usr/src/linux-headers-2.6.20-15-generic /usr/src/linux-2.6

Теперь получаем последнюю версию драйверов:

$ cd /usr/src
$ wget -c downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz

Компилируем и устанавливаем:

$ tar xzvf zaptel-1.4-current.tar.gz
$ cd /usr/src/zaptel-1.2.17.1
$ ./configure
$ make
$ sudo make install

И чтобы вручную не создавать конфигурационные файлы:

$ sudo make config

После этой команды будет создан скрипт для автоматического запуска модулей, входящих в состав Zaptel, и конфиг /etc/default/zaptel (или /etc/sysconfig/zaptel), в котором будет указано, какие модули необходимо загружать. Рекомендую в этом файле оставить только необходимое. Пробуем загрузить модуль:

$ sudo modprobe ztdummy
$ lsmod | grep ztdummy
ztdummy 6184 0
zaptel 189860 1 ztdummy

Все нормально. После установки в системе появятся еще два файла:

  1. /etc/zaptel.conf – описывает конфигурацию аппаратного обеспечения;
  2. /etc/Asterisk/zapata.conf — настройки сервера Asterisk для работы драйвера Zap-канала.

Подробные указания для всевозможных устройств даны в документации. На русском по этому поводу можно почитать в документе «Asterisk+config+zaptel.conf»>Конфигурация драйвера ядра Zaptel». Но на этом не останавливаемся, впереди у нас еще много работы. После настройки проверяем работу командой ztcfg -vv.

Регистрация пользователей

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

$ sudo mkdir -p /var//Asterisk
$ sudo adduser —system –-no-create-home Asterisk
$ sudo addgroup —system Asterisk

Добавим пользователя Asterisk в группу audio:

$ sudo adduser Asterisk audio
$ sudo chown Asterisk:Asterisk /var/run/Asterisk
$ sudo chown -R Asterisk:Asterisk /var//Asterisk

Дальше нас интересует файл sip.conf, где определяются серверы и клиенты SIP, с которыми будет дружить наш Asterisk. Каждый из них представлен в файле отдельным блоком, который начинается с оглавления, заключенного в квадратные скобки. Параметров в sip.conf довольно много, ограничимся лишь добавлением SIP-аккаунта:

$ sudo mcedit /etc/Asterisk/sip.conf

[grinder]
type=friend
host=dynamic
; defaultip=192.168.1.200
username=grinder
secret=password
language=ru
nat=no
canreinvite=no
context=office
callerid=grinder
mailbox=1234@office
; перед использованием параметра allow следует отключить все кодеки
disallow=all
; порядок следования кодеков не имеет значения
allow=ulaw
allow=alaw

Поле type указывает, что может делать этот клиент. При значении user ему будет разрешено только принимать входящие звонки, при peer он сможет только звонить, а friend означает все действия сразу, то есть user+peer. В поле host указывается IP-адрес, с которого разрешено подключение этого клиента. Если он может подключаться с любого адреса, указываем host=dynamic. А чтобы в этом случае вызвать клиента, когда он еще не зарегистрирован, в defaultip следует записать IP-адрес, по которому его всегда можно будет найти. В username и secret указываем логин и пароль, используемые клиентом при подключении. Параметр Language задает код языка приветствий и специфичные настройки сигналов телефонов,
которые определены в файле indications.conf. При работе клиента за NAT’ом в соответствующем поле необходимо установить значение yes. Отключение canreinvite заставляет весь голосовой RTP-трафик проходить через Asterisk. Если клиенты поддерживают SIP re-invites, им можно разрешить соединяться напрямую, указав canreinvite=yes. Поле сontext определяет план набора, в который попадают вызовы, поступающие от этого клиента, а callerid — строку, которая будет выводиться при звонке от клиента. По умолчанию используется контекст default, который берет все настройки из контекста demo. Последний предназначен исключительно для демонстрационных целей, в рабочей системе необходимо создать свой контекст.
Поле mailbox указывает на голосовой ящик 1234 в контексте office. Остальные клиенты настраиваются аналогично.
После определения SIP-аккаунтов наши клиенты могут регистрироваться на сервере Asterisk и совершать исходящие вызовы. Чтобы у них была возможность принимать звонки, следует обратиться к файлу extensions.conf, в котором описывается план набора (Dialplan), распределяющий звонки в системе. Здесь же указываются все разрешенные расширения.

$ sudo mcedit /etc/Asterisk/extensions.conf

[office]
include => default
exten => 1234,1,Dial(SIP/grinder,20)
exten => 1234,2,Voicemail(grinder)

Здесь все просто. За пользователем grinder закрепляем номер 1234, и, если он не ответит на звонок, ему можно будет оставить сообщение в голосовой почте. Цифра после номера означает приоритет, который определяет последовательность выполнения задач. Теперь, если Asterisk запущен, следует подключиться к его консоли, выполнив на той же машине Asterisk -r, и с помощью команды reload заставить его перечитать конфигурационные файлы. Есть и команды для перезагрузки конкретного файла. Например, план набора перечитывается командой extensions reload.

Сервер готов к приему клиентов. По адресу Asteriskguru.com/tutorials/configuration_Asterisk_softphone.html»>www.Asteriskguru.com/tutorials/configuration_Asterisk_softphone.html выбираем себе софт-клиент и пробуем соединиться. Мне, например, нравится бесплатная версия простой и понятной в использовании программы ZoIPer (ранее Idefisk). Есть версии для Linux, Windows и Mac OS X. Еще один неплохой и также мультиплатформенный клиент — X-Lite.

Если все нормально, в консоли должно появиться сообщение вроде «Registered SIP ‘grinder’ at 192.168.0.1 port 5060», набираем номер и звоним.

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

Источник

Оцените статью