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

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

0

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

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

спросил 2015-04-29 16:15:14 +0400

etskh Gravatar etskh
326 40 19

2 Ответа

1

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

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

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

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

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

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

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

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

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

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

ответил 2015-04-30 00:50:30 +0400

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

обновил 2015-04-30 00:52:35 +0400

Comments

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

glukinho ( 2015-04-30 01:10:04 +0400 )редактировать

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

meral ( 2015-04-30 01:49:36 +0400 )редактировать

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

meral ( 2015-04-30 01:52:29 +0400 )редактировать

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

glukinho ( 2015-04-30 02:20:25 +0400 )редактировать

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

glukinho ( 2015-04-30 02:21:21 +0400 )редактировать

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

komrad123 ( 2015-04-30 14:18:44 +0400 )редактировать

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

meral ( 2015-04-30 18:11:18 +0400 )редактировать
1

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

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

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

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

ответил 2015-04-29 21:57:21 +0400

glukinho Gravatar glukinho
661 4 3 12

Comments

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

zzuz ( 2015-04-29 23:16:50 +0400 )редактировать

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

glukinho ( 2015-04-30 00:01:01 +0400 )редактировать

По пакетам OPTIONS .

zzuz ( 2015-04-30 00:38:47 +0400 )редактировать

Ваш ответ

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 ленту новостей

Статистика

Задан: 2015-04-29 16:15:14 +0400

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

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

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