bilbo Опубликовано 13 августа, 2017 (изменено) · Жалоба Колупаюсь с дефолтным конфигом 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; } Изменено 13 августа, 2017 пользователем bilbo Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...