a867631ade5081c6d4f56c5ffbb8b93e54170219
[anytun.git] / src / man / anyrtpproxy.8.txt
1 anyrtpproxy(8)
2 ==============
3
4 NAME
5 ----
6 anyrtpproxy - anycast rtpproxy
7
8 SYNOPSIS
9 --------
10
11 *anyrtpproxy*
12 [ *-h|--help* ]
13 [ *-D|--nodaemonize* ]
14 [ *-C|--chroot* ]
15 [ *-u|--username* <username> ]
16 [ *-H|--chroot-dir* <directory> ]
17 [ *-P|--write-pid* <filename> ]
18 [ *-i|--interface* <ip-address> ]
19 [ *-s|--control* <hostname|ip>[:<port>] ]
20 [ *-p|--port-range* <start> <end> ]
21 [ *-n|--nat* ]
22 [ *-o|--no-nat-once* ]
23 [ *-S|--sync-port* port> ]
24 [ *-M|--sync-hosts* <hostname|ip>:<port>[,<hostname|ip>:<port>[...]] ]
25
26
27 DESCRIPTION
28 -----------
29
30 *anyrtpproxy* is a rtpproxy which can be used in combination with anycast. It uses
31 the same control protocol than rtpproxy though it can be controled through the nathelper
32 plugin of openser. *anyrtpproxy* uses the same synchronisation protocol than *anytun* 
33 to sync the session information among all anycast instances.
34
35
36 OPTIONS
37 -------
38
39 -D|--nodaemonize
40 ~~~~~~~~~~~~~~~~
41
42 This option instructs *anyrtpproxy* to run in the foreground
43 instead of becoming a daemon.
44
45 -C|--chroot
46 ~~~~~~~~~~~
47
48 chroot and drop privileges
49
50 -u|--username <username>
51 ~~~~~~~~~~~~~~~~~~~~~~~~
52
53 if chroot change to this user
54
55 -H|--chroot-dir <directory>
56 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
57
58 chroot to this directory
59
60 -P|--write-pid <filename>
61 ~~~~~~~~~~~~~~~~~~~~~~~~~
62
63 write pid to this file
64
65 -i|--interface <ip address>
66 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
67
68 The local interface to listen on for RTP packets
69
70 -s|--control <hostname|ip>[:<port>]
71 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72
73 The local address and port to listen on for control messages from openser
74
75 -p|--port-range <start> <end>
76 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77
78 A pool of ports which should be used by *anyrtpproxy* to relay RTP packets. 
79 The range may not overlap between the anycast instances
80
81 -n|--nat
82 ~~~~~~~~
83
84 Allow to learn the remote address and port in order to handle clients behind nat.
85 This option should only be enabled if the source is authenticated (i.e. through 
86 *anytun*) 
87
88 -o|--no-nat-once
89 ~~~~~~~~~~~~~~~~
90
91 Disable learning of remote address and port in case the first packet does not 
92 come from the client which is specified by openser during configuration. Invoking
93 this parameter increases the security level of the system but in case of nat needs
94 a working nat transversal such as stun.
95
96 -S|--sync-port <port>
97 ~~~~~~~~~~~~~~~~~~~~~
98
99 local unicast(sync) port to bind to
100
101 This port is used by anycast hosts to synchronize information about tunnel
102 endpoints. No payload data is transmitted via this port.
103
104 It is possible to obtain a list of active connections by telnetting into 
105 this port. This port is read-only and unprotected by default. It is advised 
106 to protect this port using firewall rules and, eventually, IPsec.
107
108 -M|--sync-hosts <hostname|ip>:<port>,[<hostname|ip>:<port>[...]]
109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110
111 remote hosts to sync with
112
113 Here, one has to specify all unicast IP addresses of all 
114 other anycast hosts that comprise the anycast tunnel endpoint.
115
116 EXAMPLES
117 --------
118
119 Anycast Setup with 3 instances:
120 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121
122 On the host with unicast hostname unicast1.anycast.anytun.org and anycast 
123 hostname anycast.anytun.org:
124 --------------------------------------------------------------------------------------
125 # anyrtpproxy -i anycast.anytun.org -p 20000 25000 -S 2342 \
126               -M unicast2.anycast.anytun.org:2342,unicast3.anycast.anytun.org:2342
127 --------------------------------------------------------------------------------------
128
129 On the host with unicast hostname unicast2.anycast.anytun.org and anycast
130 hostname anycast.anytun.org:
131 --------------------------------------------------------------------------------------
132 # anyrtpproxy -i anycast.anytun.org -p 25000 30000 -S 2342 \
133               -M unicast1.anycast.anytun.org:2342,unicast3.anycast.anytun.org:2342
134 --------------------------------------------------------------------------------------
135
136 On the host with unicast hostname unicast3.anycast.anytun.org and anycast
137 hostname anycast.anytun.org:
138 --------------------------------------------------------------------------------------
139 # anyrtpproxy -i anycast.anytun.org -p 30000 35000 -S 2342 \
140               -M unicast1.anycast.anytun.org:2342,unicast2.anycast.anytun.org:2342
141 --------------------------------------------------------------------------------------
142
143
144
145
146 BUGS
147 ----
148 Most likely there are some bugs in *anyrtpproxy*. If you find a bug, please let
149 the developers know at satp@anytun.org. Of course, patches are preferred.
150
151 SEE ALSO
152 --------
153 anytun(8)
154
155 AUTHORS
156 -------
157 Design of SATP and wizards of this implementation:
158
159 Othmar Gsenger <otti@anytun.org>
160 Erwin Nindl <nine@anytun.org>
161 Christian Pointner <equinox@anytun.org>
162
163 Debian packaging:
164
165 Andreas Hirczy <ahi@itp.tu-graz.ac.at>
166
167 Manual page:
168
169 Alexander List <alex@debian.org>
170
171 RESOURCES
172 ---------
173
174 Main web site: http://www.anytun.org/
175
176
177 COPYING
178 -------
179
180 Copyright \(C) 2007-2008 Othmar Gsenger, Erwin Nindl and Christian
181 Pointner. This  program  is  free software;  you  can redistribute
182 it and/or modify it under the terms of the GNU General Public License
183 version 2 as published by the Free Software Foundation.
184