Механизм резервирования SIP-сервера обеспечивает надежность и непрерывность SIP-сервиса. Схема с основным и резервным сервером является одним из распространенных способов резервирования. Основной и резервный серверы совместно используют учетные записи пользователей, информацию Dialog в зависимости от реализации схемы резервирования сервера, информацию Registration и другие сервисные данные. В нормальном состоянии все SIP-запросы и ответы обрабатываются основным сервером. Когда основной сервер неисправен, находится на обслуживании или недоступен, SIP-терминал автоматически переключается на резервный сервер для получения сервиса, обеспечивая непрерывность использования. После восстановления основного сервера SIP-терминал может автоматически вернуться на основной сервер для получения сервиса.
Рисунок 1 Основной и резервный SIP Server
Failover: механизм, при котором резервный сервер берет на себя все сервисы, когда основной сервер недоступен, без влияния на работу клиента.
Failback: механизм, при котором устройство проверяет, восстановился ли основной сервер, пока резервный сервер находится в рабочем состоянии, чтобы быстро переключиться обратно на основной сервер.
Server Unavailable: клиент запрашивает регистрацию, а Server отвечает 500/503, либо UDP получает ICMP о недоступности целевого адреса, либо TCP-соединение завершается по тайм-ауту.
Register Failback: когда основной сервер недоступен и телефон зарегистрирован на резервном сервере, телефон создает новый Register Dialog для проверки восстановления основного сервера. Эта функция имеет независимый настраиваемый период проверки.
Этот документ предназначен для внутренних специалистов по разработке или тестированию, которые хотят понять, как улучшается функция Dial plan.
Настройте две записи Server для SIP-линии телефона. SIP Server1 является основным сервером, а SIP Server2 является резервным сервером.
Телефон поддерживает Failover для сигнализации Register, Invite и Bye. Другие виды сигнализации пока не поддерживаются.
2.2.1 Register Failover
Условия срабатывания: ручная регистрация / тайм-аут регистрации / тайм-аут запроса Option или Cancel
1) Телефон отправляет сигнализацию Register на основной сервер.
2) Телефон пытается отправить Register на основной сервер заданное количество раз для продуктов V3 или в течение заданного времени для продуктов V2.
3) Когда основной сервер Unavailable, телефон отправляет сигнализацию Register на резервный сервер.
4) Резервный сервер отвечает 200 OK, и телефон успешно регистрируется.
2.2.2 Invite Failover
Условие срабатывания: пользователь совершает вызов
1) Телефон A вызывает телефон B.
2) Телефон A отправляет запрос Invite на основной сервер.
3) Телефон A пытается отправить Invite на основной сервер заданное количество раз для продуктов V3 или в течение заданного времени для продуктов V2.
4) Когда основной сервер Unavailable, телефон отправляет Register на резервный сервер.
5) Резервный сервер отвечает телефону 200 OK, и телефон успешно регистрируется на резервном сервере.
6) Телефон отправляет запрос Invite на резервный сервер.
7) Резервный сервер отвечает 200 OK, и телефоны A и B устанавливают вызов.
2.2.3 Bye Failover
Условие срабатывания: после установления вызова через основной сервер телефон завершает вызов
1) Телефон A устанавливает вызов с телефоном B через основной сервер.
2) Телефон A завершает вызов.
3) Телефон A отправляет запрос Bye на основной сервер.
4) Телефон A пытается отправить Bye на основной сервер заданное количество раз для продуктов V3 или в течение заданного времени для продуктов V2.
5) Когда основной сервер Unavailable, телефон отправляет Register на резервный сервер.
6) Резервный сервер отвечает телефону 200 OK, и телефон успешно регистрируется на резервном сервере.
7) Телефон отправляет сообщение Bye на резервный сервер.
8) Резервный сервер отвечает 200 OK, и вызов телефона B завершается.
2.2.4 Ошибка Failover
Когда все серверы недоступны, телефон последовательно пытается использовать каждый сервер в соответствии с приоритетом основного и резервного серверов, заданное количество раз для продуктов V3 или в течение заданного времени для продуктов V2. Последний сервер является исключением. Согласно RFC3261, SIP выполняет попытки в течение 64*T1, то есть 32 секунд. Текущий SIP-запрос сигнализации завершается ошибкой, и результат передается пользователю.
Телефон поддерживает независимый Register Failback. После успешной регистрации на резервном сервере телефон периодически отправляет независимый Register на основной сервер, чтобы проверить, восстановился ли основной сервер.
Условие срабатывания: истечение таймера Register Failback.
1) Телефон успешно регистрируется на резервном сервере.
2) При истечении времени Register Failback телефон отправляет независимый Register на основной сервер.
3) Основной сервер отвечает 200 OK, и телефон переключается на основной сервер.
Если основной сервер все еще недоступен, отправленный телефоном Register повторно передается согласно RFC3261 до истечения 64*T1, то есть 32 секунд. После тайм-аута таймер запускается снова и периодически проверяет основной сервер.
| Название параметра настройки | Описание | Значение | |
| SIPN | Register Addr: | Адрес основного сервера. | IP/доменное имя Значение по умолчанию: пусто |
| SIPN | Register Port: | Сервисный порт основного сервера. | Числовое Значение по умолчанию: 5060 |
| SIPN | Register TTL: | Период регистрации на основном сервере. | Числовое Значение по умолчанию: 3600 Единица: секунды |
| SIPN | Transport: | Транспортный протокол основного сервера: UDP, TCP или TLS. | 0: UDP 1: TCP 3: TLS Значение по умолчанию: 0 |
| SIPN | Backup Addr: | Адрес резервного сервера. | IP/доменное имя Значение по умолчанию: пусто |
| SIPN | Backup Port: | Сервисный порт резервного сервера. | Числовое Значение по умолчанию: 5060 |
| SIPN | Backup TTL: | Период регистрации на резервном сервере. | Числовое Значение по умолчанию: 3600 Единица: секунды |
| SIPN | Backup Transport: | Транспортный протокол резервного сервера: UDP, TCP или TLS. | 0: UDP 1: TCP 3: TLS Значение по умолчанию: 0 |
| SIPN | Enable Failback: | Управляет включением функции Register Failback для линии. | 0/1 Значение по умолчанию: 1 |
| SIPN Failback Interval: | Интервал проверки восстановления основного сервера или Proxy после регистрации на резервном сервере или Proxy. | Числовое Значение по умолчанию: 1800 Единица: секунды | |
| SIPN Signal Retry Counts: | Количество повторных передач SIP Request при недоступности сервера или Proxy, за исключением последнего сервера или Proxy, где действует тайм-аут 32 секунды. | Числовое Значение по умолчанию: 3 | |
Пользователь может войти в Web-сервер телефона и настроить основной и резервный серверы.
1) Нажмите вкладку «Линия» и выберите подвкладку SIP, которая является страницей по умолчанию.
2) В выпадающем списке «Линия» на странице выберите линию для настройки.
3) Настройте информацию регистрации линии.
4) Настройте информацию SIP Server1, основного сервера, и SIP Server2, резервного сервера, как показано на рисунке 2.
5) Нажмите «Основные настройки» на текущей странице, чтобы задать параметры, связанные с Failback основного и резервного серверов, как показано на рисунке 3.
6) Нажмите кнопку «Отправить» внизу страницы, чтобы применить конфигурацию.
Рисунок 2 Настройка основного и резервного SIP Server
Рисунок 3 Настройка SIP Failback основного и резервного серверов