diff --git a/kamailio/defs.cfg b/kamailio/defs.cfg index a793f99..b80bfc8 100644 --- a/kamailio/defs.cfg +++ b/kamailio/defs.cfg @@ -118,4 +118,12 @@ #!endif #!endif +#!ifndef KZ_DISABLE_WEBSOCKETS_REGISTRAR_PORT +#!trydef KZ_WEBSOCKETS_REGISTRAR_PORT 7000 +#!endif + +#!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 e232100..874ba23 100644 --- a/kamailio/local.cfg +++ b/kamailio/local.cfg @@ -83,6 +83,30 @@ ## destination. This reduces performance. mhomed=0 +################################################################################ +## 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_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 7000 +##!define KZ_TCP_REGISTRAR_PORT 7000 + + ################################################################################ ## SIP traffic mirroring to SIP_TRACE server ################################################################################ diff --git a/kamailio/registrar-role.cfg b/kamailio/registrar-role.cfg index 1531570..0da7f73 100644 --- a/kamailio/registrar-role.cfg +++ b/kamailio/registrar-role.cfg @@ -291,7 +291,37 @@ route[SAVE_LOCATION] $var(ip) = "[" + $Ri + "]"; } - $var(port) = $Rp; + # 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) {