From 822013f770dfa83b3d620381458479e9dd251fbd Mon Sep 17 00:00:00 2001 From: Thomas Ries Date: Mon, 22 Dec 2003 11:15:10 +0000 Subject: [PATCH] - textual corrections in config file - preparation for 0.5.1. release --- ChangeLog | 10 +++-- RELNOTES | 90 +++++++++++++++++++--------------------- doc/siproxd.conf.example | 41 ++++++++++-------- 3 files changed, 72 insertions(+), 69 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1d4ac8d..9acd1b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,18 +1,20 @@ 0.5.1 ===== + 21-Dec-2003: - possibility to log call establishment 17-Dec-2003: - full duplex RTP proxy (many thanks to Chris Ross for his work on this). Up to now, only the RTP *Relay* - has been tested (works with KPhone, BudgeTone) + has been tested (it works with KPhone, BudgeTone) - fix: SIP phones that allocate a random port for incomming SIP traffic should now work (like BudgeTone) - fix: some SIP phones do change the RTP port number during a session (like KPhone during HOLD/unHOLD) - 15-Dec-2003: - use even port numbers for RTP traffic + - textual corrections + 15-Dec-2003: - use only even port numbers for RTP traffic 05-Dec-2003: - some changes & enhancements inspired by Chris Ross: * 183 Trying *may* contain SDP data * compare_url: now does compare the scheme, - if a host is not resolveable hostnames will be - compares as strings + if a host is not resolveable, hostnames will be + compared as strings 04-Dec-2003: - have registrations persistent across restarts of the daemon ('registration_file' config option) 29-Nov-2003: - some documentation & FAQ updates diff --git a/RELNOTES b/RELNOTES index e7c1489..41a058a 100644 --- a/RELNOTES +++ b/RELNOTES @@ -1,55 +1,55 @@ -Release Notes for siproxd-0.5.0 +Release Notes for siproxd-0.5.1 =============================== -As quite some changes have been made now, I decided to make another -release - even if some new feature are not yet completely ready, -like IPTABLES (netfilter) support in the RTP proxy. -However, it includes some important bugfixes and some other goodies. +Just before my vacations I'll make another release. Some new features +have been added and some changes are still going on. +After giving some thoughts, I decided to discontinue the IPCHAINS +and IPTABLES support. Reasons for this are, the RTP relay does +fulfill the same task (with the cost of more CPU time needed), +but it is much easier to support (portability and support +on other platforms) and has no need for any special firewall +masquerading configuration. -Major changes since 0.4.2: - - Feature: Proxy chaining - siproxd itself may now use an additional - outbound proxy. This allows for example to chain serveal siproxd - (cross multiple firewalls). - - Feature: Includes *preliminary* support for IPTABLES (netfilter) - based systems. Current restrictions: The executable 'iptables' - must reside in /sbin/iptables. Chroot jail not working. - Must be run as root, don't let siproxd change the UID. - This item is stil under work, it may or may not work for you. +Major changes since 0.5.0: + - Feature: Full duplex RTP proxy - masquerading for outgoing + RTP stream is no longer needed.Only the RTP relay has been + tested yet. However, I'm planning to discontinue IPCHAINS and + IPTABLES support in the near future for the sake of less + dependency of the OS and portability. - - Feature: Some changes to have siproxd compile under Solaris. - Runtime is not tested yet. + - Feature: The BudgeTone SIP phones now DO work with the RTP relay. - - Fix: Bugfixes and cleanup for building of FreeBSD + - Feature: UA registrations now survive a restart of siproxd + (ongoing sessions however do not survive). + + - Fix: cope with changing RTP port numbers suring a session + (e.g. kphone does it when doing HOLD/unHOLD) - - Fix: Chroot jail did not work properly and resultet in ERRORs - during hostname lookups (gethostbyname) General Overview: + - SIP (RFC3261) Proxy for SIP based softphones hidden behind a + masquerading firewall + - works with "dial-up" conenctions (dynamic IP addresses) + - Multiple local users/hosts can be masqueraded simultaneously + - Access control (IP based) for incoming traffic + - Proxy Authentication for registration of local clients (User Agents) + with individual passwords for each user - May be used as pure Outbound proxy (registration of local UAs to a 3rd party registrar) - Fli4l OPT_SIP (still experimental) available, check http://home.arcor.de/jsffm/fli4l/ - supports Linux and FreeBSD (other BSD derivates not yet tested) - - SIP (RFC3261) Proxy for SIP based softphones hidden behind a - masquerading firewall - - Includes an RTP data stream proxy for *incoming* audio data - (outgoing RTP data should be handled by IP masquerading by the firewall) - - Includes Linux/IPCHAINS support for UDP masquerading tunnels as RTP proxy - (Kernels 2,2,x so far - 2.4.x with IPTABLES is not yet supported) - - Port range to be used for incoming RTP traffic is configurable - (-> easy to set up apropriate firewall rules for incoming traffic) + - Full duplex RTP data stream proxy for *incoming* and *outgoing* + audio data - no firewall masquerading entries needed + - Port range to be used for RTP traffic is configurable + (-> easy to set up apropriate firewall rules for RTP traffic) - RTP proxy can handle multiple RTP streams (eg. audio + video) within a single SIP session. - - Multiple local users/hosts can be masqueraded simultaneously - Supports running in a chroot jail and changing user-ID after startup - All configuration done via one simple ascii configuration file - - Proxy Authentication for registration of local clients (User Agents) - with individual passwords for each user - Logging to syslog in daemon mode - - Access control (IP based) for incoming traffic - - RPM package available - - works with "dial-up" conenctions (dynamic IP addresses) + - RPM package - The host part of UA registration entries can be masqueraded (mask_host, masked_host config items). Some Siemens SIP phones seem to need this 'feature'. @@ -69,33 +69,29 @@ Currently tested on: Reported to build on: - OpenBSD 2.9 +- Solaris2 Reported interoperability (tested with softphones): - - Grandstream BudgeTone-100 series (only works with IPCHAINS RTP proxy) + - Grandstream BudgeTone-100 series - Linphone (local and remote UA) (http://www.linphone.org) - Kphone (local and remote UA) (http://www.wirlab.net/kphone/) - MSN messenger 4.6 (remote and local UA) + If you can confirm other SIP phones working, please drop me + a short note. Known bugs: There will be... - If you port siproxd to a new platform or do other kinds of changes - or bugfixes that might be of general interest, please drop me a - line. Also if you intend to include siproxd into a distribution - I'd be happy to get a short notice. +If you port siproxd to a new platform or do other kinds of changes +or bugfixes that might be of general interest, please drop me a +line. Also if you intend to include siproxd into a software +distribution I'd be happy to get a short notice. ----- -md5sum for siproxd-0.5.0.tar.gz: 506efb9c88d68944f63ab42130e15ae6 +md5sum for siproxd-0.5.1.tar.gz: -GnuPG signature for siproxd-0.5.0.tar.gz archive: ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.1 (GNU/Linux) - -iD8DBQA/xPhdCfzBioe83JQRAp8CAKDFBUJEFiTraZc1xl8MJSHtqjevsACffF2N -yuUjpOq58gUC4XEQRsYspuk= -=YsPE ------END PGP SIGNATURE----- +GnuPG signature for siproxd-0.5.1.tar.gz archive: GnuPG: pub 1024D/87BCDC94 2000-03-19 Thomas Ries diff --git a/doc/siproxd.conf.example b/doc/siproxd.conf.example index 3f975e9..61d8cb7 100644 --- a/doc/siproxd.conf.example +++ b/doc/siproxd.conf.example @@ -1,9 +1,9 @@ # # /etc/siproxd.conf - siproxd configuration file # -# !! This is a sample file, adapt it to your needs before using it +# !! This is a sample file, adapt it to your needs before using it !! # -# !! Strings MUST NOT contain spaces in between !! +# !! Strings MUST NOT contain spaces !! # ###################################################################### @@ -16,21 +16,21 @@ if_outbound = ppp0 ###################################################################### # Access control. # Access lists in the form: IP/mask (ex. 10.0.0.1/24) -# multiple entries may be separated by commas NO SPACES ARE ALLOWED!! +# Multiple entries may be separated by commas NO SPACES ARE ALLOWED!! # Empty list means 'does not apply' - no filtering is done then. # For *allow* lists this means: always allow, for *deny* lists that # this means never deny. # -# hosts_allow_reg: defines nets where we accept registrations from -# hosts_allow_sip: defines nets where we accept SIP traffic from -# hosts_deny_sip: defines nets where we deny SIP traffic from +# hosts_allow_reg: defines nets from which we accept registrations +# hosts_allow_sip: defines nets from which we accept SIP traffic +# hosts_deny_sip: defines nets from which we deny SIP traffic # # - The deny list takes precedence over the allow lists. -# - The allow_reg list implies also allowance for sip. +# - The allow_reg list also implies allowance for sip. # # Example for usage: # local private net -> allow_reg list -# external nets (where we accept incoming calls from) -> allow_sip +# external nets (from which we accept incoming calls) -> allow_sip # #hosts_allow_reg = 192.168.1.8/24 #hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16 @@ -39,7 +39,7 @@ if_outbound = ppp0 ###################################################################### # Port to listen for incoming SIP messages. -# 5060 is usually the correct choise - don't change is unless you +# 5060 is usually the correct choice - don't change this unless you # know what you're doing # sip_listen_port = 5060 @@ -60,6 +60,11 @@ daemonize = 1 # see what siproxd is doing - or NOT doing) silence_log = 0 +###################################################################### +# Shall I log call establishment to syslog? +# +log_calls = 1 + ###################################################################### # Secure Enviroment settings: # user: uid/gid to switch to after startup @@ -69,8 +74,9 @@ user = nobody ###################################################################### # Registration file: -# Where to store the current registrations -# empty means we do not save registrations +# Where to store the current registrations. +# An empty value means we do not save registrations. Make sure that +# the specified directory path does exist! registration_file = /var/lib/siproxd/siproxd_registrations ###################################################################### @@ -87,8 +93,8 @@ registration_file = /var/lib/siproxd/siproxd_registrations rtp_proxy_enable = 1 ###################################################################### -# Port range where to allocate listen ports for incoming RTP traffic -# this should be a range that is not blocked by the firewall +# Port range to allocate listen ports from for incoming RTP traffic +# This should be a range that is not blocked by the firewall # rtp_port_low = 7070 rtp_port_high = 7080 @@ -96,7 +102,7 @@ rtp_port_high = 7080 ###################################################################### # Timeout for RTP streams # after this number of seconds, an RTP stream is considered dead -# and proxying it will be stopped. +# and proxying for it will be stopped. # rtp_timeout = 120 @@ -108,12 +114,11 @@ rtp_timeout = 120 # #proxy_auth_realm = Authentication_Realm # -# the password to use (right now, only one global password for -# registration is supported -> same for all local clients) +# the (global) password to use (will be the same for all local clients) # #proxy_auth_passwd = password # -# or use individual per user passwords stored in a file +# OR use individual per user passwords stored in a file # #proxy_auth_pwfile = doc/siproxd_passwd.cfg # @@ -140,7 +145,7 @@ debug_level = 0x00000000 ###################################################################### # Mask feature (experimental) # -# Some UAs will always use the host/ip they register to as +# Some UAs will always use the host/ip they register with as # host part in the registration record (which will be the inbound # ip address / hostname of the proxy) and can not be told to register a # different host (public IP address). This Mask feature allows to force