Jump to content

Recommended Posts

Posted (edited)

Колупаюсь с дефолтным конфигом 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;
}

Edited by bilbo

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.