- 3CX Phone System
- Оборудование
- VoIP гарнитуры Plantronics
- Гарнитуры Jabra для Call Center
- VoIP E1 PRI платы BeroNet bero*fix
- VoIP FXO / FXS шлюзы Grandstream Networks
- VoIP SIP FXO / FXS шлюзы Hanlong Unicorn
- VoIP FXO / FXS шлюзы D-link Systems
- VoIP GSM / CDMA шлюзы Portech
- VoIP GSM / CDMA шлюзы GoIP
- VoIP SIP телефоны Yealink
- VoIP SIP телефоны Cisco Small Business
- VoIP SIP телефоны Grandstream Networks
- VoIP SIP телефоны D-link Systems
- VoIP SIP видеотелефоны
- VoIP SIP телефоны DECT Siemens Gigaset
- Техподдержка
- Другое ПО 3CX
- Call Center Edition
- Дизайнер голосовых VoXML приложений
- Skype SIP шлюз
- VoIP видео телефон 3CX Phone
- 3CX Phone для Android
- SIP Proxy Tunnel и SIP Proxy Tunnel Manager
- CRM модуль
- 3CX Hotel Module v. 2.0 - модуль гостиничной АТС для 3CX Phone System
- 3CX Multi Tenant для аренды и бизнес центров
- 3CXPhone для iPhone
- Модуль 1С 3CX
- Стороннее ПО для 3CX
- Сервисы для 3CX
- 3CX в Украине
Отказоустойчивость 3CX Phone System. Некоторые соображения.
Опубликовано admin в Втр, 10/01/2012 - 05:33
В компании работают 100 сотрудников, большинство из которых специалисты по продажам
В среднем, каждый менеджер зарабатывает для компании 10 Евро в час
Потери в результате 8 часового сбоя в работе АТС составят 100 X 10 X 8 = 8000 Евро!
Single host. 3СX и другие сетевые службы установлены на одном единственном сервере. Приемлем для совсем небольшой компании.
Active / Stand-by host. 3CX установлена на отдельном сервере и периодически реплицируется на другой сервер, который в остальное время выключен, либо не задействуется как сервер SIP АТС. Рекомендуется для небольших и средних компаний.
Active / Active host. 3CX установлена на узле псевдо кластера, при этом обеспечивается автоматическое и незаметное для пользователей переключение на другой узел кластера в случае отказа первого узла. Рекомендуется для компании, где есть свыше 100 активных пользователей АТС. Не требует серверных лицензий и системы виртуализации.
Hyper-V Failover Clustering и Hyper-V Live Migration. Требует установки 3CX на Windows Server 2008 R2, при этом виртуальная машина 3CX будет незаметно переключена на другой хост без прерывания сервисов. Идеален, если уже имеется инфраструктура виртуализации.
Источник бесперебойного питания серверного класса
RAID массив, как минимум RAID 1 (Зеркало)
Система резервного копирования, желательно с поддержкой создания образов диска (Symantec Ghost, Acronis)
Резервные копии операционной системы и 3CX Phone System должны делаться на внешнее хранилище
Выдать всем SIP телефонам фиксированные IP адреса. Тогда они будут готовы к работе даже без DHCP сервера.
Использовать в настройках SIP телефонов и SIP провайдеров IP адреса вместо FQDN имен хостов. В этом случае телефоны подключатся к серверу 3CX без использования DNS, и 3CX подключится к внешним SIP провайдерам без использования DNS.
Поменяйте на офисном компьютере IP адрес на тот, который был у сервера 3CX
Запустите Мастер начального конфигурирования 3CX из папки "%ProgramFiles%\3CX PhoneSystem\Bin\3cxWizard.exe и укажите путь к файлу с резервной копией
Через некоторое время система будет полностью работоспособна
Восстановить 3CX на новом компьютере из “быстрой” резервной копии, после чего SIP АТС сразу будет работоспособна.
После этого, в период малой активности пользователей, восстановить систему еще раз, но уже из полной копии.
Два однотипных компьютера с независимыми ИБП
Идентичная программная и аппаратная конфигурация
На резервном сервере 3CX Phone System идентичной версии, установленная как Free Edition
Доступность сетевой папки с резервной копией 3CX с обоих компьютеров
Скрипт смены IP адреса и восстановления запускается автоматически при включении второго ПК.
Опционально, скрипт восстановления может запускаться при недоступности основного сервера
Два однотипных сервера с разными IP адресами
Доступность сетевой папки с резервной копией 3CX с обоих компьютеров
Две лицензии 3CX Phone System
SIP телефоны и SIP шлюзы с поддержкой основного и альтернативного SIP сервера (Beronet, Polycom, Snom)
Модифицированные шаблоны автонастройки для указания SIP телефонам альтернативного SIP сервера
Введение
В данной статье мы рассмотрим несколько способов обеспечения отказоустойчивости телефонной системы, построенной на 3CX Phone System. Мы благодарны нашим немецким коллегам, на основании статьи которых был подготовлен этот материал.
SIP АТС 3CX Phone System – это такое же сетевое приложение, как, скажем, почтовый сервер или сервер баз данных, и методы обеспечения отказоустойчивости у этих приложений в целом схожи. С другой стороны, нужная отказоустойчивость программной SIP АТС 3CX может быть достигнута с куда меньшими расходами, чем отказоустойчивость любой аналоговой АТС и даже аппаратной SIP АТС. Прежде всего, вам не нужен затратный сервисный договор на оперативную замену вышедших из строя электронных плат. Также, вам не нужно проходить дорогостоящее обучение, которые предлагают некоторые вендоры SIP АТС, – отказоустойчивость обеспечивается стандартными средствами Windows Server. И, наконец, даже при наличии сервисного контракта, компания – поставщик может прописать длительные сроки поставки комплектующих. Это связано с тем, что в странах СНГ далеко не всегда интеграторы в состоянии оперативно поддерживать большой склад подменных комплектующих. Таким образом, простой вашей аппаратной АТС может составить несколько дней, а то и недель.
Покажем размер убытков компании среднего размера в результате 8 часового сбоя в работе АТС (невозможности принимать и делать вызовы).
Именно эти 8000 Евро должны служить вам ориентиром для оценки инвестиций в систему отказоустойчивости 3CX Phone System.
Мы рассмотрим четыре варианта обеспечения отказоустойчивости:
Приведем график относительных расходов на отказоустойчивость проприетарных АТС и различных реализаций отказоустойчивости 3CX Phone System.
Single Host – 3CX и другие сетевые службы на одном сервере
3CX Phone System может быть установлена в компаниях с одним сервером непосредственно на этом сервере. Как правило это Microsoft Small Business Server или Essential Server. Таким образом, имеющийся сервер становится еще и сервером SIP АТС. Рекомендации для обеспечения базовой отказоустойчивости такой системы:
Недостаток установки 3CX Phone System на единственный сервер в компании заключаются в том, что этот же сервер обеспечивает другие важные сетевые сервисы, такие как DNS и DHCP. Поэтому, даже в случае быстрого восстановления 3CX из резервной копии, вам следует позаботиться об оперативном восстановлении служб DHCP (необходима для SIP телефонов) и DNS (необходима для SIP телефонов и для подключения 3CX к SIP провайдерам). Чтобы уменьшить зависимость SIP АТС 3CX от этих служб, рекомендуется:
Следует настроить регулярное резервное копирование конфигурации 3CX на внешний сетевой ресурс. Вот пример командного файла fullbackup.cmd
set networkpath=\\host\folder net use %networkpath% userpass /USER:host\username "%ProgramFiles%\3CX PhoneSystem\Bin\3CXBackup.exe" hidden backup %networkpath%\3cxbackup.zip /call recordings /voicemails /voice prompts /callhist /firmware /exit
В этом скрипте:
\\host\folder – пусть к сетевой папке, в которую будет создан файл резервной копии (см. синтаксис команды NET USE)
userpass – сетевой пароль доступа к папке
host – имя хоста, на который делается резервное копирование
username – сетевое имя для доступа к папке
/call recordings /voicemails /voice prompts /callhist /firmware /exit – ключи утилиты резервного копирования 3CX Phone System (см. документацию к 3CX)
Создайте задачу в Планировщике Windows, которая запускала бы этот командный файл раз в сутки или чаще. Если необходимо хранить историю резервных копий, т.е. создавать для каждой резервной копии свой файл, модифицируйте строку командного файла, добавив системную переменную %date%.
"%ProgramFiles%\3CX PhoneSystem\Bin\3CXBackup.exe" hidden backup %networkpath%\%date%3cxbackup.zip /call recordings /voicemails /voice prompts /callhist /firmware /exit
При необходимости быстрого восстановления SIP АТС рекомендуется подготовить один из имеющихся в офисе компьютеров для возможного выполнения роли резервного сервера 3CX. Для этого установите на него все необходимое для 3CX системное программное обеспечение: Windows Installer 3.5 и выше, .NET 4.0 и т.п. Также можно установить 3CX Phone System, но пропустить Мастер начального конфигурирования 3CX.
На этом компьютере в файле hosts добавьте IP адрес сервера активации лицензий 3CX, для того, чтобы активация вашей лицензии на новом ПК прошла без участия сервера DNS. Запись должна иметь вид
erp.3cx.com 80.237.157.56
Этот IP адрес можно узнать, выполнив команду nslookup erp.3cx.com, когда DNS сервер еще функционирует.
Когда случится беда, сделайте следующее:
Чтобы уменьшить время восстановления системы, рекомендуется сохранять в резервной копии минимум данных (не использовать ключи типа /call recordings), либо настроить отдельное задание для резервирования только базовой конфигурации (т.е. без ключей). Тогда восстановление системы придется делать в два этапа:
Для того, чтобы ускорить время восстановления работы SIP телефонов (т.е. время их повторного подключения к восстановленному серверу), рекомендуется уменьшить время перерегистрации SIP либо в каждом телефоне отдельно, либо в общем шаблоне для данной модели SIP телефонов. Например, для телефонов Yealink оно составляет 900 секунд. Поменяем его на 60 секунд.
[ account ] path = /config/voip/sipAccount0.cfg Enable = 1 Label = %%extension_number%% DisplayName = %%extension_first_name%% %%extension_last_name%% UserName = %%extension_number%% AuthName = %%extension_auth_id%% password = %%extension_auth_pw%% SIPServerHost = %%pbx_ip%% SIPServerPort = %%param::sipport%% SIPListenPort = 5060 Expire = 900
меняем на
Expire = 60
Для того, чтобы быть уверенным в том, что процедура резервного копирования завершилась без ошибок, можно организовать отправку отчетов о резервном копировании с помощью утилиты Bmail (см. справку к этой утилите).
set WORKING_DIRECTORY="%cd%"
call fullbackup.cmd > ./log.txt
cd %WORKING_DIRECTORY%
bmail.exe -s MailServer -p PORT -t TOE-Mails -f FROME-Mail -h -a "3CX Backup" -b Backup Report: -m log.txt –cActive / Stand-by Host – 3CX работает на выделенном сервере, а другой сервер подготовлен для работы, но выключен, либо включается периодически для обслуживания
Отличия этого сценария от предыдущего следующие
Приведем пример скрипта восстановления fullrestore.cmd. Это скрипт похож на скрипт из примера выше, но в него добавлены команды подмены IP адреса.
set ipaddress=192.168.0.2 set netmask=255.255.255.0 set gw=192.168.0.1 set dns1=192.168.0.1 set dns2=192.168.0.255 set networkpath=\\host\folder netsh interface ip set address name="Local Area Connection" source=static addr=%ipaddress% mask=%netmask% gateway=%gw% gwmetric=1 netsh interface ip set dns name="Local Area Connection" source=static addr=%dns1% register=primary netsh interface ip add dns name="Local Area Connection" addr=%dns2%net use %networkpath% userpass /USER:host\username "%ProgramFiles%\3CX PhoneSystem\Bin\3CXBackup.exe" hidden restore %networkpath%\3cxbackup.zip /call recordings /voicemails /voice prompts /callhist /firmware /exit
В начале скрипта задаются IP параметры интерфейса Local Area Connection, которые нужно установить (они соответствуют настройкам IP стека основного сервера). Синтаксис команды netsh можно посмотреть на сайте Technet
Данный скрипт позволяет восстановить всю систему на новом компьютере в автоматическом режиме. Кроме того, его можно расширить средствами мониторинга основного сервера. Процесс выглядит примерно так:
- Резервный сервер постоянно включен и мониторит (“пингует”) основной сервер
- Как только основной сервер перестает отвечать на ping, срабатывает скрипт резервного восстановления на резервном сервере
Существует масса программ – “пинговалок”, но нам не удалось найти ничего готового и бесплатного с функцией запуска скрипта при недоступности “пингуемого” хоста. Поэтому, предлагается использовать такой скрипт pingmaster.cmd
set masteripaddress=192.168.0.2 ping -n 30 %masteripaddress% | find "TTL" if errorlevel 1 call fullrestore.cmd
В этом скрипте мы задаем IP адрес основного сервра и “пингуем” его, делая 30 попыток. Вывод команды ping пропускается через команду find, которая ищет строку “TTL”, типичную для нормального ответа утилиты ping.. Если строка “TTL” не будет найдена ни в одной из 30 попыток, произойдет ошибка. По этой ошибке запустится скрипт fullrestore.com .Рекомендуется запускать скрипт pingmaster.cmd несколько раз в течении часа.
Несколько слов посвятим также отказоустойчивости аналоговых телефонных шлюзов. Вероятность выхода из строя аналогового шлюза при правильном заземлении невелика, но в крупных компаниях такую ситуацию лучше предусмотреть. Однако тут не обойтись без специализированного аппаратного решения. На рисунке изображена схема включения двух шлюзов Beronet через специальный Berofos failover switch.
Свитч Berofos имеет так называемый watchdog, который отслеживает состояние внешних аналоговых, BRI и PRI линий и динамически переключает их в случае выхода из строя (или отключения на обслуживание) одного из шлюзов Beronet.
Со стороны 3CX Phone System создается просто два однотипных аналоговых шлюза с разными IP адресами.

Для обоих шлюзов создается одно исходящее правило, в котором они прописываются как альтернативные маршруты.

Active / Active Host – 3CX работает параллельно на двух компьютерах. Выход из строя одного компьютера практически не влияет на работу телефонной системы
В этой конфигурации предусматривается одновременная работа двух параллельно работающих узлов “псевдокластера”, синхронизирующихся между собой через небольшие промежутки времени. Конфигурация напоминает описанную выше Active / Stand-by Host, с тем отличием, что оба сервера не выключаются и всегда готовы к работе с актуальной конфигурацией 3CX. “Псевдокластер” обеспечивает наименьшее время простоя SIP АТС, делая переключение между основным и резервным сервером, как правило, незаметным для пользователя. С другой стороны, она является довольно затратной. Вам потребуются:
Резервирование основного сервера происходит скриптом, похожим на скрипт, описанный для Active / Stand-by, однако сразу после этого происходит восстановление созданного архива на резервный сервер. Таким образом, постоянно поддерживается полная синхронизация конфигурации 3CX Phone System между серверами. В случае отказа основного сервера, телефоны и шлюзы по таймауту просто регистрируются на резервном сервере и продолжают работу.
Вот пример скрипта синхронизации между двумя SIP АТС 3CX, который делает резервирование, а затем удаленно запускает восстановление (синхронизацию) конфигурации sync.cmd
set networkpath=\\host\folder set slavehost=192.168.0.3 set slaveuser=user set slavepassword=password net use %networkpath% userpass /USER:host\username "%ProgramFiles%\3CX PhoneSystem\Bin\3CXBackup.exe" hidden backup %networkpath%\3cxbackup.zip /call recordings /voicemails /voice prompts /callhist /firmware /exit PsExec.exe \\%slavehost% -u %slaveuser% -p %slavepassword% c:\script\restore.cmd
Скрипт restore.cmd на резервном компьютере должен находиться в папке c:\script и иметь вид
set networkpath=\\host\folder "%ProgramFiles%\3CX PhoneSystem\Bin\3CXBackup.exe" hidden restore %networkpath%\3cxbackup.zip /call recordings /voicemails /voice prompts /callhist /firmware /exit /activesync
В этих скриптах
slavehost – IP адрес резервного компьютера
slaveuser, slavepassword – учетные данные пользователя на резервном ПК с правами администратора
PsExec.exe – утилита Sysinternals для удаленного запуска приложений
/activecync – этот ключ появился, начиная с 3CX v.10 SP5 и позволяет пропустить процесс активации лицензии 3CX на резервном сервере (т.к. там уже есть своя собственная лицензия 3CX)
Hyper-V Failover Clustering и Hyper-V Live Migration – используется с Windows Server 2008 R2 Hyper-V и NAS хранилищем
Подробнее об этой технологии можно почитать здесь. Настройка системы в этом случае выполняется по руководству Microsoft. Преимущество такого подхода в том, что если у вас уже развернута инфраструктура виртуализации серверов, весьма несложно добавить в нее и сервер 3CX. Таким образом вы получите высокоустойчивую виртуальную SIP АТС с функцией незаметной миграции на исправное “железо” в случае любого аппаратного сбоя.
Превосходно!
Мы будем благодарны вам за отзывы и дополнения к этому материалу!


