- 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
- 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.
- security_check_sip: CSeq header must be present.
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
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.
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
* 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.
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)
that is "temporary" DOWN (dial up internet access)
if outbounf 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 in check for socket() return status
- 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)