Home Все обзоры Настраиваем работающий сервер ASTERISK на базе NAS Synology.

Настраиваем работающий сервер ASTERISK на базе NAS Synology.

by neons90

Пару лет назад поступило предложение написать обзор возможностей DSM Synology для решения офисных задач. Что характерно, задачу удалось решить далеко не сразу, так как ряд приложений были собраны с такими ошибками, что запуск любого «гуя» был изначально обречён. Так было три года назад, а теперь… теперь у нас есть полноценный продукт, который работает и будет работать дальше.

В общем две недели назад меня попросили «сообразить офисную АТС» на базе Synology и Asterisk. Вспомнив первый опыт с этой сборкой меня немного передёрнуло, но не отказывать же уважаемым людям? Собственно говоря уселся творить и ушёл в недра Digium’а c головой и кривыми руками. Всего через день я разобрался в чём заключается главная проблема сборки и предлагаю всем готовое и проверенное руководство по настройке IP АТС на базе Synology. Аналогов этому руководству НЕТ, это 100% оригинальное художество имени меня. Вопросы пишем в комментарии, если самим лениво, то заносим деньги в кассу. Это базовая версия настройки, но работать будет. Большинство проблем возникает с настройкой шаблонов, но об этом мы поговорим в том случае, если что-то у кого-то вдруг не сработает.

Подготовка.

Я правильно считаю,  если вы знаете, что такое ASTERISK, то рассказывать основы IP телефонии мне не нужно? Тем не менее остановлюсь подробно на тех ошибках с которыми мне приходилось сталкиваться и будем считать эти ошибки «подготовкой».

1) Очень важно, что бы в организации была правильно настроена локальная сеть. DHCP сервер должен корректно раздавать адреса, а все статичные устройства должны иметь либо фиксированный IP, либо жёсткую привязку по MAC. Зачем? А затем, что бы это всё работало нормально и не выносило мозг админу. Мне так проще. Вы можете делать как удобнее вам.

2) IP телефоны лучше всего покупать одного производителя. Я много ковырялся с D-Link и в этом обзоре буду приводить примеры с использование недорогой модели DPH-150S. Это, правда, не помешает использовать в будущем Cisco и т.п. — были бы деньги. Но на этапе первоначальной настройки нужно быть уверенным, что конфигурация работоспособна. А это достигается путём использования одинаковых SIP аппаратов.

3) NAS Synology можно использовать любой… Но включать сознание требуется хотя бы на этапе расчёта нагрузки. Например мой 710-й Synology может легко потянуть средний офис и мне думается, что это не предел. Самое главное при работе с DSM — последнее обновление прошивки. ПОСЛЕДНЕЕ!

Итак, у нас есть полностью исправная локальная сеть, минимум пара IP аппаратов (или любых программных, главное, что бы поддерживали SIP) и настроенный NAS от Synology с последней прошивкой. Поехали.

Настраиваем DSM для работы с Asterisk.

Идём в «Центр пакетов«.

DSM Synology - центр доступных пакетов

DSM Synology — центр доступных пакетов

Выбираем вкладку «Доступно» и устанавливаем ASTERISK.

Прописываем пароль для доступа к контрольной панели. Имя пользователя можно оставить по умолчанию (admin).

Создаём пользователя в ASTERISK

Создаём пользователя в ASTERISK

Нажимаем «Применить«, ждём.

Запускаем ASTERISK

Закрываем «Центр пакетов«, нажимаем на кнопку с приложениями (левый верхний угол). Затем нажимаем на иконку ASTERISK.

Попадаем в главное меню контрольной панели Digium. Вводим логин и пароль. Нажимаем кнопку Login.

Заходим в контрольную панель ASTERISK

Заходим в контрольную панель ASTERISK

 

Система пару раз сообщит о том, что для ASTERISK создаются конфигурационные файлы и происходит обновление GUI до последней версии.

Вот так выглядит главное окно контрольной панели Digium для ASTERISK. Тут мы проведём немало времени, но результат вам понравится.

Панель "статусов" системы.

Панель «статусов» системы.

Популярная тема — вначале все создают активный транк связи с SIP провайдером. Я же предпочитаю вначале завязать телефонные аппараты, а уже потом настраивать внешнюю связь.

Для этого идём в меню Dial Plans.

Dial Plan в ASTERISK

Dial Plan в ASTERISK

Нажимаем кнопку «new Dial Plans» и ничего там не меняем (пока!). Нажимаем save. Затем ставим «птичку» в столбце Default и в правом верхнем углу обязательно нажимаем на кнопку Apply Changes! Обязательно!

Теперь создаём пользователей.Для этого идём в меню Users и нажимаем на кнопку Create New Users.

Создаём пользователя ASTERISK

Создаём пользователя ASTERISK

Немного о настройках этой секции меню. Extension — это внутренний номер телефона. По умолчанию используется цифра 6000. Вы можете выбрать другую, например 500 или 200. CallerID Name — запись из этого поля будет отображаться для функции определение номера внутри сети. Позвонит абонент с номера 6000, а на дисплее вызываемого абонента будет написано MAIN. Проверьте, что бы в поле Dial Plan отображался недавно созданный DialPlan1!

Больше нас тут ничего не интересует. Только пропишите пароль в полез SIP/AIX Password. Прописали? Нажимаем update и как обычно, в правом верхнем углу- Apply Changes. Теперь создадим ещё одного пользователя под номером 6001, для чего повторим всё предыдущее, только поменяем внутренний номер телефона на 6001 и значение внутреннего CallerID.

Теперь настраиваем телефоны. Требуется всего лишь указать данные сервера (IP адрес), имя пользователя (в нашем случае 6000 и 6001), а также пароль (у нас 123). Кстати, для тестов удобно использовать бесплатную немецкую программу PhonerLite.

Phonerlite - лёгкий SIP клиент для компьютера!

Phonerlite — лёгкий SIP клиент для компьютера!

Рекомендую всем и каждому. Проверяем работоспособность системы, для чего идём в главное меню Digium и просто обновляем окно браузера.

Проверяем статусы ASTERISK

Проверяем статусы ASTERISK

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

Начинаем вытаскивать наших абонентов в мир. Для этого создадим действующий транк. Идём в меню Trunks, выбираем вкладку VoIP Trunks, нажимаем на кнопку New SIP/IAX Trunk.

Прописываем связь с внешним миром

Прописываем связь с внешним миром

Прописываем данные вашего SIP. Для смешариков поясняю — у меня данные тестового аккаунта, можете использовать в своих целях. Сохраняем и применяем изменения! Идём обратно в главное меню (System Status) и видим следующее.

Наш транк, sipmarket.net получил статус Registered! Это означает, что система готова к финальной настройке! Теперь самое сложное, мы создаём правила набора номеров и  до сих пор вся настройка была максимально логична, но теперь без объяснений не обойтись.

Открываем Outgoing Calling Rules и нажимаем New Calling Rule.

Создаём правила исходящих звонков

Создаём правила исходящих звонков

Делаем так, как написано на скриншоте, а я попытаюсь объяснить почему это выглядит именно так.

Calling Rule Name — понятно. Обзываем наше правило исходящего звонка для абонентов — EIN. Pattern — это шаблон для работы с исходящими вызовами. Я поставил _X. — таким образом всё набранное на клавиатуре телефонов будет отправлено в транк из поля «Use Trunk«. В поле Strip мы указываем префикс для набора номера через транк. Я поставил цифру один, это означает, что для набора номера через транк мне необходимо вначале набрать единицу.

Нажимаем Save, не забываем про Apply Changes и идём привязывать созданное правило к нашему DialPlane1. Для чего открываем меню Dial Plans и нажимаем на кнопку Edit.

Подключаем правило к нашему DialPlan

Подключаем правило к нашему DialPlan

В появившемся онке ставим галочку рядом с надписью Include Outgoing Calling Rules и название нашего правила (в моём случае EIN)

Всё. Самое сложное позади — тестируем исходящую связь. Всё должно работать без проблем. Если не работает — проверяйте соответствие настроек.

Кое-что мы забыли сделать и сейчас это исправим. Мы настроили всё, что нужно для связи между абонентами внутри сети и протестировали внешний канал связи. Однако это ещё и всё, ведь нам нужно настроить входящую связь. Вообще это тема отдельного разговора, т.к. с входящим вызовом можно творить вообще всё, что угодно. Но мы ограничимся простым условием — все входящие вызовы переадресовываются на один, основной телефон. Настраиваем.

Открываем меню Incoming Calling Rules.

Правило обработки входящих звонков

Правило обработки входящих звонков

Нажимаем New Incoming Rule, где выбираем наш Trunk , указываем временной интервал (None) и шаблон (Pattern). В шаблоне пишем _X. — это означает, что все входящие вызовы автоматически переадресовываются на номер, который указывается в Destination. В нашем случае User Extension — 6000. Теперь все вызовы будут поступать на номер 6000. Нажимаем update и как всегда Apply Changes.

Скорее всего мануал будет дополняться. На данный момент всё протестировано и работает в боевом режиме. Удачи.

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

36 комментариев

vikt12 06.04.2013 - 12:07

Спасибо! Отличное руководство!

А можешь детально описать настройки шаблонов для входящих-исходящих вызовов? Там ничего не понятно, а штука нужная. _X. — это общий шаблон, правильно?

Reply
neons90 06.04.2013 - 16:44

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

Reply
KY 19.04.2013 - 21:08

Привет.
Хочу астериск с исходников собрать DS713+. Есть шансы?

Reply
neons90 21.04.2013 - 11:23

Привет!

шансы есть :), но два года назад я потратил на эту процедуру не один день… Стоит ли овчинка? Сейчас Synology предлагают работоспособный вариант и он функционирует. Так что же ещё нужно :)?

Reply
KY 21.04.2013 - 12:37

Мб я не в курсе что изменилось в сборке 1.8, но, если я сделаю так в sip.conf:
alwaysauthreject=yes
то все боты будут получать «fake auth rejection» на поиски существующих юзеров.
а чтобы fail2ban+iptables срабатывали на такой лог, то мне надо будет в конф.файле chan_sip.c изменить несколько строк.
Понимаешь о чем я?

Reply
neons90 21.04.2013 - 21:28

Отлично понимаю. А встроенная банилка Synology не срабатывает?!

Reply
KY 21.04.2013 - 23:04

Да я понятия не имею о возможностях Synology 🙂
Чувствую себя ущербным когда что-то ставлю из репозиториев и не доверяю софту, который устанавливал не я.

Reply
neons90 22.04.2013 - 01:36

Дело в том, что Syno это не совсем репы… Точнее не так, это репы, которые работают намного лучше, чем штатные решения. 🙂

Поиграйся. Оно вероятнее всего будет шевелиться.

И руками тоже можно. Если нужно, я расскажу как засунуть в DSM консоль с рутом и т.п.

Reply
KY 22.04.2013 - 21:31

Конечно рассказывай. Я с удовольствием почитаю.
Было бы очень интересно почитать про:
1) как работать с iptables в Syno
2) Я захотел редактор nano, скачал «syno-i686-bootstrap_1.2-7_i686.xsh»
запускаю «sh syno-i686-bootstrap_1.2-7_i686.xsh», а у меня после закрытия Putty редактор пропадает. Как это запилить?

Reply
neons90 22.04.2013 - 22:58

Сдаётся мне, нужно ещё один толстый мануал с картинками делать :)))… Ок, чуть позднее займусь! А пока посмотри, как работает автоматическая блокировка IP на базе DSM

Reply
Роман 29.04.2013 - 13:26

Здравствуйте. Спасибо за инструкцию! А можно ли заставить
synology записывать все разговоры?

Reply
retro jordans 03.05.2013 - 17:32

retro jordans…

To activate, enable VoiceOver in the device settings menu….

Reply
Vik 12.05.2013 - 16:25

Проверил настройки указанные в этой статье на
Asterisk/1.8.13.1 — все работает за исключением входных звонков —
подключения со стороны Sipnet сбрасываются. В чем может быть
проблема ?

Reply
neons90 16.05.2013 - 10:44

Сдаётся мне, что проблема в шаблонах.

Reply
Ranger 21.07.2013 - 19:10

У меня аналогично. Снял дамп пакетов, оказалось, что asterisk неправильно авторизуется на sipnet. Шаблоны тут ни при чем. Ковыряюсь с настройками asterisk, чтобы запрос на авторизацию был аналогичен запросу от 3CX. Последний авторизуется превосходно.

Reply
Vik 16.05.2013 - 18:17

А можно подоходчивей — настройки , в том числе и шаблоны, точно и согласно Вашей статье …

Reply
Юрий 29.06.2013 - 00:44

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

Reply
Rik 11.10.2013 - 02:23

Мне нужно соединить просто офис и склад в разных концах города, в офисе synology 1511+, все телефоны между бухгалтерией и менеджерами работают, так же на synology работает сайт, IP статический, на складе для пробы на компе установил 3СХ Phone, прописал настройки, звонок проходит а звука нет, порты 5060 и 10000: 20000 проброшены, в чем причина, где копать?

Reply
neons90 14.10.2013 - 23:23

Если звонок проходит, то копать софт, настройки софта. Я бы начал с играми в рамках одной сетки, без дополнительной маршрутизации в виде проброса портов. Думаю всё станет понятно 😉

Reply
Sergio 16.10.2013 - 03:03

Пардон, а как вы получили входящий звонок от прова? Я так и не смог добиться от GUI, чтоб тот добавил строку rigester => user:password@host/user
А без этого пров не знает куда девать входящие вызовы на наш DID.
Пробовал руками править — может и помогло б, но ушел на freePBX.

Reply
Serg 20.01.2014 - 14:15

Хорошее руководство. Планирую использовать чисто локально для общения с родственниками. Интернет есть у всех, а что такое скайп — не каждый может понять. Осталось купить телефоны (или установить приложения)
Кстати, вопрос следующего плана: какой порт нужно пробрасывать на роутере? (все настройки по умолчанию)

Reply
neons90 23.01.2014 - 13:20

ASTERISK работает через стандартные VoIP порт — 5060 UDP/TCP для SIP, порты 10000:20000 для RTP 😉

Reply
xxx 13.02.2014 - 17:58

Спасибо за статью!
провайдер sipnet.ru
при наборе в мир выдает ошибку 500: server internal failure.
где копать?

Reply
neons90 13.02.2014 - 19:51

Таки внутренняя ошибка сервера… Спросите у сипнета, что он получает от Вас.

Reply
Unripe 03.10.2014 - 00:21

Решение проблемы нашлось? Такая же ошибка DS411j.

Reply
neons90 03.10.2014 - 20:06

Необходимо убедиться в правильном соединении с SIP провайдера, потом копать свои настройки. Третьего, к сожалению, не дано.

Reply
Дмитрий 16.10.2015 - 12:27

Добрый день ! Нужна консультация и настройка Asterisk

Reply
Gogino2005 13.10.2014 - 14:52

Настроил по статье. В наличии DS411j. Провайдер Sipnet.
В итоге 500: server internal failure
В ЛК Сипнета видно подключенный Астериск…

[URL=http://fastpic.ru/view/67/2014/1013/fd8d371d595753c67558590b6faec8ce.png.html][IMG]http://i67.fastpic.ru/thumb/2014/1013/ce/fd8d371d595753c67558590b6faec8ce.jpeg[/IMG][/URL]

Reply
qantus 31.10.2014 - 09:57

Аналогично, укажите > fromuser (ваш SIP ID) и fromdomain (sipnet.ru) — всё пойдет

Reply
Artem 27.03.2015 - 14:21

Если кому-то еще пригодится!!! Решение по входящим звонкам!!!
1) в Trunk устанавливаем insecure = Very ;
2) в Incoming Calling Rules поле Parrent = s (маленькая буква s — это принимать все звонки, то есть сип и обычные, а указанный шаблон .X_ — только обычные звонки)

Reply
Евгений 20.10.2015 - 09:49

СПАСИБО !!!!!!!!!
Эти настройки помогли.

Входящий переадресован в голосовое меню, но при наборе любого номера ничего не происходит. Такое ощущение, что Астер не воспринимает входящие тоновые сигналы.

У кто нибудь сталкивался с такой проблемой ?

Reply
Павел 12.11.2015 - 16:55

В настройках транка укажите dtmfmode=auto (это наиболее универсальный вариант)
Возможно из-за используемых кодеков астериск не может распознать тоновые сигналы.
Здесь более подробно описаны возможные варианты: http://voip.rus.net/tiki-index.php?page=Asterisk+sip+dtmfmode

Reply
mixnet 12.01.2016 - 12:40

Добрый день!
А есть возможность записи разговоров ? если есть то подскажите как сделать буду признателен.
Моя версия:
Asterisk/1.8.10.1~dfsg-1ubuntu1
Asterisk GUI-version : SVN—rexported
Настройки Транка немного другие.

Reply
neons90 13.01.2016 - 16:42

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

Reply
Vladimir 03.03.2016 - 17:03

Настроил по инструкции. Всё работает, спасибо. Но! Не могу добиться правильной работы голосовой почты. Если активировать в настройках пользователя опцию «голосовая почта», при звонке к нему происходит просто отбой.

Reply
air max 2016 blue 04.09.2016 - 14:38

Its the industrys No.

Reply

Добавить комментарий для air max 2016 blue Cancel Reply