[SR-Users] Kamailio 4.4 + rtpproxy behind the NAT (debian stretch 9.13)

Henning Westerholt hw at skalatan.de
Fri Oct 1 15:08:41 CEST 2021


Hello Youssef,

before investing a lot of time into this old version, I would suggest that you update:


  *   operating system (e.g. at least to Debian Buster)
  *   Kamailio (at least 5.4.x)
  *   And also rtpproxy, consider also rtpengine which is much more flexible especially for NAT scenarios

In the newer kamailio default cfg you find also support for rtpengine, it can be easily enabled with a define.

Cheers,

Henning

From: sr-users <sr-users-bounces at lists.kamailio.org> On Behalf Of Youssef Boujraf
Sent: Friday, October 1, 2021 1:01 PM
To: sr-users at lists.kamailio.org
Cc: Contacts <yboujraf at gmail.com>
Subject: [SR-Users] Kamailio 4.4 + rtpproxy behind the NAT (debian stretch 9.13)

Dear,

I am testing the kakamilio 4.4 with rtpproxy on Debian stretch 9.13
I have installed the packages
·         apt-get install kamailio and rtpproxy.
·         kamailio 4.4
·         rtpproxy Basic version: 20040107

My version of RTPPROXY doesn't have the -A parameter so that means without advertising there is no way to work behind NAT? That is what I have understood after spending one week on forums. Thanks if somebody could confirm otherwise, which way I need to go to figure out my issue?

# rtpproxy -v
Basic version: 20040107
Extension 20050322: Support for multiple RTP streams and MOH
Extension 20060704: Support for extra parameter in the V command
Extension 20071116: Support for RTP re-packetization
Extension 20071218: Support for forking (copying) RTP stream
Extension 20080403: Support for RTP statistics querying
Extension 20081102: Support for setting codecs in the update/lookup command
Extension 20081224: Support for session timeout notifications

# rtpproxy -help
rtpproxy: invalid option -- 'h'
usage: rtpproxy [-2fvFiPa] [-l addr1[/addr2]] [-6 addr1[/addr2]] [-s path]
        [-t tos] [-r rdir [-S sdir]] [-T ttl] [-L nfiles] [-m port_min]
        [-M port_max] [-u uname[:gname]] [-n timeout_socket] [-d log_level[:log_facility]]
#

/etc/hosts

127.0.0.1       localhost
127.0.1.1       sip.dom.xx sip
192.168.1.19    sip.dom.xx sip
PUBLIC_IP   sip.dom.xx sip
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

/etc/kamailio/kamailio.cfg
kamailio.config

#!define PUBLIC_IP "xxx.xxx.xxx.xxx"
#!define PRIVATE_IP "192.168.1.19"
#!define PRIVATE_NET "192.168.1.0/24<http://192.168.1.0/24>“
listen=udp:PRIVATE_IP:5060 advertise PUBLIC_IP:5060


#!ifdef WITH_NAT

# ----- rtpproxy params -----

modparam("rtpproxy", "rtpproxy_sock", "udp:PRIVATE_IP:7722")

# ----- nathelper params -----

modparam("nathelper", "natping_interval", 30)

modparam("nathelper", "ping_nated_only", 1)

modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)

modparam("nathelper", "sipping_from", "sip:pinger at kamailio.org<mailto:sip%3Apinger at kamailio.org>")



Etc/default/rtpproxy



PRIVATE_IP=192.168.1.19

PUBLIC_IP=xxx.xxx.xxx.xxx

rtpport_min= 10000

rtpport_max=20000

syslog=DBUG:LOG_LOCAL5

#Defaults for rtpproxy
#The control socket.
#CONTROL_SOCK="unix:/var/run/rtpproxy/rtpproxy.sock"
#To listen on an UDP socket, uncomment this line:
#CONTROL_SOCK=udp:127.0.0.1:7722
#Additional options that are passed to the daemon.
EXTRA_OPTS="-l $PRIVATE_IP/$PUBLIC_IP ="-s $PRIVATE_IP:7222 -m $rtpport_min -M $rtpport_max -d $syslog"`

Thanks if you could route me to the right way.

Best regards

Yboujraf
Email: yboujraf at gmail.com<mailto:yboujraf at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20211001/455eeb4d/attachment.htm>


More information about the sr-users mailing list