560 Commits

Author SHA1 Message Date
Thomas Ries
d0a2ac463a - RTP proxy: fixed a bug that could lead to a deadlock
on very rapid HOLD/unHOLD sequences.
2004-02-07 20:55:03 +00:00
Thomas Ries
9df56bc3b8 - logging routines now use a MUTEX to be thread safe.
- fix: local UA to UA RTP proxying did not proplery handle HOLD/unHOLDing
  a call
2004-02-07 17:37:50 +00:00
Thomas Ries
c9d86d78d7 - Fix for local-UA to local-UA RTP proxying, symmetric
RTP was not working.
2004-02-07 16:54:09 +00:00
Thomas Ries
b044b72456 - textual corrections 2004-02-06 00:43:44 +00:00
Thomas Ries
ed67096584 - minor cleanup
- removed some old linphone-bug-workaround hack
2004-02-06 00:40:45 +00:00
Thomas Ries
af152d2bf4 - Added handling of Max-Forwards header
- a detected via loop results in an 482 Loop detected
2004-02-01 16:55:37 +00:00
Thomas Ries
2315f495d4 - Allow 2 of my vias in header to let 2 UA's sitting
behind the same siproxd to have conversation together
  UA1 -->--\       /-->--\
            siproxd       Registrar
  UA2 --<--/       \--<--/
- Redone code for evaluation if a received packet
  if coming from inbound or outbound interface
- RTP stream 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 should now work.
- Removed obsolete prototypes from rtpproxy.h
- If the RTP stream in one direction is found to be
  stopped (sendto()) also stop the opposite direction
2004-02-01 01:44:42 +00:00
Thomas Ries
044a8a63d3 - release 0.5.2 2004-01-30 23:42:01 +00:00
Thomas Ries
f4ce99e003 - If RTP proxy is disabled, don't rewrite incomming
SDP bodies (patch from Robert Högberg)
2004-01-30 21:58:51 +00:00
Thomas Ries
ba2b99a635 - new doc/RFC3261_compliance.txt and comments in the
code that refer to the RFC.
2004-01-29 20:11:12 +00:00
Thomas Ries
8af5baeddc - 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)
2004-01-29 00:02:22 +00:00
Thomas Ries
f521d4b78a - don't die on INVITE requests that include no Contac
header - which is legal. (patch by Robert Hoegberg)
2004-01-28 22:12:28 +00:00
Thomas Ries
230c3d3ffb - fix: doing strlen(bodybuff) after having free()d it
found by dmalloc memory poisoning
- fix: new branch id hash calculation was not working properly
  (dont check return status in osip_xxx_to_str() functions -
  the docu does not say anything about them (looks like 0 == success)
  but better check the returnet string pointer value -> NULL = failed)
  This resulted in a memory leak an imporper calculated MD5 hash.
2004-01-28 01:06:28 +00:00
Thomas Ries
fe9beb76d5 - 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 by Christof Meerwald).
2004-01-28 00:19:30 +00:00
Thomas Ries
17d7438b5c - SIP request: remove a Route-header pointing to myself.
This was an issue with Linphone 0.12.1. Thanks to
  Robert Hoegberg for a patch.
2004-01-27 23:38:29 +00:00
Thomas Ries
a32207d5bc - better branch parameter calculation (via header),
now honors RFC3261 for stateless proxies (section 16.11)
2004-01-27 20:00:42 +00:00
Thomas Ries
fcc4449bca - added doc/KNOWN_BUGS 2004-01-27 18:32:00 +00:00
Thomas Ries
115b6b9ee0 - ./configure option: --enable-static to build
a completely statically linked executable
- REGISTER takes honors the expires parameter
  of the contact header
- Contact header of REGISTER response must be
  rewritten back to the local (true) URL
2004-01-23 00:02:18 +00:00
Thomas Ries
d434b426a4 - release 0.5.1 2003-12-22 13:57:47 +00:00
Thomas Ries
822013f770 - textual corrections in config file
- preparation for 0.5.1. release
2003-12-22 11:15:10 +00:00
Thomas Ries
b910e74318 - possibility to log call establishment
- eliminated MOREDEBUG conditional
2003-12-21 14:36:45 +00:00
Thomas Ries
9526f46589 - persistent registrations: malloc - space must include terminating \0 2003-12-20 19:57:58 +00:00
Thomas Ries
02ce749229 - 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)
- 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)
2003-12-17 21:22:50 +00:00
Thomas Ries
0dc5535307 - cosmetic changes (placing WARNS to proper if-then-else part,
debug output niceification)
2003-12-17 11:01:18 +00:00
Thomas Ries
c88a45dd20 - use even port numbers for RTP traffic
- some minor fixes
2003-12-15 17:31:59 +00:00
Thomas Ries
acbdb707ec - some changes & enhancements inspired by Cris 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
2003-12-05 18:16:28 +00:00
Thomas Ries
0170015955 - have registrations persistent across restarts of
the daemon ('registration_file' config option)
2003-12-04 21:18:19 +00:00
Thomas Ries
d92bc2b711 - hstrerror: if not found, look in libresolv as well (Solaris) 2003-12-03 17:26:43 +00:00
Thomas Ries
62bd5bd06c - some documentation & FAQ updates 2003-11-29 15:15:45 +00:00
Thomas Ries
59d3037b36 - released 0.5.0 2003-11-26 18:59:33 +00:00
Thomas Ries
db2d3e22d8 - some fixes in sockbind() (FreeBSD) by Jeremy Shaw
- added doc/devel.txt with issues to keep the code portable
2003-11-24 22:58:44 +00:00
Thomas Ries
4f96757513 - got the gethostbyname() failure problem solved.
(the resolver needs a shared lib that was tried
  to load AFTER chrooting...)
2003-11-23 08:58:17 +00:00
Thomas Ries
00dfe93a0d - Introduced the use of gethostbyname_r() if available. As siproxd
uses threads it probably is a very good idea (some funny things
  seen with Linux 2.4.18 kernel & RTP proxy - gethostbyname()
  did return a NULL result but has h_errno set to 0 "every fine, thanks")
  Future will show it this helps.
- Had overlooked one inet_aton in register.c - replaced to utils_inet_aton
- Fixed a compiler warning in log.c for Solaris. Siproxd now at least
  builds on Solaris (tested on: SunOS 5.9 sun4u sparc SUNW,Ultra-60)
2003-11-22 21:54:21 +00:00
Thomas Ries
ccc0401850 - explicitely use _SOLARIS2 macro instead of just _SOLARIS 2003-11-20 07:17:18 +00:00
Thomas Ries
feffc2f827 - typo in utils.c (HAVE_INET_NTOA/ATON) 2003-11-19 22:39:57 +00:00
Thomas Ries
e67b823457 - 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()
- First attempt of iptables support. Routines to add/remove
  DNAT entries must still be done.
2003-11-19 19:36:30 +00:00
Thomas Ries
2eac7c49b6 - readconfig.c: include sysconfdir to the list of locations
where siproxd will search for its config file
2003-11-18 20:00:39 +00:00
Thomas Ries
61153d735b but now! 2003-11-14 18:50:07 +00:00
Thomas Ries
ceb8ffb843 comment lines swapped 2003-11-14 18:49:15 +00:00
Thomas Ries
7422e70993 - rtpproxy.c: sys/types.h needed for *BSD
- rtpproxy_relay.c: stdlib.h needed for atexit()
- tested: siproxd builds on FreeBSD 4.9
2003-11-14 18:48:51 +00:00
Thomas Ries
5ba59ca603 - test for NETFILTER headers (RTP proxy) 2003-11-02 20:15:25 +00:00
Thomas Ries
c472d8d1b4 - rtpproxy bugfix: On repetitive INVITES, the UDP media
port could end up as -1 in the rewritten packet.
2003-11-02 20:14:03 +00:00
Thomas Ries
7a6b29bdb9 - corrected typo in change history 2003-11-02 20:08:14 +00:00
Thomas Ries
0f2e1a72c7 - siproxd can use another outbound proxy itself
- Linux 2.4.x: siproxd with RTP relay could hang
  on termination. Fixed.
2003-11-01 10:27:54 +00:00
Thomas Ries
d24377ebd1 - install to sbin
- adapted SPEC file
2003-10-31 20:42:03 +00:00
Thomas Ries
b4aa38a683 - released 0.4.2
- SPEC file: included config files & more docu
2003-10-31 20:21:49 +00:00
Thomas Ries
a492248d4d - fixed other memleak in proxy.c (every invitation body rewritten
has lost ~4kB of memory)
2003-10-19 17:36:53 +00:00
Thomas Ries
1aada28a60 - included compiling support for DMALLOC debugging
- fixed memory leak in proxy.c (39 bytes got lost
  every proxied message)
2003-10-19 10:31:37 +00:00
Thomas Ries
b58a815b71 - released 0.4.1 2003-10-12 10:22:18 +00:00
Thomas Ries
f50abc56ad - Local registration was simply broken. Fixed. 2003-10-12 10:12:55 +00:00