404 lines
19 KiB
Plaintext
404 lines
19 KiB
Plaintext
0.5.5
|
||
=====
|
||
9-Apr-2004: - SDP body: do rewrite 'o=' (originator) address, too
|
||
- siproxd can be linked to a customer firewall control
|
||
module (library) that will be called for each RTP
|
||
stream that is started/stopped.
|
||
8-Apr-2004: - small FAQ updates
|
||
5-Apr-2004: - config file: don't complain on line s with only whitespaces
|
||
- fix: Via branch calculation
|
||
- security.c: increased max acceptable line length
|
||
- security.c: prevent libosip2 to die with "out of memory"
|
||
on some malformed headers
|
||
4-Apr-2004: - Realtime Scheduling for RTP proxy
|
||
3-Apr-2004: - fix: SDP 'c=' items in media part
|
||
2-Apr-2004: - PID file
|
||
31-Mar-2004: - accessctl.c: text correction in ERROR output
|
||
30-Mar-2004: - Again '*' Contact header in unREGISTER
|
||
- new: tools/extract_sip.pl
|
||
26-Mar-2004: - SDP rewrite: properly handle 'c=' items in session
|
||
*and* media part of SDP data.
|
||
22-Mar-2004: - deal with wildcard Contact header for unREGISTER
|
||
- enhanced security tests to survive the PROTOS test
|
||
21-Mar-2004: - added ./autogen.sh
|
||
- security_check_sip: check existence of mandatory headers
|
||
19-Mar-2004: - proxy_rewrite_invitation_body: check success of
|
||
starting RTP relay before rewriting SDP body
|
||
- proxy_rewrite_invitation_body: don't fail on
|
||
Contact header with no user part.
|
||
18-Mar-2004: - security_check_sip: CSeq header must be present.
|
||
|
||
0.5.4
|
||
=====
|
||
6-Mar-2004: - Released 0.5.4
|
||
- Some FAQ updates
|
||
21-Feb-2004: - Proxy Authorization: enclose strings with quotes
|
||
and fixed an error that did not let REGISTER
|
||
requests pass through to a 3rd party registrar.
|
||
17-Feb-2004: - Documentation spell corrections (patch from Luke Mewburn)
|
||
16-Feb-2004: - Hack for Grandstream SIP phones and SUBSCRIBE response
|
||
|
||
0.5.3
|
||
=====
|
||
14-Feb-2004: - Released 0.5.3
|
||
- Removed superfluous backslashes for line continuation
|
||
11-Feb-2004: - Use same SIP port number for RX & TX (-> support
|
||
symmetric SIP signalling)
|
||
7-Feb-2004: - Fix for local-UA to local-UA RTP proxying, symmetric
|
||
RTP was not working.
|
||
- logging routines now use a MUTEX to be thread safe.
|
||
- RTP proxy: fixed a bug that could lead to a deadlock
|
||
on very rapid HOLD/unHOLD sequences.
|
||
1-Feb-2004: - Added handling of Max-Forwards header
|
||
- a detected via loop results in an 482 Loop detected
|
||
31-Jan-2004: - Allow 2 of my vias in header to let 2 UA's sitting
|
||
behind the same siproxd have conversation together
|
||
UA1 -->--\ > /-->--\
|
||
siproxd Registrar
|
||
UA2 --<--/ < \--<--/
|
||
- Redone code for evaluation if a received packet
|
||
is coming from the inbound or outbound network
|
||
- RTP streams are now identified by call_id AND
|
||
USERNAME of the contact header. This provides
|
||
support for RTP proxying between 2 UAs sitting on the
|
||
inbound network. -> Calls between local UAs going via
|
||
siproxd should now work.
|
||
UA1 -->--\
|
||
siproxd
|
||
UA2 --<--/
|
||
- Rewriting of SUBSCRIBE messages should now work.
|
||
- Removed obsolete prototypes from rtpproxy.h
|
||
- If the RTP stream in one direction is found to be
|
||
aborted (sendto() failure), also stop the stream
|
||
for the opposite direction
|
||
|
||
0.5.2
|
||
=====
|
||
31-Jan-2004: - Released 0.5.2
|
||
30-Jan-2004: - If RTP proxy is disabled, don't rewrite incomming
|
||
SDP bodies (patch from Robert H<>gberg)
|
||
29-Jan-2004: - new doc/RFC3261_compliance.txt and comments in the
|
||
code that refer to the RFC.
|
||
28-Jan-2004: - don't die on INVITE requests that include no Contact
|
||
header - which is legal. (patch from Robert H<>gberg)
|
||
- RTP proxy: don't try to forward empty RTP packets
|
||
- renamed some variables of rtp_proxytable_t to make
|
||
better sense (changed meaning in fullduplex RTP proxy)
|
||
27-Jan-2004: - added doc/KNOWN_BUGS
|
||
- better branch parameter calculation (via header),
|
||
now honors RFC3261 for stateless proxies (section 16.11)
|
||
- SIP request: remove a Route header pointing to myself.
|
||
This was an issue with Linphone 0.12.1.
|
||
(patch from Robert H<>gberg).
|
||
- removed IPCHAINS & IPTABLES (netfilter) proxy support
|
||
- RTPPROXY correction: match RTP ports crosswise -
|
||
use one single port (and socket) on each side (inbound/
|
||
outbound) to send and receive RTP traffic for every
|
||
active stream (patch from Christof Meerwald).
|
||
22-Jan-2004: - ./configure option: --enable-static to build
|
||
a completely statically linked executable
|
||
- REGISTER honors the expires parameter
|
||
of the contact header
|
||
- Contact header of REGISTER response must be
|
||
rewritten back to the local (true) URL
|
||
18-Jan-2004: - security_check_raw:
|
||
size check: >= 16 bytes
|
||
- at exit, check registration file to be writable
|
||
- no WARNING if SIP user-agent header is not supplied.
|
||
- Call logging: distinguish between In & Out
|
||
- include branch parameter for via headers
|
||
|
||
0.5.1
|
||
=====
|
||
22-Dec-2003: - Released 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 (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)
|
||
- 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
|
||
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
|
||
|
||
0.5.0
|
||
=====
|
||
26-Nov-2003: - released 0.5.0
|
||
- included preliminary support for IPTABLES (netfiler)
|
||
based systems.
|
||
24-Nov-2003: - some fixes in sockbind() (FreeBSD) by Jeremy Shaw
|
||
23-Nov-2003: - got the gethostbyname() failure problem solved.
|
||
(the resolver needs a shared lib that was tried
|
||
to load AFTER chrooting...)
|
||
22-Nov-2003: - utils.c: use gethostbyname_r() in favor of
|
||
gethostbyname - if available (siproxd uses threads!)
|
||
- some small items & cleanup
|
||
19-Nov-2003: - Integrated a patch from Chris Ross:
|
||
* have siproxd compile on Solaris and BSD/OS (more to come)
|
||
* ./configure option --with-libosip-prefix
|
||
* properly handle getopt_long()/getopt()
|
||
18-Nov-2003: - readconfig.c: include sysconfdir to the list of locations
|
||
where siproxd will search for its config file
|
||
14-Nov-2003: - rtpproxy.c: sys/types.h needed for *BSD
|
||
- tested: siproxd builds on FreeBSD 4.9
|
||
2-Nov-2003: - rtpproxy bugfix: On repetitive INVITES, the UDP media
|
||
port could end up as -1 in the rewritten packet.
|
||
1-Nov-2003: - siproxd can use another outbound proxy (chaining)
|
||
- Linux 2.4.x: siproxd with RTP relay could hang
|
||
on termination (Thread termination). Fixed.
|
||
|
||
0.4.2
|
||
=====
|
||
31-Oct-2003: - released 0.4.2
|
||
- Makefile: install siproxd to sbin (was bin)
|
||
24-Oct-2003: - SPEC file: included config files & more docu
|
||
19-Oct-2003: - included compiling support for DMALLOC debugging
|
||
- fixed 2 memory leaks in proxy.c
|
||
|
||
0.4.1
|
||
=====
|
||
12-Oct-2003: - released 0.4.1
|
||
12-Oct-2003: - Local registration of UAs was simply broken. Fixed.
|
||
|
||
0.4.0
|
||
=====
|
||
11-Oct-2003: - released 0.4.0
|
||
08-Oct-2003: - rtpproxy_masq: fixed an issue in port allocation
|
||
which lead to syslog entries from IPCHAINS complaining
|
||
about 'already used connection' in the syslog.
|
||
- added INFO() for incomming SIP Calls
|
||
04-Oct-2003: - Siproxd now also works as outbound proxy 'only',
|
||
means that local UAs may register themselfes to a
|
||
3rd party registrar and use siproxd only as oubound
|
||
proxy for masquerading purpose.
|
||
- fixed some errors with callid handling (NULL pointers)
|
||
24-Sep-2003: - corrected the calling arguments of rtp_masq dummy
|
||
routines (non IPCHAINS capable kernels)
|
||
22-Sep-2003: - '\0' termination of read() SIP telegram from line
|
||
|
||
0.3.6
|
||
=====
|
||
22-Sep-2003: - released 0.3.6
|
||
- Code cleanup for RTP proxy
|
||
07-Sep-2003: - IPCHAINS based UDP tunneling (kernel masquerading)
|
||
for RTP traffic (still experimental - but seems to work).
|
||
To activate it, just set 'rtp_proxy_enable' equal 2
|
||
in the config. NOTE: siproxd must then be started by
|
||
root (but dropping privileges works).
|
||
05-Sep-2003: - configure.in: test for pthreads before libosip (RH9.0)
|
||
|
||
0.3.5
|
||
=====
|
||
30-Aug-2003: - released 0.3.5
|
||
20-Aug-2003: - security tests: responses may have empty SIP URI
|
||
don't fail there.
|
||
- increase size of call_id for RTP proxy table and
|
||
include a size check.
|
||
- rtpproxy: cleaned up some stuff with handling of FD's
|
||
|
||
0.3.4
|
||
=====
|
||
05-Aug-2003: - released 0.3.4
|
||
31-Jul-2003: - now supports OSIP2 only (due to rather big changes
|
||
in the API libosip -> libosip2). Compiles cleanly w/
|
||
libosip2 2.0.2
|
||
|
||
0.3.3
|
||
=====
|
||
05-Jul-2003: - released 0.3.3
|
||
10-May-2003: - rewritten code in proxy_rewrite_invitation_body
|
||
should now work (better) with multiple media streams
|
||
23-Apr-2003: - FAQ updates: RTP internals
|
||
- more debug and error testing (MOREDEBUG)
|
||
6-Apr-2003: - build options for FLI4L builds (libc5 & uClibc)
|
||
|
||
0.3.2
|
||
=====
|
||
5-Apr-2003: - released 0.3.2
|
||
4-Apr-2003: - introduced config option 'silence_log' - this allows
|
||
to control how much logging is done to syslog -
|
||
logging can even completely be switched off...
|
||
1-Apr-2003: - should now be able to deal with an outbound interface
|
||
that is "temporary" DOWN (dial up internet access)
|
||
if outbound IF is down, send back a response to
|
||
inbound UAs "408 Request Timeout".
|
||
- always log to syslog, also when running in foreground
|
||
- changed some WARNINGS into DEBUG statements
|
||
- re-arranged some code
|
||
- rtpproxy: prepared for proper thread termination on exit
|
||
- introduced short term caching for get_ip_by_ifname
|
||
- fixed check for socket() return status
|
||
- fixed bug in RTP Proxy (timeout of inactive streams)
|
||
that produced a bunch of "ERROR:Error in close(0): Bad file
|
||
descriptor" errors each time a RTP stream timed out
|
||
- fixed daemonizing (libc5) - now it properly detaches
|
||
30-May-2003: - always log ERROR, WARNING and INFO to syslog (also
|
||
if not running as daemon)
|
||
- minor corrections on ERROR printouts
|
||
|
||
0.3.1
|
||
=====
|
||
- 29-May-2003: - released 0.3.1
|
||
- fix in configure.in for statically linking to libosip
|
||
- fix in rewriting SIP messages, figure out proper
|
||
destination if *not* rewriting the SIP URI
|
||
- another NULL pointer related crash (no UA header present)
|
||
|
||
0.3.0
|
||
=====
|
||
- 29-May-2003: - released 0.3.0
|
||
- supports libosip2 (automatically detect osip1/osip2)
|
||
- redone authentication - now should work with libosip2
|
||
libosip0.8.8 has a bug (fails in parse_msg)
|
||
- 28-May-2003: - changes in rewriting SIP messages - not everything
|
||
is blindly rewritten now (e.g. SUBSCRIBE is NOT)
|
||
- fixed resource leak (sockets) in get_ip_by_ifname
|
||
- 26-Mar-2003: - Bugfix: some potential NULL pointers passed to atoi()
|
||
of optional fields in SIP message could lead to crash
|
||
- 23-Mar-2003: - send 403 FORBIDDEN response to requests addressed
|
||
to proxy itself (-> SUBSCRIBE bug)
|
||
|
||
0.2.8
|
||
=====
|
||
- 23-Mar-2003: - released 0.2.8
|
||
- made compile with uClibc (see doc/FLI4L_HOWTO.txt)
|
||
- 22-Mar-2003: - made compile on SUSE5.3 (libc5)
|
||
- added --enable-almost-static feature switch. This will
|
||
build siproxd statically linked against libosip & pthreads
|
||
(for Fli4l use)
|
||
- 16-Mar-2003: - ERROR on unknown keywords in config file
|
||
- introduced INFO logging
|
||
|
||
0.2.7
|
||
=====
|
||
- 15-Mar-2003: - released 0.2.7
|
||
- 9-Mar-2003: - replaced get_ip_by_ifname by simpler code
|
||
(still to be *BSD tested)
|
||
- removed old host-name based style for in/outbound interface
|
||
configuration. This is only done via interface names
|
||
- experimental: The host part of UA registration entries
|
||
can be masqueraded (mask_host, masked_host config items)
|
||
Siemens SIP phones seem to need this 'feature'.
|
||
|
||
0.2.6
|
||
=====
|
||
- 28-Jan-2003: - released 0.2.6
|
||
- New Feature: RTP proxy should be able to handle multiple
|
||
media stream in the same session (audio + video)
|
||
- 21-Jan-2003: - Bugfix: crash in compare_url (MSN Messenger issue)
|
||
- 19-Jan-2003: - use of libosip-0.9.3 not possible yet -
|
||
libosip fails in msg_setproxy_authenticate
|
||
-> Bug in libosip? to be investigated!
|
||
- give IP address in debug for 'received packet'
|
||
- 'WARNING:proxy.c:202 request from/to unregistered UA' now
|
||
includes sender and destination url
|
||
- 17-Jan-2003: - OpenBSD: do not link against gnugetopt (Luke Renn)
|
||
|
||
0.2.5a
|
||
======
|
||
- 6-Dec-2002: - released 0.2.5a (major bugfixes)
|
||
- Bugfix: interfaces on odd positions (the 1st , 3rd, 5th)
|
||
have been skipped during the search (ip by interface)
|
||
- Bugfix: MSN messenger 4.6 caused a segfault due to
|
||
non supplied username in contact header during
|
||
registration. (Credits to Dhiraj Bhuyan for the hint)
|
||
Included additional tests in that area.
|
||
- 4-Dec-2002: - fixed a major (but stupid) bug in check_vialoop. Siproxd
|
||
wrongly claimed to have detected a loop...
|
||
|
||
0.2.4
|
||
=====
|
||
- 23-Nov-2002: - released 0.2.4 (feature enhancements)
|
||
- BSD: resolved some compatibility issues (sscanf ->
|
||
resulted in coredump when reading config file)
|
||
should now build on *BSD (tested on FreeBSD 4-7)
|
||
- inbound/outbound interfaces now can be specified
|
||
by their interface name - this removes the need
|
||
for a 'quasi' static IP and restarting siproxd at
|
||
change of IP address.
|
||
- 13-Nov-2002: - working on portability - goal is building on *BSD
|
||
(feedback from Georg Schwarz)
|
||
0.2.3
|
||
=====
|
||
- 10-Nov-2002: - released 0.2.3 (minor fixes)
|
||
- 9-Nov-2002: - make install also installs a sample password file
|
||
(/etc/siproxd_passwd.cfg)
|
||
- 8-Nov-2002: - string manipulations & data structures: better error
|
||
handling on some places.
|
||
- 2-Nov-2002: - 'make install' install now a templace config file
|
||
(/etc/siproxd.conf.example)
|
||
- 24-Oct-2002: - small docu updates in README
|
||
- 17-Oct-2002: - fix in ./configure - abort on missing libraries
|
||
|
||
0.2.2
|
||
=====
|
||
- 12-Oct-2002: - Released version 0.2.2
|
||
- '-d' commandline option supersedes config file setting
|
||
of debug_level.
|
||
- reworked return status from functions - now uses
|
||
symbolic values and is more consistent
|
||
- added individual user passwords for authentication
|
||
|
||
0.2.1
|
||
=====
|
||
- 28-Sep-2002: - Released version 0.2.1
|
||
- 27-Sep-2002: - first implementation of proxy authentication (for REGISTER)
|
||
- 24-Sep-2002: - if daemonized, log to syslog
|
||
- 22-Sep-2002: - added access list support for registration and incoming
|
||
SIP packets.
|
||
- 21-Sep-2002: - added RPM support (Spec File)
|
||
|
||
0.2.0
|
||
=====
|
||
- 17-Sep-2002: - Released version 0.2.0
|
||
- 15-Sep-2002: - added functionality to change user ID (drop privs)
|
||
after startup (configurable)
|
||
- added optional chroot jail (configurable)
|
||
|
||
0.1.3
|
||
=====
|
||
- 11-Sep-2002: - Fixed a error in the autoconf/automake part of the project.
|
||
(scripts subdirectory was missing in the tar.gz archive.
|
||
This resulted in an error during ./configure - complaining
|
||
about non existent install-sh script)
|
||
- startup is more silent - set initial debug level to 0
|
||
- 10-Sep-2002: - Some (yea, I know...) -minor- docu updates
|
||
- 8-Sep-2002: - Masquerade Contact Headers of inbound clients
|
||
(Contact header will be used by the remote SIP
|
||
user agent to directly contact the local user agent -
|
||
and bypassing the proxy. This of course will *not* work
|
||
if the local user agent is located in a private IP range.)
|
||
- Performance optimizations in RTP proxy
|
||
- Bugfix: now masqueraded clients work with any
|
||
SIP port (other than 5060). Before, incoming
|
||
requests/responses where always sent to port 5060.
|
||
|
||
0.1.2
|
||
=====
|
||
- 7-Sep-2002: - Released version 0.1.2
|
||
- fixed registration concept (SIP Contact header is not
|
||
a *must* to be present in every frame)
|
||
- Experimental RTP proxying feature (using pthreads)
|
||
- 26-Aug-2002: - Optimized DNS caching
|
||
|
||
0.1.1
|
||
=====
|
||
- 25-Aug-2002: - Released version 0.1.1
|
||
- can daemonize (detach and run in background)
|
||
- do some DNS caching
|
||
- 24-Aug-2002: - Imlemented support for a config file,
|
||
- obsoletes siproxd_conf.h
|
||
|
||
0.1.0
|
||
=====
|
||
- 19-Aug-2002: - Released version 0.1.0
|