Перейти к содержимому
Калькуляторы

Kamailio - не подменяет SDP при реинвайтах

Колупаюсь с дефолтным конфигом Kamailio. Всё заявленное работает, но столкнулся с противной проблемой.

 

A -> (NAT) -> Kamailio -> B

 

А звонит B. Всё работает, звук есть, nat traversal и rtp-proxy отрабатывают корректно. При звонке в обратную сторону тоже всё ОК, но не суть.

 

Далее, A в той же сессии кидает реинвайт, на T.38 допустим. Реинвайт уходит к B как надо, а вот когда B отвечает 200 OK с SDP, Kamailio отдаёт A в SDP айпишник железки B, а не подменяет его на собственный IP, как по идее должен делать. A и B друг друга впрямую не видят разумеется, да и хочется чтобы трафик всегда шёл через Kamailio. Где копать? Plz хоть в роут конкретный ткните или в функцию какую. Особо буду благодарен если кто на это напарывался и поборол.

 

Конфиг дефолтный:

 

# Caller NAT detection
route[NATDETECT] {
#!ifdef WITH_NAT
       force_rport();
       if (nat_uac_test("51")) {
               if (is_method("REGISTER")) {
                       fix_nated_register();
               } else {
                       if(is_first_hop())
                               set_contact_alias();
               }

               setflag(FLT_NATS);
       }
#!endif
       return;
}

# RTPProxy control and singaling updates for NAT traversal
route[NATMANAGE] {
#!ifdef WITH_NAT
       if (is_request()) {
               if(has_totag()) {
                       if(check_route_param("nat=yes")) {
                               setbflag(FLB_NATB);
                       }
               }
       }
       if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))
               return;

       rtpproxy_manage("co");

       if (is_request()) {
               if (!has_totag()) {
                       if(t_is_branch_route()) {
                               add_rr_param(";nat=yes");
                       }
               }
       }
       if (is_reply()) {
               if(isbflagset(FLB_NATB)) {
                       if(is_first_hop())

                               set_contact_alias();
               }
       }
#!endif

       return;
}

Изменено пользователем bilbo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.