<div dir="ltr"><div><br><br>I have Kamailio on OpenSUSE with static real Public IP (WAN), for ex. 1.1.1.1. I have LAN IP 2.2.2.2. Asterisk as KVM virtual machine with LAN IP 2.2.2.101 and default GW not the SuSe (2.2.2.2), but 2.2.2.1 pfsense LAN with PUB IP 1.1.1.2) I am configured Registration of UA on Kamailio DB, and on Asterisk side create a static peers with Kamailio LAN ip (host=2.2.2.2).<br>
<br>RTP Proxy question.<br><br>/usr/sbin/rtpproxy -u daemon -l 1.1.1.1 -s udp:127.0.0.1 12221<br><br></div>.... kamailio.cfg ...<br><div><br># RTPProxy control<br>route[NATMANAGE] {<br>#!ifdef WITH_NAT<br>    if (is_request()) {<br>
        if(has_totag()) {<br>            if(check_route_param("nat=yes")) {<br>                setbflag(FLB_NATB);<br>            }<br>        }<br>    }<br>    if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))<br>
        return;<br> <br>        rtpproxy_manage();<br> <br>    if (is_request()) {<br>        if (!has_totag()) {<br>            add_rr_param(";nat=yes");<br>        }<br>    }<br>    if (is_reply()) {<br>        if(isbflagset(FLB_NATB)) {<br>
            fix_nated_contact();<br>        }<br>    }<br>#!endif<br>    return;<br>}<br><br><br>Testing call:<br><br>Whe User 1-100 calling User 1-101, on Asterisk side I see:<br><br>    -- Called SIP/<a href="mailto:1-100@sip1.somedomain.com.ua">1-100@sip1.somedomain.com.ua</a><br>
    -- SIP/sip1.somedomain.com.ua-000004cf is ringing<br>    -- SIP/sip1.somedomain.com.ua-000004cf answered SIP/1-101-000004ce<br>       > 0x15bc370 -- Probation passed - setting RTP source address to <a href="http://1.1.1.1:50868">1.1.1.1:50868</a><br>
       > 0x7f2b6044bd10 -- Probation passed - setting RTP source address to <a href="http://1.1.1.1:35082">1.1.1.1:35082</a><br>     <br>Got  RTP packet from    <a href="http://1.1.1.1:50868">1.1.1.1:50868</a> (type 00, seq 027109, ts 000160, len 000160)<br>
Sent RTP packet to      <a href="http://1.1.1.1:35082">1.1.1.1:35082</a> (type 00, seq 037469, ts 000160, len 000160)<br>Got  RTP packet from    <a href="http://1.1.1.1:50868">1.1.1.1:50868</a> (type 00, seq 027110, ts 000320, len 000160)<br>
Sent RTP packet to      <a href="http://1.1.1.1:35082">1.1.1.1:35082</a> (type 00, seq 037470, ts 000320, len 000160)<br>Got  RTP packet from    <a href="http://1.1.1.1:50868">1.1.1.1:50868</a> (type 00, seq 027111, ts 000480, len 000160)<br>
Sent RTP packet to      <a href="http://1.1.1.1:35082">1.1.1.1:35082</a> (type 00, seq 037471, ts 000480, len 000160)<br>Got  RTP packet from    <a href="http://1.1.1.1:50868">1.1.1.1:50868</a> (type 00, seq 027112, ts 000640, len 000160)<br>
Sent RTP packet to      <a href="http://1.1.1.1:35082">1.1.1.1:35082</a> (type 00, seq 037472, ts 000640, len 000160)<br><br><br>Voice transfers OK.<br><br>But why not Kamailio LAN ip I receiving on the Asterisk side with the same LAN?<br>
<br>And Kamailio log grep:<br><br>skynet:~ # tail -f /var/log/messages | grep rtpproxy<br>2013-08-05T19:18:17.508760+03:00 skynet kamailio[25462]: 3(25481) DEBUG: rtpproxy [rtpproxy_funcs.c:148]: check_content_type(): type <application/sdp> found valid<br>
2013-08-05T19:18:17.508875+03:00 skynet kamailio[25462]: 3(25481) DEBUG: rtpproxy [rtpproxy.c:2624]: force_rtp_proxy(): proxy reply: 63566 1.1.1.1<br>2013-08-05T19:18:17.530765+03:00 skynet kamailio[25462]: 6(25484) DEBUG: rtpproxy [rtpproxy_funcs.c:148]: check_content_type(): type <application/sdp> found valid<br>
2013-08-05T19:18:17.530876+03:00 skynet kamailio[25462]: 6(25484) DEBUG: rtpproxy [rtpproxy.c:2624]: force_rtp_proxy(): proxy reply: 41958 1.1.1.1<br>2013-08-05T19:18:18.625815+03:00 skynet kamailio[25462]: 4(25482) DEBUG: rtpproxy [rtpproxy_funcs.c:148]: check_content_type(): type <application/sdp> found valid<br>
2013-08-05T19:18:18.627131+03:00 skynet kamailio[25462]: 4(25482) DEBUG: rtpproxy [rtpproxy.c:2624]: force_rtp_proxy(): proxy reply: 39876 1.1.1.1<br>2013-08-05T19:18:18.632649+03:00 skynet kamailio[25462]: a=nortpproxy:yes<br>
2013-08-05T19:18:18.648075+03:00 skynet kamailio[25462]: 6(25484) DEBUG: rtpproxy [rtpproxy_funcs.c:148]: check_content_type(): type <application/sdp> found valid<br>2013-08-05T19:18:18.649615+03:00 skynet kamailio[25462]: 6(25484) DEBUG: rtpproxy [rtpproxy.c:2624]: force_rtp_proxy(): proxy reply: 43500 1.1.1.1<br>
2013-08-05T19:18:18.653948+03:00 skynet kamailio[25462]: a=nortpproxy:yes<br>2013-08-05T19:18:18.688603+03:00 skynet kamailio[25462]: 4(25482) DEBUG: rtpproxy [rtpproxy_funcs.c:148]: check_content_type(): type <application/sdp> found valid<br>
2013-08-05T19:18:18.689762+03:00 skynet kamailio[25462]: 4(25482) DEBUG: rtpproxy [rtpproxy.c:2624]: force_rtp_proxy(): proxy reply: 63566 1.1.1.1<br>2013-08-05T19:18:18.701062+03:00 skynet kamailio[25462]: 6(25484) DEBUG: rtpproxy [rtpproxy_funcs.c:148]: check_content_type(): type <application/sdp> found valid<br>
2013-08-05T19:18:18.701405+03:00 skynet kamailio[25462]: 6(25484) DEBUG: rtpproxy [rtpproxy.c:2624]: force_rtp_proxy(): proxy reply: 43500 1.1.1.1<br>2013-08-05T19:18:18.705506+03:00 skynet kamailio[25462]: a=nortpproxy:yes<br>
<br></div><div>My goal is using Asterisk boxes behind Kamailio with the same LAN or even OpeVPN Lan2Lan, with Public IP on Kamailio WAN for users registration and RTP routing. So is strange to my, why RTPproxy not rewrite source of RTP traffic from PUBLIC Kamailio IP to LAN Kamailio IP when user A calls B via Asterisk?<br>
<br></div><div><br></div></div>