Клиенты часто обращаются к нам с довольно распространенной проблемой. В общем виде ее можно выразить так: в компании используется аналоговая телефонная станция, к которой необходимо подключить часть пользователей из удаленного местоположения. Это может быть соседний офис, соседний город или даже другая страна – главное, что телефонная сеть туда не дотягивается, зато дотягивается ЛВС или имеется доступ в сеть Интернет. Сегодня мы будем решать данную задачу при помощи VoIP-шлюзов Grandstream серии GXW4xxx.
На самом деле, у этой задачи существует множество вариаций. К примеру, проброс PSTN-линий в другую локацию или объединение номерных емкостей двух удаленных аналоговых АТС – очень похожие по смыслу и решению задачи. Поэтому, чтобы не вносить лишней путаницы, мы сразу определимся с исходными данными и примем за них следующую иллюстрацию:
Имеется головной офис компании, в котором находится аналоговая АТС, с нумерацией внутренних телефонов 2XX. Так же имеется удалённый офис с четырьмя сотрудниками, которым необходимо присвоить внутренние номера 301-304. Требуется предоставить возможность сотрудникам из разных офисов напрямую звонить друг другу, используя внутренний короткий номер.
В головном офисе компании мы разместим VoIP-шлюз Grandstream с портами FXO. Это может быть модель GXW4104 (4 порта) или GXW4108 (8 портов). А в удаленном офисе – шлюз с портами FXS — GXW4004 (4 порта) или GXW4008 (8 портов). Примем для простоты, что мы работаем с четырехпортовыми шлюзами GXW4104 и GXW4004 соответственно.
Выделим в нашей аналоговой АТС четыре внутренних порта и назначим на них внутренние номера – 301-304. Подключим Grandstream GXW4104 к локальной сети, назначим статический IP-адрес и соединим внутренний порты АТС с портами шлюза (№301 – с первым портом шлюза, №302 – со вторым и т.д.). В удаленном филиале также назначим статический адрес шлюзу GXW4004 и подключим к нему четыре аналоговых телефонных аппарата.
Теперь нам необходимо решить две подзадачи:
Решение первой задачи начнем с конфигурирования GXW4104:
Все остальные настройки шлюза GXW4104 можно оставить по умолчанию. И этих настроек вполне достаточно, чтобы организовать связь со стороны абонентов головного офиса с абонентами филиала. Да, удаленный шлюз GXW4004 даже не надо настраивать, так как он по умолчанию слушает порты 5060, 5062, 5064 и 5066 и пришедшие на эти порты сообщения преобразовывает и передает на порты 1-4 соответственно. Нечетные SIP-порты 5061, 5063, 5065 и 5067 на FXS шлюзе отданы по умолчанию для SIP over TLS.
Тем не менее, от нас требуется решить еще и вторую задачу – организовать связь со стороны абонентов удаленного филиала с абонентами головного офиса. Решить эту задачу можно двумя способами: по аналогии с первой задачей, используя различные SIP-порты для различных каналов или с помощью диалплана. Выберем второй вариант: откроем Web-интерфейс удаленного шлюза Grandstream GXW4004 и переходим в раздел Profile 1:
Возвращаемся к настройке шлюза GXW4104 в головном офисе: открываем Web-интерфейс и переходим в раздел FXO Lines > Dialing.
На этом настройка шлюзов завершена – теперь абоненты удаленного филиала могут звонить сотрудникам головного офиса и даже на городские номера через АТС, если на самой АТС этого явно не запрещено.
Немного изменим задачу. Допустим, нам необходимо подключить не один, а несколько удаленных филиалов к центральной АТС компании. Пусть это будут три розничные точки по одному абоненту в каждой:
В эти точки вместо четырехпортовых шлюзов было бы логичней поставить недорогие однопортовые SIP-адаптеры, например, Grandstream HT701. Как в таком случае изменятся настройки на шлюзе GXW4104? Для прохождения вызова от абонентов головного офиса к удаленным абонентам теперь не требуется использовать различные SIP-порты, так как теперь вызовы для различных удаленных абонентов будут направляться на различные IP-адреса. И тут мы встречаемся с первой проблемой – количество SIP-серверов, которые можно задать на GXW4104 (и даже на GXW4108) ограничено тремя, поэтому больше чем три локации подключить через один такой FXO-шлюз не получится.
Исходящие вызовы с центральной АТС в удаленные точки заработали, так как каждый HT701 слушает свой порт 5060 по умолчанию и при поступлении звонка инициирует вызов подключенного к единственному FXS-порту телефона. Для того чтобы вызовы пошли в другую сторону, необходимо настроить каждый Grandstream HT701. Заходим на Web-интерфейс шлюза HT-701 и переходим в раздел FXS PORT.
Если в настройках FXO Lines > Dialing Grandstream GXW4104 в поле Stage Method(1/2) указано ch1-4:1, а в поле Prefix to Specify Port указано 99, то вызовы от абонентов удаленных точек в сторону абонентов головной АТС также заработают.
В рассматриваемой задаче FXO-шлюз, установленный в головном офисе, является ключевым элементом, отказаться от которого мы не можем, так как центральная АТС, по условиям задачи, не поддерживает протокол SIP. Если замена центральной АТС – это трудоемкая и дорогостоящая процедура, то заменить аналоговые телефоны на аппараты с поддержкой SIP в удаленных филиалах довольно легко и многие наши клиенты так и поступают. Это несколько упрощает схему:
Настройки шлюза GXW4104 не меняются по сравнению с предыдущим примером. Настройки IP-телефона рассмотрим на примере модели Grandstream GXP1620. Откроем Web-интерфейс и перейдем в раздел Accounts — Account 1 — General Settings.
На этом настройка IP-телефона закончена – теперь с них можно совершать вызовы на телефоны абонентов центральной АТС. Следует отметить, что не все телефоны могут работать в такой конфигурации. Главное требование к аппаратам – возможность совершать вызовы без регистрации. Также телефоны должны уметь добавлять префикс в набираемый номер. Второе требование не является обязательным, так как вместо использования диалплана, можно направлять вызовы с разных IP-телефонов на различные SIP-порты FXO-шлюза, что позволит последнему правильно отправлять вызовы на АТС. Также можно воспользоваться 2-этапным набором номера, что, правда, менее удобно. Наиболее популярные марки IP-телефонов, такие как Grandstream, Yealink, Fanvil, Linksys отвечают указанным требованиям и поддерживают работу в данной конфигурации.
На самом деле, у этой задачи существует множество вариаций. К примеру, проброс PSTN-линий в другую локацию или объединение номерных емкостей двух удаленных аналоговых АТС – очень похожие по смыслу и решению задачи. Поэтому, чтобы не вносить лишней путаницы, мы сразу определимся с исходными данными и примем за них следующую иллюстрацию:
Имеется головной офис компании, в котором находится аналоговая АТС, с нумерацией внутренних телефонов 2XX. Так же имеется удалённый офис с четырьмя сотрудниками, которым необходимо присвоить внутренние номера 301-304. Требуется предоставить возможность сотрудникам из разных офисов напрямую звонить друг другу, используя внутренний короткий номер.
В головном офисе компании мы разместим VoIP-шлюз Grandstream с портами FXO. Это может быть модель GXW4104 (4 порта) или GXW4108 (8 портов). А в удаленном офисе – шлюз с портами FXS — GXW4004 (4 порта) или GXW4008 (8 портов). Примем для простоты, что мы работаем с четырехпортовыми шлюзами GXW4104 и GXW4004 соответственно.
Выделим в нашей аналоговой АТС четыре внутренних порта и назначим на них внутренние номера – 301-304. Подключим Grandstream GXW4104 к локальной сети, назначим статический IP-адрес и соединим внутренний порты АТС с портами шлюза (№301 – с первым портом шлюза, №302 – со вторым и т.д.). В удаленном филиале также назначим статический адрес шлюзу GXW4004 и подключим к нему четыре аналоговых телефонных аппарата.
Теперь нам необходимо решить две подзадачи:
- Разрешить абонентам головного офиса (№201, №202) звонить абонентам удаленного офиса (№№301 – 304)
- Разрешить абонентам удаленного офиса звонить абонентам головного офиса компании.
Решение первой задачи начнем с конфигурирования GXW4104:
- Раздел Accounts — Account 1 — General Settings. В поле SIP Server указываем IP-адрес FXS-шлюза Grandstream GXW4004, расположенного в удаленном офисе. Если шлюзы расположены в одной локальной сети или объединены VPN – указываем локальный IP-адрес. В противном случае, указываем внешний IP-адрес удаленного подразделения, а на удаленном маршрутизаторе придется пробрасывать порты. Про проброс портов отдельно расскажем чуть позже.
- Раздел Accounts — Account 1 — SIP Settings. В поле SIP Registration выбираем значение No – шлюзы будут взаимодействовать между собой в режиме «без регистрации».
- Раздел Settings – Channels Settings – Calling to VoIP. В поле SIP Server мы указываем ch1-4:p1; Это означает, что вызовы, поступившие от АТС на любой из FXO портов шлюза, будут перенаправлены на IP-адрес, указанный в разделе Accounts — Account 1 — General Settings. Если бы по каким-либо причинам вместо Account1 мы бы использовали Account2, то эта запись выглядела бы следующим образом: ch1-4:p2; Если бы мы использовали восьмипортовый шлюз GXW4108, то для работы со всеми его портами мы бы указали ch1-8:p1;
- Раздел Settings – Channels Settings – Calling to VoIP. Мало знать IP-адрес, на который следует перенаправлять вызовы, нужен еще SIP-порт. Поэтому в поле SIP Destination Port мы меняем значение по умолчанию ch1-4:5060 на ch1-4:5060++; Запись означает, что вызовы с АТС на первый FXO-порт будут отправлены на SIP-порт 5060 удаленного шлюза, на второй FXO-порт – будут отправлены на SIP-порт 5062, на третий и четвертый – на порты 5064 и 5066 соответственно. Именно на основе SIP-порта, на который пришел вызов, FXS-шлюз в удаленном филиале будет понимать для какого из четырех его телефонов, этот вызов предназначен.
- Раздел Settings – Channels Settings – Calling to VoIP. Поле User ID по умолчанию имеет вид ch1-4:. Нам это не совсем подходит, так как в этом случае, пришедший с АТС вызов не будет автоматически перенаправляться в IP-сеть. Вместо этого, шлюз будет ожидать, когда абонент АТС, инициировавший вызов, донаберет некоторый номер, на который и следует отправить вызов. Нам это не подходит, поэтому в это поле было бы логично записать следующее: ch1:301;ch2:302;ch3:303;ch4:304. Тогда FXO-шлюз будет добавлять номера 301-304 (в зависимости от порта) в SIP-сообщение для передачи на FXS-шлюз. Но, как мы отметили ранее, удаленный FXS-шлюз будет распределять звонки между своими телефонами только на основе SIP-порта, поэтому такая запись будет излишней. Нам достаточно указать абсолютно любое значение, кроме пустого, чтобы FXO-шлюз начал пересылать вызовы на указанный IP-адрес по указанным портам. Записи ch1-4:123; или ch1-4:x; вполне будут работать.
Все остальные настройки шлюза GXW4104 можно оставить по умолчанию. И этих настроек вполне достаточно, чтобы организовать связь со стороны абонентов головного офиса с абонентами филиала. Да, удаленный шлюз GXW4004 даже не надо настраивать, так как он по умолчанию слушает порты 5060, 5062, 5064 и 5066 и пришедшие на эти порты сообщения преобразовывает и передает на порты 1-4 соответственно. Нечетные SIP-порты 5061, 5063, 5065 и 5067 на FXS шлюзе отданы по умолчанию для SIP over TLS.
Тем не менее, от нас требуется решить еще и вторую задачу – организовать связь со стороны абонентов удаленного филиала с абонентами головного офиса. Решить эту задачу можно двумя способами: по аналогии с первой задачей, используя различные SIP-порты для различных каналов или с помощью диалплана. Выберем второй вариант: откроем Web-интерфейс удаленного шлюза Grandstream GXW4004 и переходим в раздел Profile 1:
- В поле Primary SIP Server указываем IP-адрес FXO-шлюза Grandstream GXW4104, расположенного в головном офисе. Если это не локальный IP-адрес, то также потребуется проброс портов.
- В поле SIP Registration выбираем значение No – шлюзы будут взаимодействовать между собой в режиме «без регистрации».
- В поле Outgoing Call without Registration выбираем значение Yes, разрешая тем самым совершать шлюзы исходящие вызовы в режиме «без регистрации».
- В поле Dialplan указываем {<=99$P>x+}. Эта запись говорит шлюзу о следующем: разрешить набор всех номеров, состоящих из одной и более цифр (x+) и каждому набираемому номеру добавлять префикс 99$P, где $P – это номер FXS-порта, к которому подключен телефон, совершающий вызов. Когда абонент 301 наберет на своем телефоне номер 202, то шлюз GXW4004 передаст на GXW4104 номер вида 99-1-202. Если абонент 303 будет набирать номер 204, он будет передан как 99-3-204. Именно на основе этого префикса, FXO-шлюз в головном офисе и будет определять, через какой FXO-порт ему следует передать вызов на АТС.
Возвращаемся к настройке шлюза GXW4104 в головном офисе: открываем Web-интерфейс и переходим в раздел FXO Lines > Dialing.
- В поле Stage Method(1/2) делаем запись ch1-4:1; Это означает, что для всех четырех каналов будет использоваться вызов без донабора. Если бы мы оставили запись по умолчанию ch1-4:2, то абоненту удаленного филиала пришлось бы повторно набирать необходимый ему номер, после попадания вызова на FXO-шлюз. А это лишняя работа, так как абонент один раз уже набрал нужный ему номер.
- В поле Prefix to Specify Port оставляем значение по умолчанию 99. Обнаружив этот префикс в пришедшем из филиала номере, FXO-шлюз поймет, что следующая цифра – это номер порта, через который ему следует этот вызов отправить на АТС. Таким образом, мы добьемся того, чтобы вызовы от удаленных абонентов приходили строго в назначенные им порты на АТС.
На этом настройка шлюзов завершена – теперь абоненты удаленного филиала могут звонить сотрудникам головного офиса и даже на городские номера через АТС, если на самой АТС этого явно не запрещено.
О пробросе портов
Какие порты следует пробрасывать?
Естественно, проброс портов строго рекомендуется делать с привязкой к адресу источника. А еще лучше вовсе отказаться от проброса портов и, по возможности, организовать сеть VPN между двумя удаленными локациями.
- В нашей конфигурации – это UDP-порты 5060, 5062, 5064 и 5066 для SIP-протокола. Для восьмипортовых шлюзов потребуется также пробросить четные порты 5068 – 5074.
- Голосовой трафик RTP: на каждый канал связи задействовано 2 порта (сам голос RTP + управление RTCP). На шлюзах начальный порт указывается в опции Local RTP port, по умолчанию для обоих шлюзов — 5004, соответственно для первого порта будут прослушиваться UDP порты 5004 + 5005, для второго 5006+5007 и так далее. Соответственно, при использовании Local RTP port = 5004, потребуется пробросить для 4-портового шлюза — порты 5004-5011, а для 8-портового шлюза — порты 5004-5019.
Естественно, проброс портов строго рекомендуется делать с привязкой к адресу источника. А еще лучше вовсе отказаться от проброса портов и, по возможности, организовать сеть VPN между двумя удаленными локациями.
Несколько удаленных офисов
Немного изменим задачу. Допустим, нам необходимо подключить не один, а несколько удаленных филиалов к центральной АТС компании. Пусть это будут три розничные точки по одному абоненту в каждой:
В эти точки вместо четырехпортовых шлюзов было бы логичней поставить недорогие однопортовые SIP-адаптеры, например, Grandstream HT701. Как в таком случае изменятся настройки на шлюзе GXW4104? Для прохождения вызова от абонентов головного офиса к удаленным абонентам теперь не требуется использовать различные SIP-порты, так как теперь вызовы для различных удаленных абонентов будут направляться на различные IP-адреса. И тут мы встречаемся с первой проблемой – количество SIP-серверов, которые можно задать на GXW4104 (и даже на GXW4108) ограничено тремя, поэтому больше чем три локации подключить через один такой FXO-шлюз не получится.
- Заходим в раздел Accounts — Account 1 – General Settings. В поле SIP-Server указываем IP-адрес шлюза HT701 розничной точки 1. Делаем то же самое для Account 2 и Account 3, указывая адреса шлюзов из розничной точки 2 и 3 соответственно.
- Раздел Accounts — Account 1 — SIP Settings. В поле SIP Registration выбираем значение No. Повторяем для Account 2 и Account 3.
- Раздел Settings – Channels Settings – Calling to VoIP. В поле SIP Server мы указываем ch1:p1;ch2:p2;ch3:p3;ch4:p1; Хоть четвертый канал и не используется, профиль мы для него назначить должны. В поле SIP Destination Port мы оставляем значение по умолчанию ch1-4:5060. Поле User ID заполняем аналогично предыдущему примеру, например, ch1-4:123;
Исходящие вызовы с центральной АТС в удаленные точки заработали, так как каждый HT701 слушает свой порт 5060 по умолчанию и при поступлении звонка инициирует вызов подключенного к единственному FXS-порту телефона. Для того чтобы вызовы пошли в другую сторону, необходимо настроить каждый Grandstream HT701. Заходим на Web-интерфейс шлюза HT-701 и переходим в раздел FXS PORT.
- В поле Primary SIP Server указываем IP адрес FXO шлюза Grandstream GXW4104.
- В поле SIP Registration выбираем No
- В поле Dial Plan Prefix указываем 991 для первой точки (телефон 301), 992 для второй (302) и 993 для третьей (303). На основе этого префикса FXO-шлюз в головном офисе поймет, через какой порт следует отправлять вызов на АТС.
Если в настройках FXO Lines > Dialing Grandstream GXW4104 в поле Stage Method(1/2) указано ch1-4:1, а в поле Prefix to Specify Port указано 99, то вызовы от абонентов удаленных точек в сторону абонентов головной АТС также заработают.
Используем IP-телефоны
В рассматриваемой задаче FXO-шлюз, установленный в головном офисе, является ключевым элементом, отказаться от которого мы не можем, так как центральная АТС, по условиям задачи, не поддерживает протокол SIP. Если замена центральной АТС – это трудоемкая и дорогостоящая процедура, то заменить аналоговые телефоны на аппараты с поддержкой SIP в удаленных филиалах довольно легко и многие наши клиенты так и поступают. Это несколько упрощает схему:
Настройки шлюза GXW4104 не меняются по сравнению с предыдущим примером. Настройки IP-телефона рассмотрим на примере модели Grandstream GXP1620. Откроем Web-интерфейс и перейдем в раздел Accounts — Account 1 — General Settings.
- В поле Account Name укажем номер телефона – 301, 302 или 303.
- В поле SIP Server укажем IP адрес FXO шлюза Grandstream GXW4104.
- Перейдем в раздел Account 1 — SIP Settings — Basic Settings и в поле SIP Registration выберем No.
- Перейдем в раздел Account 1 — Call Settings и в поле Dial Plan Prefix укажем значение 991 для телефона 301, 992 – для телефона 302 и 993 для телефона 303.
На этом настройка IP-телефона закончена – теперь с них можно совершать вызовы на телефоны абонентов центральной АТС. Следует отметить, что не все телефоны могут работать в такой конфигурации. Главное требование к аппаратам – возможность совершать вызовы без регистрации. Также телефоны должны уметь добавлять префикс в набираемый номер. Второе требование не является обязательным, так как вместо использования диалплана, можно направлять вызовы с разных IP-телефонов на различные SIP-порты FXO-шлюза, что позволит последнему правильно отправлять вызовы на АТС. Также можно воспользоваться 2-этапным набором номера, что, правда, менее удобно. Наиболее популярные марки IP-телефонов, такие как Grandstream, Yealink, Fanvil, Linksys отвечают указанным требованиям и поддерживают работу в данной конфигурации.
Поделиться с друзьями
bazis13
Сегодня звонил в компанию СДЭК на номер 499, всё булькает, прерывается… еле слышно.
Госпади, почему просто нельзя раздать операторам личные телефонные номера и зарегистрировать их в мессенджерах.
Чтобы хотя бы в качестве альтернативы, была возможность позвонить в viber или hangouts и насладиться чистым звуком, который не трогали криворукие админы, собирающие убогую телефонию на дешевых железках.
Думаю, что рано или поздно компании поймут, что люди сразу хотят говорить с конкретными живыми людьми, а не роботами с «нажмите 2, и мы вас соединим с нужным отделом через 15 минут»
LumberJack
Гораздо смешнее, когда люди с «булькающих линий» звонят с предложениями существенно оптимизировать расходы на связь.
LuckyStarr
Операторов меньше, чем желающих с ними поговорить: приходится выкручиваться и пытаться отсеять тех, кто мог бы и без живого обойтись.
bazis13
Ок, пусть в контактах на сайте будет список номеров операторов и рядом их статус — занят/свободен.
Как на страничке появится свободный оператор — я позвоню. Сделать такое — проще простого, и это приятнее, чем слушать музыку в трубке в ожидании.
Вся инфраструктура для такой телефонии готовая, бесплатная, бесконечно масштабируемая и круглосуточно обслуживается профессионалами, а не приходящим админом-студентом.
Glays
набрал номер, а уже занято, кто-то быстрее успел набрать.
И так до просветления.
Уж лучше музыку. Хотя мне было бы приятнее простые гудки.
rughost
Решение ко второй части — жать все время единицу, не слушая бота. Девушке на телефоне сказать, что нужно, она дальше сама переведет