Release Notes for siproxd-0.8.3 =============================== Major changes since 0.8.2: - New plugins: Upgrade Notes 0.8.2 to 0.8.3: - 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" connections (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 appropriate 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 signaling 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 Plugins: - 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 (suppressed CLID) - this in turn confuses siproxd. This plugin attempts to work around this by sanitizing the Contact Header before processing. - 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_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_stripheader Allows to strip particular headers from SIP messages. Useful if your provider chokes on some headers included by your local UA. - plugin_regex Applies an extended regular expression to the 'To' URI. - plugin_prefix Unconditionally prefixes all outgoing calls with a prefix. - plugin_stun Uses an external STUN server to determine the public IP address of siproxd. Useful for "in-front-of-NAT-router" scenarios. - plugin_fix_DTAG This plugin attempts to work-around some SIP issues with T-ONLINE SIP (as of 2015). T-Online.de 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_bogus_via Incoming (from public network) SIP messages are checked for broken SIP Via headers. If the IP address in the latest Via Header is part of the list below, it will be replaced by the IP where the SIP message has been received from. - plugin_shortdial Quick Dial (Short Dial) Ability to define quick dial numbers that can be accessed by dialing e.g. "*01" from a local phone. Requirements: - 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 Plattform! Note: As the compile farm of sourceforge.net 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) (http://www.linphone.org) - Kphone (local and remote UA) (http://www.wirlab.net/kphone/) - 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 (http://www.sipgate.de) - Stanaphone (SIP Gateway to PSTN) - Sipcall.ch (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: - callcentric.com (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.3.tar.gz archive: MD5 Hash: SHA-256 Hash: GnuPG signature: GnuPG: pub 1024D/87BCDC94 2000-03-19 Thomas Ries (tries at gmx.net) - Fingerprint = 13D1 19F5 77D0 4CEC 8D3F A24E 09FC C18A 87BC DC94 - Key via pgp.openpkg.org / http://www.ries.ch.vu/87BCDC94.pub VoIP: sip:17476691342@proxy01.sipphone.com | sip:431783@fwd.pulver.com