АТС 3CX Phone System может быть соединена с IP-АТС другого производителя. В этой статье будет разобраны варианты интеграции 2-х АТС, если сторонняя станция поддерживает стандарт SIP. Если другая АТС не поддерживает этот стандарт, читайте другую статью.
Существует два способа интеграции 3CX со сторонней АТС: это с помощью внешнего SIP-транка и с помощью 3CX моста. Каждый способ имеет свои сложности, и выбор пути решения задачи будет за вами.
Настройка через внешний SIP-транк
На АТС 3CX и на сторонней АТС нужно создать по sip-транку с идентификацией противоположной стороны по ip-адресу. Как настраивать транк на 3CX читайте в этой статье.
Для совершения звонков с 3CX на стороннюю АТС настройте исходящее правило. Здесь самое главное решить, как мы будем идентифицировать исходящий вызов на удаленную АТС. Если 3СХ и удаленная АТС имеют разное количество цифр у внутренних номеров, то идентифицировать вызов можно по длине набора. Если количество цифр в добавочных совпадает, но номерной план двух АТС не пересекается, и у каждой АТС свои уникальные первые цифры добавочных номеров, звонки можно идентифицировать по длине набора + уникальные первые цифры (префиксы) набора.
Если первые два варианта идентификации вызова не подходят, то нужно использовать добавочные префиксы. Поясним на примере. Предположим, на обоих АТС 3-хзначные добавочные и номерной план пересекается. Тогда договоримся, к примеру, что при наборе удаленного добавочного номера всегда будем добавлять к нему цифру 1. В этом случае нужно создать исходящее правило, которое будет работать для наборов длиной в 4 цифры и с префиксом (с первой цифрой в наборе) 1. Все такие наборы будут уводиться в ранее созданный транк, при этом при передаче вызова в транк будет убираться первая цифра. Как создать такое правило читайте в другой статье.
Сложнее обстоит дело с приемом входящих с удаленной АТС на 3CX. Дело в том, что обычные транки на 3CX не поддерживают сквозной набор номера. Т.е. невозможно заставить АТС 3CX набрать у себя номер, который был набран на удаленной АТС. Внешний вызов, который пришел на транк, может быть маршрутизирован только на конкретный добавочный номер, например, на номер автосекретаря.
Конечно, можно с удаленной АТС позвонить на 3CX, попасть на автосекретаря и там сделать донабор добавочного, который нам нужен на 3CX, но такое неудобно. Единственным выходом из ситуации служит создание DID-правил.
DID-правило – это правило входящей маршрутизации, которое работает в зависимости от номера, на который пришел вызов. Если АТС 3CX содержит, к примеру, 100 внутренних добавочных номеров, то можно создать 100 DID-правил. Каждое DID-правило будет соответствовать одному из добавочных номеров 3CX и будет уводить входящий вызов на соответствующий добавочный.
К примеру, для добавочного 1101 мы должны присвоить DID 1101, для добавочного 1102 - DID 1102 и т.д. Присвоение DID номеров осуществляется в параметрах самого пользователя, в разделе "Назначенный DID-номер(а)" . Подробно о DID-правилах читайте в другой статье.
Настройка DID-правил по количеству добавочных на АТС, и постоянная ручная синхронизация этих правил с номерным планом АТС, если он меняется – это основная сложность данного подхода.
ВАЖНОЕ ЗАМЕЧАНИЕ. 3CX не позволяет создавать DID-правила менее чем из 4-х символов номера назначения. Поэтому, если у вас 2-х или 3-хзначная нумерация, то DID-правило с номером назначения в виде нужного вам добавочного номера (на который вы должны принять звонок) не создастся. Для 3-хзначной нумерации выход простой: создавать правила, у которых вначале номера назначения ставить знак звездочки *. Звездочка обозначает, что вместо нее может идти любая последовательность цифр, в том числе и пустая. Таким образом, вы добьете длину номера назначения до 4-х символов, а по сути ничего не поменяется.
Для двухзначной нумерации такое решение не подойдет. Здесь нужно на удаленной АТС при передаче звонка в транк к началу номера назначения добавлять пару любых фиксированных цифр. Например, 00. Тогда, к примеру, если вы звоните на номер 12, то в транк должно уйти, что вы звоните на 0012, и этот же номер 0012 будет использовать DID-правило в качестве номера назначения. При этом входящий звонок на 0012 правилом будет маршрутизироваться на добавочный 12.
В 3CX существует красивый способ, как уйти от большого количества DID-правил – это использование 3CX Call Flow Designer (CFD) – среды визуального программирования сложных обработчиков входящих вызовов. Модуль, созданный с помощью CFD, будет получать входящий звонок от удаленной АТС и вызывать добавочный номер, соответствующий номеру назначения вызова.
Есть некоторая сложность такого решения – этот метод требует знаний и навыков работы с CFD. Кроме ограничения метод обладает одной особенностью: когда вызов поступает в CFD-модуль, то с точки зрения АТС 3CX вызов считается отвеченным. Таким образом, на другом конце вместо гудков будут слышать музыку на удержании: на вызов ответил CFD-модуль (т.е. он как бы поднял трубку), и далее CFD-модуль сделал трансфер на добавочный номер назначения вызова. Именно в такой логике будет отработан входящий вызов с удаленной АТС.
Мы не будем углубляться в тему, как запрограммировать модуль на CFD, т.к. использование среды CFD выходит за формат данной статьи. Но вы всегда можете обратиться в службу нашей техподдержки, если у вас возникла задача по написанию модулей на CFD.
Настройка через 3CX мост
У 3CX есть встроенный механизм интеграции двух АТС 3CX в единое номерное пространство. Он основан на 3CX мостах, настройки производятся в в разделе "Голос и чат" - "+Добавить мост".
Мост – это тот же sip-транк, но по этому транку соединяются две разные АТС 3CX. На уровне sip-сигнализации поведение 3CX моста практически идентично поведению обычного sip-транка. Разница только в том, что в мостах отсутствует львиная доля настроек обычного транка – она не нужна, т.к. 3CX сама знает по каким настройкам нужно соединяться с другой 3CX. Плюс в настройках моста есть опции, специфические именно для интеграции двух АТС. И главное различие – мост может быть двух типов: slave (это почти полный аналог sip-транка с идентификацией по id-и паролю) и master. Master-мост – это транк, который ждет, что к нему будет подключаться удаленный slave-транк.
И главное достоинство (для нашего случая) 3CX мостов в том, что они, в отличии от обычных транков, поддерживают сквозной набор номера. Т.е. номер, набранный на удаленной АТС и переданный через мост, будет автоматически набран на 3CX. Получается, в случае моста мы избегаем сложности в создании большого количества DID-правил, как это было описано в предыдущем методе.
Хоть механизм мостов был создан для соединения двух АТС 3CX, его можно использовать и для соединения 3CX со сторонней АТС. Разумеется, в этом случае не будут работать функции интеграции, специфические для 3CX (видеть статусы и другую информацию об удаленных абонентах, корпоративный чат), но основной функционал в виде звонков с одной АТС на другую может быть применен и к сторонней АТС.
Для настройки интеграции с удаленной АТС через мост вы должны на 3CX создать "Подключающий-мост" и в нем задать следующие параметры:
Название моста – на ваше усмотрение
Виртуальный добавочный номер – можете оставить тот, что предложила 3CX, можете ввести свой. Для удаленной АТС – это будет ID аутентификации транка.
Пароль аутентификации – используйте значение, предложенное 3CX, либо введите свой пароль. Для удаленной АТС – это будет пароль аутентификации транка.
Максимальное количество одновременных вызовов – с помощью этого параметра вы можете ограничить предельное количество одновременных звонков, которые смогут проходить через транк. Можно ввести заведомо большое значение, например, 9999. Тогда количество звонков будет ограничиваться возможностями лицензии.
Префикс исходящего правила для вызовов на удаленную АТС 3CX – если номерные планы двух АТС совпадают, вы можете для удаленной АТС приписать префикс. Он будет добавляться к номеру входящего вызова, пришедшему через подключающий мост. Если у вас разные номерные планы, оставьте поле пустым.
Остальные параметры задавать не нужно.
Теперь необходимо на удаленной АТС настроить транк с идентификацией по id и паролю. Изначально же эти id и пароль задаются в параметрах подключающего моста (выше описано, где они задаются).
Если после рекомендованных выше действий у вас все заработало – считайте вам повезло. Очень часто на этом все только начинается. Дело в том, что у 3CX мост практически не содержит параметров настройки транка. В понимании 3CX в этом нет никакой необходимости, т.к. 3CX и так знает с какими настройками подключаться к другой 3CX. Но у нас на другом конце – АТС от другого производителя, и очень часто базовые настройки транка на удаленной АТС не соответствуют скрытым настройкам моста у 3CX.
Выход здесь один – настройки транка на удаленной АТС подгонять под скрытые настройки моста 3CX. Но сразу встает вопрос: как узнать скрытые настройки моста? 3CX нигде не описывает такое.
Мы видим только следующий выход (и он реально работает). К подключающему мосту подключаем "подключаемый мост" с другой 3CX (здесь проблем быть не может). В момент подключения делается захват sip-трафика. Также нужно сделать захват трафика во время звонка с одной 3CX на другую. В этих захватах анализируем команды REGISTER и INVITE, которые приходят с удаленной 3CX. Затем на удаленной АТС другого бренда пробуем настроить транк таким образом, чтоб он формировал идентичные команды REGISTER и INVITE. Если вы этого добьетесь, все заработает.
По этой ссылке вы можете скачать обмен sip-командами между двумя 3CX при регистрации моста и совершении звонка. В примере обе АТС напрямую смотрят в интернет, АТС подключаемого моста имеет белый адрес 188.120.225.243 и FQDN dr.3cx.ru, а АТС подключаемого моста – 188.120.237.19 и demo-pbx.3cx.ru соотв., id аутентификации – 29901012345, звонок осуществляется со подключаемой АТС с добавочного 911 на подключающую АТС на добавочный 110.
Настройка удаленной АТС под эталонные команды REGISTER и INVITE (их примеры мы предложили скачать выше) – это и есть сложность данного метода. Но если вы ее осилите, то не придется создавать и поддерживать огромное количество DID-правил, как в предыдущем методе.
Если у вас интеграция между двумя АТС заработала, но некорректно отображается номер звонящего, читайте эту статью.
Вы можете обратиться в службу нашей техподдержки, чтоб мы практически помогли настроить вашу интеграцию двух АТС.
* Если мы не смогли полно ответить на ваш вопрос, или вы искали другую информацию, которой нет в нашей базе знаний, обращайтесь в нашу компанию по телефону или по e-mail. Обращаем внимание: для всех новых клиентов, которые находятся на стадии изучения 3CX и определяются с покупкой, мы предлагаем полностью бесплатную поддержку, а для коммерческих инсталляций действует лояльная ценовая политика. Более подробно читайте по ссылке.