Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Подключение к asterisk с меньшей задержкой

0

Здравствуйте. Пожалуйста, помогите решить следующую задачу или направьте в нужном направлении. Есть два сервера Астериск. Один в США, второй в России. sip-аккаунты хранятся в mysql. Необходимо, чтобы когда происходит подключение сип-клиента sip-серверу (по записи sip.domain.com), система определяла к какому из серверов астериска лучше произвести подключение(меньше задержка).

спросил Apr 29 '15

etskh Gravatar etskh
326 40 19

2 Ответа

1

обычно делается так.

ставится прокси типа kamailio

дальше. первый пакет просто авторизуется. соответсвенно в записи клиента ставится галочка "надо проверить метсонахождение" и "удачно зарегистрировалься".

дальше делается демон который для всех АКТИВНЫХ клиентов проверяет где находится адрес(можно использовать geoip и traceroute), измеряет задержку от конкретного гейта и если она сильно меньше средней задержки от гейта регистрации - ставится принадлежность другому гейту.

дальше есть варианты.

вариант 1(правильный) используется rtprpoxy и mediagateway ближайшие к клиенту. сип трафик все также ходит через дефаулт гейт.

вариант 2. в клиентский софт встраивается возможность запроса смены гейта например через sip message.

вариант 3. делается 302 Redirect на другой гейт.

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

ссылка удалить спам редактировать

ответил Apr 29 '15

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил Apr 29 '15

Comments

Почему вариант 1 правильнее, чем 3?

glukinho (Apr 29 '15)edit

потомучто редирект каждый раз это не правильно а большинство телефонов его отрабатывают как разовый. к тому же некоторые телефоны ВООБЩЕ его не понимают(здраствуй linphone и все унаследовавшие от него проекты)

meral (Apr 29 '15)edit

sip протоколу вообще побоку отработало чтото за 0.1 сек или 1.5. там даже ретрансмиты втроеные есть. за минимальный латенси боротся надо только на rtp траффике.

meral (Apr 29 '15)edit

Как быть с надежностью дефолт гейта в варианте 1?

glukinho (Apr 29 '15)edit

В смысле, он один и может отвалиться или канал до него.

glukinho (Apr 29 '15)edit

302 редирект вполне себе рабочее решение и линфон в частности очень даже его понимает.

komrad123 (Apr 30 '15)edit

делается кластер. ставится pacemaker. если у вас 100к+ пользователей АКТИВНЫХ, тогда на нем делается только dispatcher и за ним ставятся еще прокси. если у вас отваливается канал к dc, то вам вообще не надо это все. меняйте dc сначала.

meral (Apr 30 '15)edit
1

Если это в корпоративной сети, вы можете создать разные SRV-записи sip.domain.com на разных DNS-серверах: на российском DNS-сервере с приоритетом 0 отдается russia.sip.domain.com, с приоритетом 1 - usa.sip.domain.com; на американском наоборот.

Если это все в интернете или требуется прямо в момент подключения , то даже с ходу и не знаю, но на топик подписался. С удовольствием послушаю, кто чего предложит.

Видимо, требуется держать SIP-прокси, который на основании текущего qualify до обоих севреров будет перенаправлять запросы о регистрации.

ссылка удалить спам редактировать

ответил Apr 29 '15

glukinho Gravatar glukinho
661 4 3 12

Comments

Тут Вы правы. Прокси тут поможет. Финт с srv записями также.

zzuz (Apr 29 '15)edit

Да, но прокси может определять задержки от себя до сервера, а как определить от клиента до сервера?

glukinho (Apr 29 '15)edit

По пакетам OPTIONS .

zzuz (Apr 29 '15)edit

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: Apr 29 '15

Просмотрен: 281 раз

Обновлен: Apr 30 '15

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.