From 7a82da9edec43dc377d79b07dcca343b9fd976d6 Mon Sep 17 00:00:00 2001 From: Luis Azedo Date: Thu, 24 May 2018 00:42:10 +0100 Subject: [PATCH 1/5] support single port for registrar success messages --- kamailio/defs.cfg | 9 +++++++++ kamailio/local.cfg | 20 +++++++++++++++++--- kamailio/registrar-role.cfg | 4 ++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/kamailio/defs.cfg b/kamailio/defs.cfg index a793f99..2c3e009 100644 --- a/kamailio/defs.cfg +++ b/kamailio/defs.cfg @@ -118,4 +118,13 @@ #!endif #!endif +#!trydef KZ_MULTI_HOMED 0 + +#!ifndef KZ_DISABLE_REGISTRAR_PORT +#!redefine KZ_MULTI_HOMED 1 +#!trydef KZ_REGISTRAR_PORT 7000 +#!endif + +mhomed=KZ_MULTI_HOMED + # vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab diff --git a/kamailio/local.cfg b/kamailio/local.cfg index e232100..edd3513 100644 --- a/kamailio/local.cfg +++ b/kamailio/local.cfg @@ -72,7 +72,7 @@ # udp4_raw_mtu = 1472 ################################################################################ -## BINDINGS +## KZ_MULTI_HOMED ################################################################################ ## This parameter is OPTIONAL. ## It will try to locate outbound interface @@ -80,8 +80,22 @@ ## requests use the incoming socket disregarding ## the destination location. When enabled Kamailio ## will select a socket that can reach the -## destination. This reduces performance. -mhomed=0 +## destination and enables config less webrtc/tls on freeswitch. +## This reduces performance. +###!define KZ_MULTI_HOMED 1 + +################################################################################ +## KZ_DISABLE_REGISTRAR_PORT +################################################################################ +## This parameter is OPTIONAL. +## It will disable publishing single proxy port on registrar success messages +## By default single port proxy is send on registrar success messages +## which enables config less in freeswitch for handling webrtc/tls +## ie, no certs in freeswitch, no webrtc/tls listeners on freeswitch +## by disabling single port proxy, ecallmgr needs to be started with +## 'use_transport_for_fs_path' set to true in its environment configuration +## +###!define KZ_DISABLE_REGISTRAR_PORT 1 ################################################################################ ## SIP traffic mirroring to SIP_TRACE server diff --git a/kamailio/registrar-role.cfg b/kamailio/registrar-role.cfg index 1531570..6c69a7c 100644 --- a/kamailio/registrar-role.cfg +++ b/kamailio/registrar-role.cfg @@ -291,7 +291,11 @@ route[SAVE_LOCATION] $var(ip) = "[" + $Ri + "]"; } +#!ifndef KZ_DISABLE_REGISTRAR_PORT + $var(port) = KZ_REGISTRAR_PORT; +#!else $var(port) = $Rp; +#!endif $var(AdvIP) = $RAi; if(af==INET6) { From 0ab5023d555b331c80531cc9a607e6a4db3e7e17 Mon Sep 17 00:00:00 2001 From: Luis Azedo Date: Tue, 29 May 2018 11:08:02 +0100 Subject: [PATCH 2/5] registrar port without KZ_MULTI_HOMED --- kamailio/defs.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/kamailio/defs.cfg b/kamailio/defs.cfg index 2c3e009..2655086 100644 --- a/kamailio/defs.cfg +++ b/kamailio/defs.cfg @@ -121,7 +121,6 @@ #!trydef KZ_MULTI_HOMED 0 #!ifndef KZ_DISABLE_REGISTRAR_PORT -#!redefine KZ_MULTI_HOMED 1 #!trydef KZ_REGISTRAR_PORT 7000 #!endif From 14cc3b696ffa19d2430e13760d1a2601291a241b Mon Sep 17 00:00:00 2001 From: Luis Azedo Date: Wed, 30 May 2018 15:13:23 +0100 Subject: [PATCH 3/5] handle registration port redirect per protocol --- kamailio/defs.cfg | 10 +++++----- kamailio/local.cfg | 29 ++++++++++++++--------------- kamailio/registrar-role.cfg | 36 +++++++++++++++++++++++++++++++----- 3 files changed, 50 insertions(+), 25 deletions(-) diff --git a/kamailio/defs.cfg b/kamailio/defs.cfg index 2655086..b80bfc8 100644 --- a/kamailio/defs.cfg +++ b/kamailio/defs.cfg @@ -118,12 +118,12 @@ #!endif #!endif -#!trydef KZ_MULTI_HOMED 0 - -#!ifndef KZ_DISABLE_REGISTRAR_PORT -#!trydef KZ_REGISTRAR_PORT 7000 +#!ifndef KZ_DISABLE_WEBSOCKETS_REGISTRAR_PORT +#!trydef KZ_WEBSOCKETS_REGISTRAR_PORT 7000 #!endif -mhomed=KZ_MULTI_HOMED +#!ifndef KZ_DISABLE_TLS_REGISTRAR_PORT +#!trydef KZ_TLS_REGISTRAR_PORT 7000 +#!endif # vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab diff --git a/kamailio/local.cfg b/kamailio/local.cfg index edd3513..54e922d 100644 --- a/kamailio/local.cfg +++ b/kamailio/local.cfg @@ -71,31 +71,30 @@ ## E.g.: Add MTU=1472 to the /etc/sysconfig/network-scripts/XXX # udp4_raw_mtu = 1472 -################################################################################ -## KZ_MULTI_HOMED -################################################################################ -## This parameter is OPTIONAL. -## It will try to locate outbound interface -## on multihomed host. By default forward -## requests use the incoming socket disregarding -## the destination location. When enabled Kamailio -## will select a socket that can reach the -## destination and enables config less webrtc/tls on freeswitch. -## This reduces performance. -###!define KZ_MULTI_HOMED 1 ################################################################################ -## KZ_DISABLE_REGISTRAR_PORT +## KZ_DISABLE_REGISTRAR_PORTS ################################################################################ ## This parameter is OPTIONAL. ## It will disable publishing single proxy port on registrar success messages ## By default single port proxy is send on registrar success messages +## for websockets/tls protocols. the default port is 7000 ## which enables config less in freeswitch for handling webrtc/tls ## ie, no certs in freeswitch, no webrtc/tls listeners on freeswitch ## by disabling single port proxy, ecallmgr needs to be started with ## 'use_transport_for_fs_path' set to true in its environment configuration -## -###!define KZ_DISABLE_REGISTRAR_PORT 1 +## +###!define KZ_DISABLE_WEBSOCKETS_REGISTRAR_PORT 1 +###!define KZ_DISABLE_TLS_REGISTRAR_PORT 1 +## +## you can also change the ports used for single port redirect +##!define KZ_WEBSOCKETS_REGISTRAR_PORT 5060 +##!define KZ_TLS_REGISTRAR_PORT 5060 +## +## also available for udp/tcp if it works for you +##!define KZ_UDP_REGISTRAR_PORT 8000 +##!define KZ_UDP_REGISTRAR_PORT 8000 + ################################################################################ ## SIP traffic mirroring to SIP_TRACE server diff --git a/kamailio/registrar-role.cfg b/kamailio/registrar-role.cfg index 6c69a7c..0da7f73 100644 --- a/kamailio/registrar-role.cfg +++ b/kamailio/registrar-role.cfg @@ -291,11 +291,37 @@ route[SAVE_LOCATION] $var(ip) = "[" + $Ri + "]"; } -#!ifndef KZ_DISABLE_REGISTRAR_PORT - $var(port) = KZ_REGISTRAR_PORT; -#!else - $var(port) = $Rp; -#!endif + # allow port redirection on registration + switch($proto) + { + #!ifdef KZ_WEBSOCKETS_REGISTRAR_PORT + case "ws": + case "wss": + $var(port) = KZ_WEBSOCKETS_REGISTRAR_PORT; + break; + #!endif + + #!ifdef KZ_TLS_REGISTRAR_PORT + case "tls": + $var(port) = KZ_TLS_REGISTRAR_PORT; + break; + #!endif + + #!ifdef KZ_UDP_REGISTRAR_PORT + case "udp": + $var(port) = KZ_UDP_REGISTRAR_PORT; + break; + #!endif + + #!ifdef KZ_TCP_REGISTRAR_PORT + case "tcp": + $var(port) = KZ_UDP_REGISTRAR_PORT; + break; + #!endif + + default: + $var(port) = $Rp; + } $var(AdvIP) = $RAi; if(af==INET6) { From cabb51f48d5cc07d100197fd9332722481a3fbb9 Mon Sep 17 00:00:00 2001 From: Luis Azedo Date: Wed, 30 May 2018 15:14:52 +0100 Subject: [PATCH 4/5] revert mhomed --- kamailio/local.cfg | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/kamailio/local.cfg b/kamailio/local.cfg index 54e922d..ae6e591 100644 --- a/kamailio/local.cfg +++ b/kamailio/local.cfg @@ -71,6 +71,17 @@ ## E.g.: Add MTU=1472 to the /etc/sysconfig/network-scripts/XXX # udp4_raw_mtu = 1472 +################################################################################ +## BINDINGS +################################################################################ +## This parameter is OPTIONAL. +## It will try to locate outbound interface +## on multihomed host. By default forward +## requests use the incoming socket disregarding +## the destination location. When enabled Kamailio +## will select a socket that can reach the +## destination. This reduces performance. +mhomed=0 ################################################################################ ## KZ_DISABLE_REGISTRAR_PORTS From 75f5faaeb3fbfed0d18825163ca8f2731063919c Mon Sep 17 00:00:00 2001 From: Luis Azedo Date: Wed, 30 May 2018 18:22:42 +0100 Subject: [PATCH 5/5] change default example & typo --- kamailio/local.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kamailio/local.cfg b/kamailio/local.cfg index ae6e591..874ba23 100644 --- a/kamailio/local.cfg +++ b/kamailio/local.cfg @@ -103,8 +103,8 @@ mhomed=0 ##!define KZ_TLS_REGISTRAR_PORT 5060 ## ## also available for udp/tcp if it works for you -##!define KZ_UDP_REGISTRAR_PORT 8000 -##!define KZ_UDP_REGISTRAR_PORT 8000 +##!define KZ_UDP_REGISTRAR_PORT 7000 +##!define KZ_TCP_REGISTRAR_PORT 7000 ################################################################################