- stop all RTP streams on termination

This commit is contained in:
Thomas Ries 2004-04-24 08:41:20 +00:00
parent 16395cc280
commit 0e60d731de
5 changed files with 27 additions and 38 deletions

View File

@ -1,3 +1,7 @@
0.5.6
=====
11-Apr-2004: - on termination, stop all active RTP streams
0.5.5
=====
11-Apr-2004: - Released 0.5.5
@ -6,7 +10,7 @@
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
5-Apr-2004: - config file: don't complain on lines with only whitespaces
- fix: Via branch calculation
- security.c: increased max acceptable line length
- security.c: prevent libosip2 to die with "out of memory"
@ -321,7 +325,7 @@
- 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)
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
@ -335,7 +339,7 @@
(/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
- 2-Nov-2002: - 'make install' install now a template config file
(/etc/siproxd.conf.example)
- 24-Oct-2002: - small docu updates in README
- 17-Oct-2002: - fix in ./configure - abort on missing libraries

17
README
View File

@ -46,11 +46,6 @@ HOW TO GET STARTED
At least configure 'if_inbound' and 'if_outbound'. The must represent
the interface names (e.g. on Linux: ppp0, eth1) for the inbound
and outbound interface.
** The use of 'host_inbound' and 'host_outbound' is deprecated!
'host_inbound' is the firewalls IP address of your private network,
'host_outbound' is the public IP address or hostname of the
firewall. (If you have dynamic IP addresses, then you might want
to use a hostname here and use a dynamic DNS service like [1])
- edit /usr/etc/siproxd_passwd.cfg if you enable client authentication
@ -114,7 +109,7 @@ Scenario
--------
private IP address range : Internet
10.0.0.x : (publich IP address range)
10.0.0.x : (public IP address range)
:
: foo.bar.org
+-------------+ +--------------+
@ -143,25 +138,15 @@ IPCHAINS:
$ ipchains -A input --proto udp --dport 5060 --log -j ACCEPT
$ ipchains -A input --proto udp --dport 7070:7080 -j ACCEPT
Firewall rule for masquerading outgoing traffic:
$ ipchains -A forward -i ppp0 -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0
IPTABLES:
Firewall rules for incoming traffic:
$iptables -A INPUT -i ppp0 -p udp -m udp --dport 5060 -j ACCEPT
$iptables -A INPUT -i ppp0 -p udp -m udp --dport 7070:7080 -j ACCEPT
Firewall rule for masquerading outgoing traffic:
$ iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE
The first line will allow incoming SIP traffic. The second line will
allow incoming RTP traffic on the ports 7070 - 7080 (the default port
range used by siproxd for incoming RTP traffic).
The rule for masquerading will ensure that the outgoing RTP data stream
is masqueraded properly and sent to the remote host.
REFERENCES
==========

View File

@ -1,14 +1,8 @@
Release Notes for siproxd-0.5.5
Release Notes for siproxd-0.5.6
===============================
Major changes since 0.5.4:
- several fixes in the SDP media rewriting part
- use realtime scheduling for RTP proxy thread
- PID file
- custom firewall control module: siproxd can be linked against
custom library that may perform specific actions on start/stop
of RTP streams (dynamically reconfigure firewall settings)
- a number of enhancement in security checks
Major changes since 0.5.5:
-
General Overview:
- SIP (RFC3261) Proxy for SIP based softphones hidden behind a
@ -79,16 +73,9 @@ distribution I'd be happy to get a short notice.
-----
md5sum for siproxd-0.5.5.tar.gz: 13e97e55d4bb6180b87777f6e8645c0b
md5sum for siproxd-0.5.6.tar.gz:
GnuPG signature for siproxd-0.5.5.tar.gz archive:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
iD8DBQBAeSFjCfzBioe83JQRAoS0AKCLle8NfEG2tsohIejpQuflNfgW8wCbB2z/
edt4Q+mdcAl2nTZAg1gwZdY=
=nCOP
-----END PGP SIGNATURE-----
GnuPG signature for siproxd-0.5.6.tar.gz archive:
GnuPG: pub 1024D/87BCDC94 2000-03-19 Thomas Ries <tries@gmx.net>

View File

@ -124,7 +124,7 @@ rtp_timeout = 300
#
# OR use individual per user passwords stored in a file
#
#proxy_auth_pwfile = doc/siproxd_passwd.cfg
#proxy_auth_pwfile = /etc/siproxd_passwd.cfg
#
# 'proxy_auth_pwfile' has precedence over 'proxy_auth_passwd'

View File

@ -730,7 +730,20 @@ static int rtp_recreate_fdset(void) {
*/
void rtpproxy_kill( void ) {
void *thread_status;
osip_call_id_t cid;
int i, sts;
/* stop any active RTP stream */
for (i=0;i<RTPPROXY_SIZE;i++) {
if (rtp_proxytable[i].rtp_rx_sock != 0) {
cid.number = rtp_proxytable[i].callid_number;
cid.host = rtp_proxytable[i].callid_host;
sts = rtp_relay_stop_fwd(&cid, rtp_proxytable[i].direction, 0);
}
}
/* kill the thread */
if (rtpproxy_tid) {
pthread_cancel(rtpproxy_tid);
pthread_kill(rtpproxy_tid, SIGALRM);