- 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
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)
* 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)
(needs to be *BSD tested yet!)
- removed old hostname based config of in/outbound interfaces
- experimental feature: additional masquerading of UA registrered
host parts of their SIP URL
- Bugfixes in the SIP proxy part
- Performance imporvement in RTP proxy part
- some documentation updates
- include ./scripts subdirectory in the distribution,
was an error in the autoconf/automake setup