From c7ccdb0d574eb60b066272dce72ba03a0ea8a713 Mon Sep 17 00:00:00 2001 From: Thomas Ries Date: Sun, 28 Feb 2010 18:37:44 +0000 Subject: [PATCH] prep for r0.8.0 --- configure.in | 2 +- doc/siproxd_guide.sgml | 115 ++++++++++++++++++++++++++++++++++++++--- 2 files changed, 110 insertions(+), 7 deletions(-) diff --git a/configure.in b/configure.in index e00b398..319d744 100644 --- a/configure.in +++ b/configure.in @@ -60,7 +60,7 @@ dnl Release Version dnl SPD_MAJOR_VERSION=0 SPD_MINOR_VERSION=8 -SPD_MICRO_VERSION=0dev +SPD_MICRO_VERSION=0 SPD_VERSION=$SPD_MAJOR_VERSION.$SPD_MINOR_VERSION.$SPD_MICRO_VERSION diff --git a/doc/siproxd_guide.sgml b/doc/siproxd_guide.sgml index 56421c2..b6214d0 100644 --- a/doc/siproxd_guide.sgml +++ b/doc/siproxd_guide.sgml @@ -17,7 +17,7 @@ tries@users.sourceforge.net - 2005-2009 + 2005-2010 Thomas Ries @@ -49,6 +49,12 @@ tries@users.sourceforge.net Plug-in API + + 0.8.0 + 2010-02-24 + tries@users.sourceforge.net + TCP, STUN plugin, config file updates + @@ -243,7 +249,6 @@ make install interface definition for the inbound and outbound network interfaces (if_inbound and if_outbound). - Definition of network interfaces for the inbound network (local network where your SIP client is connected, this network normally uses IP addresses from on of the private @@ -259,7 +264,7 @@ if_outbound = ppp0 The host_outbound directive comes into play when running siproxd "in front of" a NAT router. Please check the configuration examples in this document for more - details. + details. Also check the STUN plugin. # host_outbound = <my_public_ip_address> @@ -318,12 +323,14 @@ user = nobody # chrootjail = /var/lib/siproxd/ - Where to store the current registrations. This allows + Where to store the current registrations and the cycle + in seconds to perform the cyclic writing. This allows siproxd to remember registration across a restart. An empty value means we do not save registrations. The specified directory path must exist. registration_file = /var/lib/siproxd/siproxd_registrations +autosave_registrations = 300 Where to create the PID file. @@ -332,8 +339,8 @@ pid_file = /var/run/siproxd/siproxd.pid Enable/disable the RTP proxy. This must always be - enabled. In some future release this directive may - become obsolete. + enabled. In some future release this directive will + become obsolete and will be removed. rtp_proxy_enable = 1 @@ -354,6 +361,14 @@ rtp_port_high = 7089 considered dead and will be killed. rtp_timeout = 300 + + + DSCP (differentiated services) value to be assigned + to RTP and SIP UDP packets. Allows QOS aware routers to + handle different types traffic with different priorities. + +rtp_dscp = 46 +sip_dscp = 0 If a REGISTER request does not contain an @@ -363,6 +378,36 @@ rtp_timeout = 300 in the answer. default_expires = 600 + + + TCP inactivity timeout: For TCP SIP signalling, this + indicates the inactivity timeout (seconds) after that an + idling TCP connection is disconnected. Note that making + this too short may cause multiple parallell registrations + for the same phone. This timeout must be set larger than the + used registration interval. + +tcp_timeout = 600 + + + Timeout for connection attempts in msec: + How many msecs shall siproxd wait for an successful connect + when establishing an outgoing SIP signalling connection. This + should be kept as short as possible as waiting for an TCP + connection to establish is a BLOCKING operation - while waiting + for a connect to succeed not SIP messages are processed (RTP is + not affected). + +tcp_connect_timeout = 500 + + + + TCP keepalive period: + For TCP SIP signalling, if > 0 empty SIP packets will be sent + every 'n' seconds to keep the connection alive. Default is off. + + +tcp_keepalive = 20 If siproxd is used as registration server and @@ -442,6 +487,25 @@ debug_port = 0 # mask_host=local.ip.of.sipphone # masked_host=public.domaind.org + + + User Agent Masquerading: + Siproxd can masquerade the User Agent string of your local UAs. + Useful for Providers that do not work with some specific UAs + (e.g. sipcall.ch - it does not work if your outgoing SIP + traffic contains an Asterisk UA string...) + Default is to do no replacement. + +ua_string = Siproxd-UA + + + Use ;rport in via header: + may be required in some cases where you have a NAT router that + remaps the source port 5060 to something different and the + registrar sends back the responses to port 5060. + Default is disabled (0) + +use_rport = 0 Siproxd itself can be told to send all traffic to another @@ -489,6 +553,14 @@ plugindir=/usr/lib/siproxd/ # List of plugins to load: #load_plugin=plugin_demo.la load_plugin=plugin_logcall.la + + + Each plugin does manage it's own set of configuration + options. They are named like plugin_<pluginname>_xxxxx. + For the detailed description of configuration settings, refer + to the plugin description. + +plugin_demo_string = This_is_a_string_passed_to_the_demo_plugin @@ -650,6 +722,10 @@ int PLUGIN_END(plugin_def_t *plugin_def){ plugin_fix_bogus_via Fixes broken VIA headers on incoming calls. + plugin_stun + Cyclically checks with an STUN server for + the public IP address of siproxd. + Some of the plug-ins are described in more detail in the following chapters. @@ -763,6 +839,33 @@ plugin_fix_bogus_via_networks = 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 from the Internet and those UAs do have crappy Via headers (like private IPs because there is some NAT involved on their side). + + + + + STUN Plug-in + Name: plugin_stun + Purpose: Uses an external STUN server to determine the + public IP address of the host running siproxd. + Configuration options: + +# Plugin_stun +# +# Uses an external STUN server to determine the public IP +# address of siproxd. Useful for "in-front-of-NAT-router" +# scenarios. +plugin_stun_server = stun.ekiga.net +plugin_stun_port = 3478 +# period in seconds to request IP info from STUN server +plugin_stun_period = 300 + + Description: + Does contact the configured STUN server at startup and then + cyclically at the configured interval to determine the public + visible IP address of the host running siproxd. Useful for setups + that have changing public IP addresses and siproxd is running + in the "in-front-of-NAT-router" scenario. +