Site Navigation:
Current Release: 0.8.2

Valid HTML 4.01!

Release Notes for siproxd-0.8.2

A long time has gone by since the last official siproxd release.
But development has not stood still. Behind the curtains of public
releases work has continued and some exiting new features have been

All this work in progress between public releases has been and is
available in the daily code snapshots available for download.
But now - finally - it is time for another public release.

Major changes since 0.8.1:
 - We do now support dealing with anonymous calls. Some UAs (Fritzboxes 
   and possibly other UAs as well) do behave in an interresting way if
   receiving an anonymous call (CLID supressed by caller), casuing the call 
   to be dropped after 20...30 seconds.
 - Support for SIP Trunks - we do now supoprts SIP Trunks where a whole 
   DID number block is attached to one single SIP account.
 - Various interoperability issues have been resolved, check the list of 
   new plugins below.
 - And of course various bugfixes have been implemented.
 New plugins:
 - plugin_stripheader
   Allows to strip particular headers from SIP messages. Useful if your 
   provider chokes on some headers included by your local UA.
 - plugin_codecfilter
   Allows blacklisting of codecs and removes those from any passing SDP 
   payload in both (incoming and outgoing) directions. This allows the 
   proxy to force the exclusion of particular codecs in the negotiation 
   between a local UA and a remote side.
 - plugin_siptrunk
   Plugin to handle SIP Trunks where using *one* single SIP account a
   whole number block is routed. Please read the comments in the config
   file section.
 - plugin_fix_DTAG
   This plugin attempts to work-around some SIP issues with
   T-ONLINE SIP (as of 2015). sends broken Via headers in 
   responses, causing the received SIP response to be discarded by
   any SIP client that properly checks the Via chain.
 - plugin_fix_fbox_anoncall
   This plugin attempts to work-around some SIP issues with
   Fritzbox devices and anonymous calls. Fritzbox devices do change their
   Contact header when answering an anonymous call (supressed CLID) - this
   in turn confuses siproxd. This plugin attempts to work around this by
   sanitizing the Contact Header before processing.

Upgrade Notes 0.8.1 to 0.8.2:
 - Merge the configuration file

General Overview:
 - SIP (RFC3261) Proxy for SIP based softphones hidden behind a
   masquerading firewall
 - plugin system allows loading extensions to accomplish various tasks
 - Support for PRACK messages (RFC3262)
 - Support for UPDATE messages (RFC3311)
 - SIP UDP and TCP supported
 - 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)
 - runs on various operating systems (see below)
 - 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.
 - Symmetric RTP support
 - Symmetric SIP signalling support
 - Supports running in a chroot jail and changing user-ID after startup
 - All configuration done via one simple ascii configuration file
 - Logging to syslog in daemon mode
 - RPM package (Spec file)
 - 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'.
 - Provider specific outbound proxies can be configured
 - Can run "in front of" a NAT router.(in the local LAN segment)
 - supports "Short-Dials"
 - configurable RFC3581 (rport) support for sent SIP packets

 - pthreads (Linux)
 - glibc2 / libc5 / uClibc
 - libosip2 (3.x.x)

Mainly tested on:
- CentOS
  This is the main development and testing environment. Other platforms
  are not extensively tested.

Builds on (tested by dev-team or reported to build):
- Linux:        CentOS/RedHat
- FreeBSD:      FreeBSD 10.1

Note: A current siproxd version for pfsense (2.2.x - FreeBSD 10 based) 
      can be provided, please contact the author. Only i386 and amd64 

Note: As the compile farm of has been discontinued our
      building test possibilities are now somehow limited. Currently
      no explicit testing for systems/distributions other than
      CentOS/RHEL (x86 architecture) is made. We'll be looking into
      possibilities to perform some broader testing in future.
      Of course, external testers are welcome :-)

Reported interoperability with softphones:
 - SNOM series
 - Fritzbox UAs
 - Grandstream BudgeTone-100 series
 - Linphone (local and remote UA) (
 - Kphone (local and remote UA) (
 - MSN messenger 4.6 (remote and local UA)
 - X-Lite (Win XP Professional)
 - SJPhone softphone
 - Asterisk PBX (using a SIP Trunk, masqueraded via siproxd)
 - Ekiga
 - FreePBX

Reported interoperability with SIP service providers:
 - Sipgate      (
 - Stanaphone   (SIP Gateway to PSTN)
 -   (Swiss VoIP provider)
 - Ekiga
 - DTAG (Deutsche Telecom AG) -> requires plugin_fix_DTAG to work around
                                 some issues with this provider

 If you have siproxd successfully running with another SIP phone
 and/or service provider, please drop me a short note so I can update
 the list.

Known interoperability issues with SIP service providers:
 -      (afaik callcentric fails with "500 network failure"
                        during REGISTER if more than one Via header is
                        present in a SIP packet. Having multiple Via headers
                        is completely in compliance with RFC3261. This might
                        be related to their "NAT problem avoidance magic".
                        There is nothing that can be done within siproxd
                        to avoid this issue as callcentric does not comply
                        with the SIP specification.

Known bugs:
   - SRV DNS records are not yet looked up, only A records
   There will be more for sure...

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.

Signatures for siproxd-0.8.2.tar.gz archive:
MD5 Hash:       e3ec83f66ac880717c98512d89613f42
SHA-256 Hash:   526ce491b0cc189e2766c62432aff3ebb995e551d7261ea32c02a90c7bf7ccd0

GnuPG signature:
Version: GnuPG v1.4.5 (GNU/Linux)


GnuPG: pub  1024D/87BCDC94 2000-03-19 Thomas Ries (tries at
-      Fingerprint = 13D1 19F5 77D0 4CEC 8D3F  A24E 09FC C18A 87BC DC94
-      Key via /
VoIP: |