170 lines
6.2 KiB
Plaintext
170 lines
6.2 KiB
Plaintext
Release Notes for siproxd-0.8.4
|
|
===============================
|
|
|
|
|
|
|
|
Major changes since 0.8.3:
|
|
-
|
|
|
|
|
|
New plugins:
|
|
-
|
|
|
|
Upgrade Notes 0.8.3 to 0.8.4:
|
|
- 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 (4.x.x)
|
|
|
|
Mainly tested on:
|
|
- CentOS
|
|
This is the main development and testing environment. Other platforms
|
|
are not extensively tested. However, the code should be quite portable
|
|
and build on many UNIX/Linux flavors.
|
|
|
|
Builds on (tested by dev-team or reported to build):
|
|
- Linux: CentOS/RedHat
|
|
- FreeBSD: FreeBSD 10
|
|
|
|
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
|
|
- SJPhone softphone
|
|
- Asterisk PBX (using a SIP Trunk, masqueraded via siproxd, chan_sip driver)
|
|
- Ekiga
|
|
- FreePBX
|
|
- Yealink series
|
|
|
|
Reported interoperability with SIP service providers:
|
|
- Sipgate (http://www.sipgate.de)
|
|
- Stanaphone (SIP Gateway to PSTN)
|
|
- Sipcall.ch (Swiss VoIP provider)
|
|
- Nexphone.ch (Swiss VoIP provider - via resellers)
|
|
- 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.4.tar.gz archive:
|
|
SHA-256 Hash:
|
|
|
|
GnuPG signature for siproxd-0.8.4.tar.gz:
|
|
<!-- -->
|
|
|
|
NEW GPG KEY!
|
|
pub 4096R/2AC27400 2017-07-11 Thomas Ries (HB9XAR) <thomas.ries@easytux.ch>
|
|
Key fingerprint = 6560 75BE 4D4D 6C4D 8005 D4B4 9D77 7F7D 2AC2 7400
|
|
Key available at http://siproxd.tuxworld.ch/2AC27400.pub
|
|
|