83 Commits

Author SHA1 Message Date
Thomas Ries
2f661ce669 - Proxy Authorization: enclose strings with quotes
and fixed an error that did not let REGISTER
  requests pass through to a 3rd party registrar.
2004-02-21 16:09:42 +00:00
Thomas Ries
f7cef1ab3c - Documentation spell corrections (patch from Luke Mewburn) 2004-02-17 20:29:14 +00:00
Thomas Ries
9225138b91 - Hack for Grandstream SIP phones and SUBSCRIBE response
now SELECTIVE for Grandstream phones (kphone did not seem
   to like 404 answers... How picky these little thingies are...)
2004-02-16 21:17:13 +00:00
Thomas Ries
abf4b77229 - Hack for Grandstream SIP phones and SUBSCRIBE response 2004-02-14 16:29:07 +00:00
Thomas Ries
9046100d24 - Released 0.5.3 2004-02-14 10:28:05 +00:00
Thomas Ries
e75d1c8f79 - Removed superfluous backslashes for line continuation 2004-02-14 10:07:31 +00:00
Thomas Ries
3c9e22b0cb - Use same SIP port number for RX & TX (-> support
symmetric SIP signalling)
2004-02-11 00:24:47 +00:00
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
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
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
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
822013f770 - textual corrections in config file
- preparation for 0.5.1. release
2003-12-22 11:15:10 +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
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
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
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
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
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
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
Thomas Ries
49b237db3f preparation for 0.4.0 release 2003-10-11 09:32:53 +00:00
Thomas Ries
f33e23775a - added INFO() for incomming SIP Calls 2003-10-08 20:34:24 +00:00
Thomas Ries
c2d9091dd0 - 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)
2003-10-04 15:39:39 +00:00
Thomas Ries
414f2f3e66 - corrected the calling arguments of rtp_masq dummy
routines (non IPCHAINS capable kernels)
2003-09-24 16:57:24 +00:00
Thomas Ries
0ba57c0e9b - \0 termination of read SIP telegram from line 2003-09-22 23:29:44 +00:00
Thomas Ries
196e6efe6d - released 0.3.6
- code cleanup for UDP masquerading tunnels
2003-09-22 20:33:16 +00:00
Thomas Ries
a19661887f RTP traversal using UDP masquerading tunnels from user space 2003-09-07 14:53:50 +00:00