Opened 6 years ago

Closed 6 years ago

#341 closed улучшение (готово)

Реализовать registrar-сервер для плат VE-01

Reported by: alx Owned by: alx
Priority: средний Milestone: 2 очередь
Component: sw Keywords:
Cc:

Description

В настоящее время платы VE-01 теряют данные регистрации SIP-пользователей при рестарте (например при обновлении прошивки или в результате бага). Это нехорошо, так как обновление регистрации пользователями может происходить довольно редко (типовой период регистрации - раз в час), и если перезагрузка произошла сразу после релистрации, то целый час до следующей регистрации абоненту не будут поступать входящие вызовы.

В repro есть функция, позволяющая работать двум прокси-серверам в паре, синхронизируя данные регистрации пользователей. Предлагается задействовать эту функцию в плате VE-01, но вместо второго repro использовать плату SW-01, для чего добавить в нее сервер с поддержкой соответствующего протокола. При наличии этой функции сразу после старта плата VE-01 будет обращаться к серверу платы SW-01 и получать оттуда актуальные данные регистрации, тем самым минимизируя перерыв входящей связи.

Change History (4)

comment:1 by alx, 6 years ago

Протокол обмена данными регистрации выглядит следующим образом:

Last edited 6 years ago by alx (previous) (diff)

comment:2 by alx, 6 years ago

Альтернативный вариант - передавать эти данные между SW-01 и VE-01 не по TCP/IP, а через внутреннюю шину SPI блока. Но мне интуитивно этот вариант не очень нравится...

Version 0, edited 6 years ago by alx (next)

comment:3 by alx, 6 years ago

Как показало дальнейшее исследование вопроса, данные регистрации передаются только от сервера к клиенту. Это значит, что для получения обновлений регистрации в реальном времени клиент платы SW-01 должен подключаться к серверу платы VE-01, а не наоборот. Направление передачи в диаграмме выше исправлено.

Учитывая открывшееся обстоятельство, вариант передачи данных по шине SPI мне нравится больше, чем реализация в плате SW-01 TCP клиента, постоянно держащего соединения с платами VE-01. Тем более что механизм передачи данных регистрации через SPI уже есть, его надо только расширить.

В проекте sip_ua создан соответствующий тикет.

comment:4 by alx, 6 years ago

Resolution: готово
Status: newclosed

Сделано в r1739.

Note: See TracTickets for help on using tickets.