Коллеги, есть схема OPENSIPS(Balancer) + n-нод Freeswitch
Приходит вызов на FS-node1(балансером закинуло) там IVR для конференции(бла бла бла введите номер конференц комнаты, пин и т.д)
вызов добавляется в конференцию, конференция получается живет на FS-1
Звонит пользователь 2 , балансером вызов закидывается допустим на ноду FS-2, там так же пользователь жмет кнопки и попадает в ту же конференц комнату, но уже на FS2
Понятно, чтобы абонент 1 слышал абонента 2 нужно чтобы вызов 1 и 2 существовали в рамках одной конференц-комнаты в рамках FS. Как быть ?
Мои варианты:
при направлении вызова в конференцию проверять на каком сервере существует комната и , если на другом сервере, то построить вызов на тот где она есть(допустим через бридж на соседний сервер).
А как сделать правильно ?
Подскажите пожалуйста
Вариант: проверять есть ли такая конференция на других нодах и есть ли с ними уже вызов и соединять сервер-сервер если нет. А когда на одном из серверов все вышли, то отцеплять его от этого кластера. Правда, при таком варианте нужно следить за тем, чтобы не было "лишних" соединений, если более двух нод задействовано.