3CX SIP сервер + SIP домен + внешние подключения на динамическом IP адресе
3CX SIP сервер + SIP домен + внешние подключения на динамическом IP адресе
Опубликовано admin в Ср, 10/03/2010 - 00:50
В данной статье я покажу, как решить весьма актуальную задачу для небольших компаний или домашних офисов. Задача распадется на четыре составляющие:
- Создать для компании собственный SIP адрес вида sip.домен_фирмы (например, sip.3cx.com.ua).
- Принимать SIP вызовы непосредственно на SIP адреса пользователей (например, igor@sip.3cx.com.ua)
- Подключаться к офисной 3CX и работать удаленно, имея при этом динамический IP адрес
- Принимать вызовы от VoIP провайдеров, имея динамический IP адрес
Будем исходить из предположения о том, что небольшая фирма имеет только доменное имя, но не имеет собственного или провайдерского DNS сервера. Предположим также, что фирма не готова оплачивать фиксированный IP адрес, либо он не предусмотрен условиями ее интернет-подключения. Я также предполагаю, что читатели в общих чертах знакомы с принципами работы DNS, настройкой файрволов и протоколом SIP. Для определенности, определим наше доменное имя как 3cx.com.ua.
Вначале разместим наше доменное имя на одном из самых популярных бесплатных DNS сервисов Zoneedit. Подробная инструкция по подключению домена на Zoneedit имеется здесь. В данной статье эта процедура обсуждается только применительно к SIP адресам (хостам).
После регистрации нашего домена в Zoneedit, создадим хост sip.3cx.com.ua и направим его на текущий IP адрес нашего сервера 3CX. Наш текущий IP адрес можно узнать по этой ссылке.
Внимание! Для чего я создал этот хост? Дело в том, что я мог бы и не создавать хост (поддомен), а использовать DNS SRV запись. Тогда SIP адреса пользователей имели бы вид igor@3cx.com.ua, то есть соответствовали адресам E-mail. И это, в общем, предпочтительнее. Но, к сожалению, Zoneedit не поддерживает SRV записи! С другой стороны, по стандарту, если SIP клиент не находит SIP сервер по SRV записи, он пытается подключиться к A записи домена на порт 5060. В моем случае это будет 3cx.com.ua:5060. Но, A запись 3cx.com.ua указывает на мой WEB сервер (на web сайт), который находится на внешнем хостинге и не предоставляет, разумеется, никаких SIP сервисов. Итак, вам не нужно создавать хост (поддомен) вида sip.имя_домена, если:
- вы не имеете web сервера (web сайта)
- web сервер доступен только по адресу www.имя_домена, а не имя_домена
- вы размещаете сайт на том же сервере, или за тем же роутером, за которым расположен сервер 3CX
- ваш DNS сервер или DNS вашего провайдера поддерживают SRV записи (обычно, это не актуально для динамических IP адресов и требует квалифицированного / платного обслуживания)
Создав хост sip.3cx.com.ua я должен побеспокоиться о том, чтобы автоматически обновлять его IP адрес в Zoneedit тогда, когда меняется мой динамический IP. Zoneedit, к счастью, поддерживает Dynamic DNS! Итак, скачаем и запустим программу zeDyn от Zoneedit для динамического обновления IP адреса нашего сервера (хоста). Запустить ее можно непосредственно на сервере 3CX, либо на любом компьютере, находящемся внутри вашей сети. Ее также можно запустить как сервис Windows – необходимые для этого файлы входят в архив программы.
В программе просто укажите логин и пароль доступа к Zoneedit и имя хоста, которое следует обновлять. Все!
Закончив с хостом sip.3cx.com.ua и Dynamic DNS для него, настроим 3CX для корректной обработки внешних вызовов на наш домен. Делается это в консоли 3CX в Settings > Advanced > Local SIP Domain – sip.3cx.com.ua.
Теперь нужно открыть необходимые порты на вашем файерволе (или “опубликовать” порты через NAT, как это еще называется) для того, чтобы входящие “прямые” SIP вызовы успешно принимались 3CX сервером. 3CX требует публикации порта 5060 (TCP + UDP) для SIP сигнализации и портов 9000 (UPD) и выше (см. русскую документацию, стр. 19). Процедура публикации портов на каждом роутере своя, но наглядный пример представлен здесь.
Открыв порты на файерволе, мы делаем два дела сразу. Во-первых, как было сказано выше, мы позволяем входящим “прямым” SIP вызовам от других пользователей успешно достигать нашего 3CX сервера, а во-вторых, мы можем подключиться программой 3CX Phone к 3CX серверу извне и зарегистрироваться на нем. Для этого 3CX Phone настраивается следующим образом.
Итак, теперь можно смело указать в визитке рядом с номером телефона свой SIP ID. У меня он igor@sip.3cx.com.ua. Любой пользователь любой SIP службы в мире может позвонить на него, при условии, что такие звонки разрешены администратором этой службы. Также, можно регистрировать адрес sip.3cx.com.ua у ваших VoIP провайдеров, если вы планируете принимать городские номера через SIP. И, наконец, вы запросто можете подключаться к вашей офисной системе из командировки, из дома, да откуда угодно!