docs update

pull/11/head
Richard Fuchs 12 years ago
parent ba1bd04841
commit c9a101c435

@ -43,7 +43,7 @@ the following additional features are available:
- RTP/RTCP multiplexing (RFC 5761) and demultiplexing
- Breaking of BUNDLE'd media streams (draft-ietf-mmusic-sdp-bundle-negotiation)
Mediaproxy-ng does not (yet) support:
Rtpengine does not (yet) support:
* Repacketization or transcoding
* Playback of pre-recorded streams/announcements
@ -174,6 +174,7 @@ option and which are reproduced below:
-r, --redis=IP:PORT Connect to Redis database
-R, --redis-db=INT Which Redis DB to use
-b, --b2b-url=STRING XMLRPC URL of B2B UA
-L, --log-level=INT Mask log priorities above this level
Most of these options are indeed optional, with two exceptions. It's mandatory to specify a local
IPv4 address through `--ip`, and at least one of the `--listen-...` options must be given.
@ -257,7 +258,13 @@ The options are described in more detail below.
Both take an integer as argument and together define the local port range from which *rtpengine*
will allocate UDP ports for media traffic relay. Default to 30000 and 40000 respectively.
* -r, --redis, -R, --redis-db, -b, --b2b-url
* -L, --log-level
Takes an integer as argument and controls the highest log level which will be sent to syslog.
The log levels correspond to the ones found in the syslog(3) man page. The default value is
6, equivalent to LOG_INFO. The highest possible value is 7 (LOG_DEBUG) which will log everything.
* -r, --redis, -R, --redis-db, -b, --b2b-url
NGCP-specific options
@ -524,11 +531,32 @@ Optionally included keys are:
- `symmetric`
Corresponds to the *rtpproxy* `w` flag. Not used by *rtpengine*.
Corresponds to the *rtpproxy* `w` flag. Not used by *rtpengine* as this is the default,
unless `asymmetric` is specified.
- `asymmetric`
Corresponds to the *rtpproxy* `a` flag. Not used by *rtpengine*.
Corresponds to the *rtpproxy* `a` flag. Advertises an RTP endpoint which uses asymmetric
RTP, which disables learning of endpoint addresses (see below).
- `strict source`
Normally, *rtpengine* attempts to learn the correct endpoint address for every stream during
the first few seconds after signalling by observing the source address and port of incoming
packets (unless `asymmetric` is specified). Afterwards, source address and port of incoming
packets are normally ignored and packets are forwarded regardless of where they're coming from.
With the `strict source` option set, *rtpengine* will continue to inspect the source address
and port of incoming packets after the learning phase and compare them with the endpoint
address that has been learned before. If there's a mismatch, the packet will be dropped and
not forwarded.
- `media handover`
Similar to the `strict source` option, but instead of dropping packets when the source address
or port don't match, the endpoint address will be re-learned and moved to the new address. This
allows endpoint addresses to change on the fly without going through signalling again. Note that
this opens a security hole and potentially allows RTP streams to be hijacked, either partly or
in whole.
* `replace`
@ -554,8 +582,9 @@ Optionally included keys are:
{ ..., "direction": [ "external", "internal" ], ... }
*Mediaproxy-ng* uses the direction to implement bridging between IPv4 and IPv6: internal is seen as
IPv4 and external as IPv6.
*Rtpengine* uses the direction to implement bridging between IPv4 and IPv6: internal is seen as
IPv4 and external as IPv6. However, this mechanism for selecting the address family is now obsolete
and the `address family` dictionary key should be used instead.
* `received from`
@ -565,13 +594,18 @@ Optionally included keys are:
* `ICE`
Contains a string, valid values are either `remove` or `force`. With `remove`, any ICE attributes are
Contains a string, valid values are `remove`, `force` or `force_relay`.
With `remove`, any ICE attributes are
stripped from the SDP body. With `force`, ICE attributes are first stripped, then new attributes are
generated and inserted, which leaves the media proxy as the only ICE candidate. The default behavior
(no `ICE` key present at all) is: if no ICE attributes are present, a new set is generated and the
media proxy lists itself as ICE candidate; otherwise, the media proxy inserts itself as a
low-priority candidate.
With `force_relay`, existing ICE candidates are left in place except `relay`
type candidates, and *rtpengine* inserts itself as a `relay` candidate. It will also leave SDP
c= and m= lines unchanged.
This flag operates independently of the `replace` flags.
* `transport protocol`
@ -590,12 +624,43 @@ Optionally included keys are:
string. The format must be dotted-quad notation for IPv4 or RFC 5952 notation for IPv6.
It's up to the RTP proxy to determine the address family type.
* `address family`
A string value of either `IP4` or `IP6` to select the primary address family in the substituted SDP
body. The default is to auto-detect the address family if possible (if the recieving end is known
already) or otherwise to leave it unchanged.
* `rtcp-mux`
A list of strings controlling the behaviour regarding rtcp-mux (multiplexing RTP and RTCP on a single
port, RFC 5761). The default behaviour is to go along with the client's preference. The list can contain
zero of more of the following strings. Note that some of them are mutually exclusive.
- `offer`
Instructs *rtpengine* to always offer rtcp-mux, even if the client itself doesn't offer it.
- `demux`
If the client is offering rtcp-mux, don't offer it to the other side, but accept it back to
the offering client.
- `accept`
Instructs *rtpengine* to accept rtcp-mux and also offer it to the other side if it has been
offered.
- `reject`
Reject rtcp-mux if it has been offered. Can be used together with `offer` to achieve the opposite
effect of `demux`.
An example of a complete `offer` request dictionary could be (SDP body abbreviated):
{ "command": "offer", "call-id": "cfBXzDSZqhYNcXM", "from-tag": "mS9rSAn0Cr",
"sdp": "v=0\r\no=...", "via-branch": "5KiTRPZHH1nL6",
"flags": [ "trust address" ], "replace": [ "origin", "session connection" ],
"direction": [ "external", "external" ], "received-from": [ "IP4", "10.65.31.43" ],
"address family": "IP6", "received-from": [ "IP4", "10.65.31.43" ],
"ICE": "force", "transport protocol": "RTP/SAVPF", "media address": "2001:d8::6f24:65b" }
The response message only contains the key `sdp` in addition to `result`, which contains the re-written

Loading…
Cancel
Save