Здравствуйте. Пожалуйста, помогите решить следующую задачу или направьте в нужном направлении. Есть два сервера Астериск. Один в США, второй в России. sip-аккаунты хранятся в mysql. Необходимо, чтобы когда происходит подключение сип-клиента sip-серверу (по записи sip.domain.com), система определяла к какому из серверов астериска лучше произвести подключение(меньше задержка).
обычно делается так.
ставится прокси типа kamailio
дальше. первый пакет просто авторизуется. соответсвенно в записи клиента ставится галочка "надо проверить метсонахождение" и "удачно зарегистрировалься".
дальше делается демон который для всех АКТИВНЫХ клиентов проверяет где находится адрес(можно использовать geoip и traceroute), измеряет задержку от конкретного гейта и если она сильно меньше средней задержки от гейта регистрации - ставится принадлежность другому гейту.
дальше есть варианты.
вариант 1(правильный) используется rtprpoxy и mediagateway ближайшие к клиенту. сип трафик все также ходит через дефаулт гейт.
вариант 2. в клиентский софт встраивается возможность запроса смены гейта например через sip message.
вариант 3. делается 302 Redirect на другой гейт.
ах да. есть еще вариант 4(американцы его любят) в инструкции клиенту говорится, что он сам должен по карте выбрать ближайший к его штату гейт ;) очень нередкий вариант надо сказать.
Если это в корпоративной сети, вы можете создать разные SRV-записи sip.domain.com на разных DNS-серверах: на российском DNS-сервере с приоритетом 0 отдается russia.sip.domain.com, с приоритетом 1 - usa.sip.domain.com; на американском наоборот.
Если это все в интернете или требуется прямо в момент подключения , то даже с ходу и не знаю, но на топик подписался. С удовольствием послушаю, кто чего предложит.
Видимо, требуется держать SIP-прокси, который на основании текущего qualify до обоих севреров будет перенаправлять запросы о регистрации.
Задан: Apr 29 '15
Просмотрен: 281 раз
Обновлен: Apr 30 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.