You should not change the kamailio.cfg for nat=yes param, that works the way it is. Yes you're right changing the NAT param in asterisk won't change anything.
Please enable sip debug on asterisk and paste the complete INVITE/200OK packets for the established call with no audio.
-- Sammy
On Tue, Aug 6, 2013 at 3:06 AM, Alexandr Usov blessendor@gmail.com wrote:
It seems I am undesrtand whereis problem can be found. Original tutorial of Kamailio+Asterisk realtime integration (by Asipto) containse settings for cheking if the "nat=yes" presents, but in Asterisk 11 I am using nat=force_rport,comedia.
# RTPProxy control 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(); if (is_request()) { if (!has_totag()) { add_rr_param(";nat=yes"); } } if (is_reply()) { if(isbflagset(FLB_NATB)) { fix_nated_contact(); } }
#!endif return; }
BTW, we don't need NAT for asterisks peers, if we use Asterisk behinde Kanailio LAN interface (2.2.2.2).
ToHost : 2.2.2.2 Addr->IP : 2.2.2.2:5060
If I cahnge to nat=no in the NATMANAGE - RTP debug still showing from 1.1.1.1 (public) kamailio IP. Rtpproxy started in the bridge mode.
set_destination: Parsing sip:2.2.2.2;r2=on;lr=on;nat=no for address/port to send to set_destination: set destination to 2.2.2.2:5060 Reliably Transmitting (no NAT) to 2.2.2.2:5060: BYE sip:1-101@PUBLIC.CLIENT.PEER.IP:17303;ob SIP/2.0 Via: SIP/2.0/UDP 2.2.2.101:5080;branch=z9hG4bK1597848e Route: sip:2.2.2.2;r2=on;lr=on;nat=no,sip:1.1.1.1;r2=on;lr=on;nat=no
Sent RTP packet to 1.1.1.1:63232 (type 00, seq 003837, ts 016800, len 000160) Got RTP packet from 2.2.2.2:42346 (type 00, seq 000986, ts 016960, len 000160) Sent RTP packet to 1.1.1.1:63232 (type 00, seq 003838, ts 016960, len 000160) Got RTP packet from 2.2.2.2:42346 (type 00, seq 000987, ts 017120, len 000160) Sent RTP packet to 1.1.1.1:63232 (type 00, seq 003839, ts 017120, len 000160)
But no voicing)
2013/8/6 SamyGo govoiper@gmail.com
Dear Alexandr,
You can connect Kamailio to RTPproxy via socket as well, use modparam like this:
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:12221")
Then if your rtprpoxy is started in bridged mode you should use the "i" and "e" flags while you call the rtpproxy-manage() function in the kamailio.cfg file.
The placement of both the flags sets the SDP c= param , so if you use "ie" combination of flag then that is not equal to "ei" combination of the flag.
I also suggest that you turn on sip debug on the call receiving asterisk and observe the SDP for an incoming call from Kamailio. that will help you figure out the situation in SDP.
Best Regards, Sammy
On Tue, Aug 6, 2013 at 2:02 AM, Alexandr Usov blessendor@gmail.comwrote:
Thank you for response! A little difficult for me to find the same logic in my case with tutorial of ipv4/ipv6 bridgin...
When I started /usr/sbin/rtpproxy -u kamailio -l 1.1.1.1/2.2.2.2 -s udp:127.0.0.1 12221
There is no sound.
Is this a major to connect via unix sock?:
modparam("rtpproxy", "rtpproxy_sock", "unix:/var/run/rtpproxy/rtpproxy.sock")
2013/8/6 Daniel-Constantin Mierla miconda@gmail.com
Hello,
you have to use rtpproxy in bridge mode, to route packets between the two local network interfaces. There are many examples out there, one shows even how to bridge between ipv4 and ipv4 networks -- you can use it as reference:
Cheers, Daniel
On 8/5/13 7:12 PM, Alexandr Usov wrote:
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).
RTP Proxy question.
/usr/sbin/rtpproxy -u daemon -l 1.1.1.1 -s udp:127.0.0.1 12221
.... kamailio.cfg ...
# RTPProxy control 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(); if (is_request()) { if (!has_totag()) { add_rr_param(";nat=yes"); } } if (is_reply()) { if(isbflagset(FLB_NATB)) { fix_nated_contact(); } }
#!endif return; }
Testing call:
Whe User 1-100 calling User 1-101, on Asterisk side I see:
-- Called SIP/1-100@sip1.somedomain.com.ua -- SIP/sip1.somedomain.com.ua-000004cf is ringing -- SIP/sip1.somedomain.com.ua-000004cf answered SIP/1-101-000004ce > 0x15bc370 -- Probation passed - setting RTP source address to
1.1.1.1:50868 > 0x7f2b6044bd10 -- Probation passed - setting RTP source address to 1.1.1.1:35082
Got RTP packet from 1.1.1.1:50868 (type 00, seq 027109, ts 000160, len 000160) Sent RTP packet to 1.1.1.1:35082 (type 00, seq 037469, ts 000160, len 000160) Got RTP packet from 1.1.1.1:50868 (type 00, seq 027110, ts 000320, len 000160) Sent RTP packet to 1.1.1.1:35082 (type 00, seq 037470, ts 000320, len 000160) Got RTP packet from 1.1.1.1:50868 (type 00, seq 027111, ts 000480, len 000160) Sent RTP packet to 1.1.1.1:35082 (type 00, seq 037471, ts 000480, len 000160) Got RTP packet from 1.1.1.1:50868 (type 00, seq 027112, ts 000640, len 000160) Sent RTP packet to 1.1.1.1:35082 (type 00, seq 037472, ts 000640, len 000160)
Voice transfers OK.
But why not Kamailio LAN ip I receiving on the Asterisk side with the same LAN?
And Kamailio log grep:
skynet:~ # tail -f /var/log/messages | grep rtpproxy 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 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 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 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 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 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 2013-08-05T19:18:18.632649+03:00 skynet kamailio[25462]: a=nortpproxy:yes 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 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 2013-08-05T19:18:18.653948+03:00 skynet kamailio[25462]: a=nortpproxy:yes 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 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 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 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 2013-08-05T19:18:18.705506+03:00 skynet kamailio[25462]: a=nortpproxy:yes
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?
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users