Список форумов Asterisk Forum Asterisk Forum
The Asterisk Open Source PBX - Russian Community
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ПравилаПравила   ГруппыГруппы   ИзбранноеИзбранное    LinksСсылки   РегистрацияРегистрация 
 RSSRSS   ПрофильПрофиль   Войти и проверить личные сообщения   ВходВход 

Kamailio как NAT + SIP Proxy перенаправлющий запросы клиентов. Или всетаки Asterisk ????

 
Список форумов Asterisk Forum -> OpenSER    вывод темы на печать
Предыдущая тема :: Следующая тема  
Автор Сообщение
EVoIP



Зарегистрирован:
16.04.2010
Сообщения: 78
Откуда: Ukraine

Статус: Оффлайн 

СообщениеДобавлено: Чт Авг 02, 2012 15:10    Заголовок сообщения: Kamailio как NAT + SIP Proxy перенаправлющий запросы клиентов. Или всетаки Asterisk ????

Приветствую!

Хочу реализовать следующую схему:

На данный момент MVTS работает с биллингом, и Kamailio SER пока на практике нету в этой схеме.
Тоесть сейчас абоненты указвают в качестве SIP Registar - MVTS Pro. Но в связи с тем что версия MVTS которая у нас есть, не может работать с оконечными абонентами, тоесть являеться Softswitch class IV, хочу добавить функционал Softswitch class V. (в частности не могут регаться абоненты находящиеся за NAT).

Я не хочу изобретать велосипед и завязывать Kamailio через RADIUS с тем же биллингом так как он (биллинг) прекрасно работает с MVTS.
А хочу сделать так что бы sip клиенты указывали ip Kamailio как SIP Registar, а он в свою очередь перенаправлял запросы регестрации на MVTS где и будет происходить авторизация клиента.
Тоесть - Kamailio не будет авторизовать клиентов, а будет работать как НАТ (для тех кому это нужно) и передавать запрос на MVTS который будет авторизовать клиентов.
Asterisk для такой схемы не подходит.


Так как я начал разбираться с Kamailio совсем недавно, возникает вопрос - сможет ли Kamailio (SER) работать в такой схеме?
И посоветуйте какую конфигурацию для Kamailio тут лучше применять.

Заранее спасибо за ответ.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Skype Name
Игорь



Зарегистрирован:
10.08.2009
Сообщения: 232
Откуда: НН

Статус: Оффлайн 

СообщениеДобавлено: Чт Авг 02, 2012 15:51    Заголовок сообщения:

дык для MVTS все равно NAT будет. нее ?
_________________
рву шаблоны. дорого.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
indeec



Зарегистрирован:
17.05.2009
Сообщения: 87
Откуда: Киев

Статус: Оффлайн 

СообщениеДобавлено: Чт Авг 02, 2012 19:09    Заголовок сообщения:

По идее камаилио - то что нужно для этого, он сможет и медиа потоки спроксировать с iprtpproxy.
Правда не очень понятно что значит "не может работать с клиентами за NAT".
Не умеет угадывать куда клиенту отвечать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EVoIP



Зарегистрирован:
16.04.2010
Сообщения: 78
Откуда: Ukraine

Статус: Оффлайн 

СообщениеДобавлено: Пт Авг 03, 2012 09:20    Заголовок сообщения:

Данная версия MVTS не корректно работает с NAT, почему так происходит я пока не разобрался так как недавно в проэкте. Но аргуметируют тем что это транзитный Софт Свич и он не предназначен для работы с оконечными абонентами являясь Softswitch class IV, а для таких целей поддержка ALOE Systems (производители, разработчики MVTS) предлагает купить их продукт за "много денег" который все умеет и являеться полоценным Softswitch class V.
На MVTS нету многих функция Софт Свича класса 5, например нужно реализовать бесплатные звонки между абонентами, IVR, DID номера и много другое.
Поэтому я планирую его оставить в этой схеме, так как они и работал: для коммутации с провайдерами и тарификации абонентов совместно с биллингом.

А вот для всех дополнительных услуг нужно внедрять OpenSource решения ИМХО.
Много работал с Asterisk, но он тут не подходит.

Упал взгляд на Kamailio - достаточно сложный в освоении - читаю "Building Telephony Systems with OpenSIPS 1.6". Поставил Веб Интерфес администратора siremis - кто то польовался ?
Вот и прошу помощи порекомендовать конфиг Kamailio для моих задач, каким модулем лучше перенаправлять SIP запросы на MVTS ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Skype Name
indeec



Зарегистрирован:
17.05.2009
Сообщения: 87
Откуда: Киев

Статус: Оффлайн 

СообщениеДобавлено: Пт Авг 03, 2012 09:53    Заголовок сообщения:

siremis не использовал, ничего сказать не могу.
Конфиг камаилио коментировать - дело не благодарное, оно по сути является скриптом обработки sip сообщений на своём языке.
Дефолтный конфиг для проксирования запросов на регистрацию не подходит, его нада сразу писать под себя.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EVoIP



Зарегистрирован:
16.04.2010
Сообщения: 78
Откуда: Ukraine

Статус: Оффлайн 

СообщениеДобавлено: Ср Авг 15, 2012 09:07    Заголовок сообщения:

А как у Kamailio, SER обстоят дела с ДВО:
- Перевод звонков
- Постановка звонка на удержание
- Уведомление о поступлении нового вызова
- Голосовая почта
- Интерактивный голосовой ответ (IVR)
- итд...

это можно реализовать ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Skype Name
indeec



Зарегистрирован:
17.05.2009
Сообщения: 87
Откуда: Киев

Статус: Оффлайн 

СообщениеДобавлено: Ср Авг 15, 2012 11:01    Заголовок сообщения:

Kamailo может практически что угодно сделать с sip сигналкой, но вообще не имеет представления о медиа.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EVoIP



Зарегистрирован:
16.04.2010
Сообщения: 78
Откуда: Ukraine

Статус: Оффлайн 

СообщениеДобавлено: Ср Авг 15, 2012 12:11    Заголовок сообщения:

В таком случаее мне только Kamailio не обойтись... Нужны функции ДВО.
Основная задача которую я хочу решить - это передача запроса RIGISTER на MVTS для авторизации клиента.

Как я писал выше не хочу ломать связку MVTS + Billing. Нужно перед MVTS поставить какой-то Softswitch, если звонки например между абонентами, то они не должны биллинговаться, а если звонок на внешний мир, то он должен пойти через MVTS. В свою очередь MVTS должна распознать верно абонента и что бы выдать ему правильные маршруты ИТД.

Как лучше сделать ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Skype Name
indeec



Зарегистрирован:
17.05.2009
Сообщения: 87
Откуда: Киев

Статус: Оффлайн 

СообщениеДобавлено: Ср Авг 15, 2012 13:08    Заголовок сообщения:

Если звонок между клиентами - он должен быть пробилингован по бесплатному тарифу. Но должен быть учтён в принципи.
По поводу "ДВО" - смотря что нужно, по логике нада рядом с mvts ставить asterisk/freeswitch/yate/somethingelse и крутить на нём дополнительные фишки.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EVoIP



Зарегистрирован:
16.04.2010
Сообщения: 78
Откуда: Ukraine

Статус: Оффлайн 

СообщениеДобавлено: Пн Сен 17, 2012 18:12    Заголовок сообщения:

Потихоньку разбираюсь с Kamailio...
В моей схеме нужно сделать как бы двойную регестрацию.
UAC --> Kamailio --> MVTS Pro

Подскажите как лучше это сделать, или как это вообще возможно:
Клиент регаеться на Kamailio и звонки между абонентами происходят внутри Kamailio, но когда клиенту нужно позвонить на внешний мир он должен передать запрос регестрации на MVTS Pro что бы та распознала его как конкретного клиента и применила к нему все правила.

Я вот думаю как можно это сделать:
1. Взять из функции usrloc.so сохраненные данные о клиенте и сформировать новый register который передать на MVTS - так реально ?
2. Делать двойную регестрацию сразу при регестрации на камайлио (только как ?)
прилетел REGISTER от клиента мы делаем save("location"); и еще раз передаем REGISTER на MVTS ?
3. Или как-то делать регестрацию на MVTS но говорить MVTS что клиент находиться на Kamailio.
как в этом примере - http://kb.asipto.com/asterisk:realtime:k ... .7.0-astdb


Заранее спасибо за ответы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Skype Name
indeec



Зарегистрирован:
17.05.2009
Сообщения: 87
Откуда: Киев

Статус: Оффлайн 

СообщениеДобавлено: Вт Сен 18, 2012 13:22    Заголовок сообщения:

Последний вариант.
Но звонки между сип пользователями так же пропускать через меру
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EVoIP



Зарегистрирован:
16.04.2010
Сообщения: 78
Откуда: Ukraine

Статус: Оффлайн 

СообщениеДобавлено: Вт Окт 16, 2012 09:32    Заголовок сообщения:

Приветсвую!

Есть задачка когда клиент звонит через удаленный шлюз тот требует авторизацию (username, password).
Я вижу выходом из этой ситуации использовать модуль UAC Module htatp://kamailio.org/docs/modules/3.3.x/modules_k/uac.html#id2548056 который умеет эмулировать поведение SIP UAC. Но не совсем получаеться...

В модуле есть несколько возможностей сгенерироваться REGISTER на удаленный шлюз:

- есть таблица uacreg в БД Kamailio, когда в нее внести данные, то после перезагрузки Kamailio она выдаст все регестрации что занесены в таблицу, тоесть было в таблице 200 учеток, они одним мигом при старте будут регаться - это не правильно, не подходит. Потом табица перечитываеться только при рестарте К (Камайлио).

- дальше есть способ регестрации с помощью ф-ии uac_auth() - как показано на примере:

Код:

6.2. Client authentication

Many SIP platforms relay calls to SIP-to-PSTN third party gateways which require SIP authentication.

The example show how calls from all local users are forwarded and authenticated against the PSTN gateway. The PSTN terminator provides with one username and password for authentication.

The script will look like:

Example 9. Restricting access example

...
#define the credential
modparam("uac","credential","gw_user:gw_realm:gw_passwd")
.....
route
{
   .....
   # set failure route for authentication
   t_on_failure("3")
   # reset flag to mark no authentication yet performed
   resetflag(7);
   # forward to PSTN
   t_relay_to_udp("GW_IP","GW_PORT");
   ....
}

failure_route[3]
{
   # authentication reply received?
   if ( t_check_status("401|407") )
   {
      # have we already tried to authenticate?
      if (isflagset(7))
      {
         t_reply("503","Authentication failed");
         break;
      }
      if (uac_auth())
      {
         # mark that auth was performed
         setflag(7);
         # trigger again the failure route
         t_on_failure("3");
         # repeat the request with auth response this time
         append_branch();
         t_relay();
      }
   }
}
...


Как видно в примере выше - при получении ответа 401, 407 попадаем в failure route и теоретически uac_auth() должна добавить требуемые заголовки credentinals которые указаны в uac modparam.
Этот вариант подходит - таким образом авторизации должна произойти только по требованию. Но почему то делаю все как на примере и в документации к модулю, а ни..на не получаеться Sad
Уже доблбаюсь с этой темой почти месяц... буду рад любым советам.


Вопрос к спецам по Камайлио - кто то пользовался данным модулем ?



Заранее благодарен.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Skype Name
dyer
Модератор


Зарегистрирован:
03.03.2005
Сообщения: 251
Откуда: Санкт Петербург

Статус: Оффлайн 

СообщениеДобавлено: Пт Ноя 09, 2012 18:58    Заголовок сообщения:

Если еще актуально - можно попробовать скомбинировать и сделать примерно следующее:
- транслировать REGISTER на MVTS, при этом делая save_location (для звонков между абонентами kamailio)
и меняя Contact на вновь сгенерированный и ставя там свой (kamailio) ip. Соотвествие оригинального и сгенерированного Contact хранить в базе
- при входящем INVITE от MVTS восстанавливать оригинальный Contact и отправлять дальше.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Список форумов Asterisk Forum -> OpenSER Ответить на тему
Страница 1 из 1

Добавить в Избранное

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You cannot download files in this forum