Пару лет назад поступило предложение написать обзор возможностей 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.
Идём в «Центр пакетов«.
Выбираем вкладку «Доступно» и устанавливаем ASTERISK.
Прописываем пароль для доступа к контрольной панели. Имя пользователя можно оставить по умолчанию (admin).
Нажимаем «Применить«, ждём.
Закрываем «Центр пакетов«, нажимаем на кнопку с приложениями (левый верхний угол). Затем нажимаем на иконку ASTERISK.
Попадаем в главное меню контрольной панели Digium. Вводим логин и пароль. Нажимаем кнопку Login.
Система пару раз сообщит о том, что для ASTERISK создаются конфигурационные файлы и происходит обновление GUI до последней версии.
Вот так выглядит главное окно контрольной панели Digium для ASTERISK. Тут мы проведём немало времени, но результат вам понравится.
Популярная тема — вначале все создают активный транк связи с SIP провайдером. Я же предпочитаю вначале завязать телефонные аппараты, а уже потом настраивать внешнюю связь.
Для этого идём в меню Dial Plans.
Нажимаем кнопку «new Dial Plans» и ничего там не меняем (пока!). Нажимаем save. Затем ставим «птичку» в столбце Default и в правом верхнем углу обязательно нажимаем на кнопку Apply Changes! Обязательно!
Теперь создаём пользователей.Для этого идём в меню Users и нажимаем на кнопку Create New Users.
Немного о настройках этой секции меню. 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.
Рекомендую всем и каждому. Проверяем работоспособность системы, для чего идём в главное меню Digium и просто обновляем окно браузера.
Видим, что рядом с нашими пользователями появились изображения зелёных кружочков. Это значит, что соединение абонентсов с сервером 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.
В появившемся онке ставим галочку рядом с надписью Include Outgoing Calling Rules и название нашего правила (в моём случае EIN)
Всё. Самое сложное позади — тестируем исходящую связь. Всё должно работать без проблем. Если не работает — проверяйте соответствие настроек.
Кое-что мы забыли сделать и сейчас это исправим. Мы настроили всё, что нужно для связи между абонентами внутри сети и протестировали внешний канал связи. Однако это ещё и всё, ведь нам нужно настроить входящую связь. Вообще это тема отдельного разговора, т.к. с входящим вызовом можно творить вообще всё, что угодно. Но мы ограничимся простым условием — все входящие вызовы переадресовываются на один, основной телефон. Настраиваем.
Открываем меню Incoming Calling Rules.
Нажимаем New Incoming Rule, где выбираем наш Trunk , указываем временной интервал (None) и шаблон (Pattern). В шаблоне пишем _X. — это означает, что все входящие вызовы автоматически переадресовываются на номер, который указывается в Destination. В нашем случае User Extension — 6000. Теперь все вызовы будут поступать на номер 6000. Нажимаем update и как всегда Apply Changes.
Скорее всего мануал будет дополняться. На данный момент всё протестировано и работает в боевом режиме. Удачи.