Пару лет назад поступило предложение написать обзор возможностей 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.
Скорее всего мануал будет дополняться. На данный момент всё протестировано и работает в боевом режиме. Удачи.
36 комментариев
Спасибо! Отличное руководство!
А можешь детально описать настройки шаблонов для входящих-исходящих вызовов? Там ничего не понятно, а штука нужная. _X. — это общий шаблон, правильно?
Тут есть такое дело. Тонкая настройка планов и щаблонов требует гигантского труда, т.к. разработчики Диджиума предлагают очень своеобразное руководство. Большинство настроек подбирается методом шаманства…
Привет.
Хочу астериск с исходников собрать DS713+. Есть шансы?
Привет!
шансы есть :), но два года назад я потратил на эту процедуру не один день… Стоит ли овчинка? Сейчас Synology предлагают работоспособный вариант и он функционирует. Так что же ещё нужно :)?
Мб я не в курсе что изменилось в сборке 1.8, но, если я сделаю так в sip.conf:
alwaysauthreject=yes
то все боты будут получать «fake auth rejection» на поиски существующих юзеров.
а чтобы fail2ban+iptables срабатывали на такой лог, то мне надо будет в конф.файле chan_sip.c изменить несколько строк.
Понимаешь о чем я?
Отлично понимаю. А встроенная банилка Synology не срабатывает?!
Да я понятия не имею о возможностях Synology 🙂
Чувствую себя ущербным когда что-то ставлю из репозиториев и не доверяю софту, который устанавливал не я.
Дело в том, что Syno это не совсем репы… Точнее не так, это репы, которые работают намного лучше, чем штатные решения. 🙂
Поиграйся. Оно вероятнее всего будет шевелиться.
И руками тоже можно. Если нужно, я расскажу как засунуть в DSM консоль с рутом и т.п.
Конечно рассказывай. Я с удовольствием почитаю.
Было бы очень интересно почитать про:
1) как работать с iptables в Syno
2) Я захотел редактор nano, скачал «syno-i686-bootstrap_1.2-7_i686.xsh»
запускаю «sh syno-i686-bootstrap_1.2-7_i686.xsh», а у меня после закрытия Putty редактор пропадает. Как это запилить?
Сдаётся мне, нужно ещё один толстый мануал с картинками делать :)))… Ок, чуть позднее займусь! А пока посмотри, как работает автоматическая блокировка IP на базе DSM
Здравствуйте. Спасибо за инструкцию! А можно ли заставить
synology записывать все разговоры?
retro jordans…
To activate, enable VoiceOver in the device settings menu….
Проверил настройки указанные в этой статье на
Asterisk/1.8.13.1 — все работает за исключением входных звонков —
подключения со стороны Sipnet сбрасываются. В чем может быть
проблема ?
Сдаётся мне, что проблема в шаблонах.
У меня аналогично. Снял дамп пакетов, оказалось, что asterisk неправильно авторизуется на sipnet. Шаблоны тут ни при чем. Ковыряюсь с настройками asterisk, чтобы запрос на авторизацию был аналогичен запросу от 3CX. Последний авторизуется превосходно.
А можно подоходчивей — настройки , в том числе и шаблоны, точно и согласно Вашей статье …
Начал делать по статье, дошел до момента настройки
софтофонов. На компе поставил 3сх, на мобиле штатными средствами
(хотя 3сх тоже пробовал). Звонки туда-обратно проходят, но звука не
слышно. В настройках первым кодеком стоит u-law, вторым GSM. Сам
больше ничего не менял (кроме номеров. использую двузначные). Все
четко по статье. В чем может быть косяк?
Мне нужно соединить просто офис и склад в разных концах города, в офисе synology 1511+, все телефоны между бухгалтерией и менеджерами работают, так же на synology работает сайт, IP статический, на складе для пробы на компе установил 3СХ Phone, прописал настройки, звонок проходит а звука нет, порты 5060 и 10000: 20000 проброшены, в чем причина, где копать?
Если звонок проходит, то копать софт, настройки софта. Я бы начал с играми в рамках одной сетки, без дополнительной маршрутизации в виде проброса портов. Думаю всё станет понятно 😉
Пардон, а как вы получили входящий звонок от прова? Я так и не смог добиться от GUI, чтоб тот добавил строку rigester => user:password@host/user
А без этого пров не знает куда девать входящие вызовы на наш DID.
Пробовал руками править — может и помогло б, но ушел на freePBX.
Хорошее руководство. Планирую использовать чисто локально для общения с родственниками. Интернет есть у всех, а что такое скайп — не каждый может понять. Осталось купить телефоны (или установить приложения)
Кстати, вопрос следующего плана: какой порт нужно пробрасывать на роутере? (все настройки по умолчанию)
ASTERISK работает через стандартные VoIP порт — 5060 UDP/TCP для SIP, порты 10000:20000 для RTP 😉
Спасибо за статью!
провайдер sipnet.ru
при наборе в мир выдает ошибку 500: server internal failure.
где копать?
Таки внутренняя ошибка сервера… Спросите у сипнета, что он получает от Вас.
Решение проблемы нашлось? Такая же ошибка DS411j.
Необходимо убедиться в правильном соединении с SIP провайдера, потом копать свои настройки. Третьего, к сожалению, не дано.
Добрый день ! Нужна консультация и настройка Asterisk
Настроил по статье. В наличии 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]
Аналогично, укажите > fromuser (ваш SIP ID) и fromdomain (sipnet.ru) — всё пойдет
Если кому-то еще пригодится!!! Решение по входящим звонкам!!!
1) в Trunk устанавливаем insecure = Very ;
2) в Incoming Calling Rules поле Parrent = s (маленькая буква s — это принимать все звонки, то есть сип и обычные, а указанный шаблон .X_ — только обычные звонки)
СПАСИБО !!!!!!!!!
Эти настройки помогли.
Входящий переадресован в голосовое меню, но при наборе любого номера ничего не происходит. Такое ощущение, что Астер не воспринимает входящие тоновые сигналы.
У кто нибудь сталкивался с такой проблемой ?
В настройках транка укажите dtmfmode=auto (это наиболее универсальный вариант)
Возможно из-за используемых кодеков астериск не может распознать тоновые сигналы.
Здесь более подробно описаны возможные варианты: http://voip.rus.net/tiki-index.php?page=Asterisk+sip+dtmfmode
Добрый день!
А есть возможность записи разговоров ? если есть то подскажите как сделать буду признателен.
Моя версия:
Asterisk/1.8.10.1~dfsg-1ubuntu1
Asterisk GUI-version : SVN—rexported
Настройки Транка немного другие.
тут такое дело, что это отдельный модуль, интегрировать в NAS его, разумеется, можно, но… это потребует ковыряния уже в кишках DSM и линукса, а не конфигов астериска. Таким образом предлагаю Вам искать другое решение, тут могут быть сложности (и будут).
Настроил по инструкции. Всё работает, спасибо. Но! Не могу добиться правильной работы голосовой почты. Если активировать в настройках пользователя опцию «голосовая почта», при звонке к нему происходит просто отбой.
Its the industrys No.