Skip to content

Commit

Permalink
rtpproxy: doc warn about asym processing in bridging mode
Browse files Browse the repository at this point in the history
  • Loading branch information
razvancrainea committed Oct 27, 2016
1 parent b6c4d3e commit cba64bc
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 50 deletions.
103 changes: 53 additions & 50 deletions modules/rtpproxy/README
Expand Up @@ -8,13 +8,11 @@ Edited by

Maxim Sobolev

Edited by

Bogdan-Andrei Iancu

Copyright © 2003-2008 Sippy Software, Inc.
Copyright 2003-2008 Sippy Software, Inc.

Copyright © 2005 Voice Sistem SRL
Copyright 2005 Voice Sistem SRL
Revision History
Revision $Revision: 8740 $ $Date$
__________________________________________________________
Expand Down Expand Up @@ -133,7 +131,7 @@ Chapter 1. Admin Guide
- load-balancing will be performed over a set and the user has
the ability to choose what set should be used. The set is
selected via its id - the id being defined along with the set.
Refer to the rtpproxy_sock module parameter definition for
Refer to the "rtpproxy_sock" module parameter definition for
syntax description.

The balancing inside a set is done automatically by the module
Expand Down Expand Up @@ -165,7 +163,7 @@ Chapter 1. Admin Guide

In our tests with RTPProxy we observed some limitations and
also provide a patch for it against git commit
600c80493793bafd2d69427bc22fcb43faad98c5. It contains an
"600c80493793bafd2d69427bc22fcb43faad98c5". It contains an
addition and implements separate timeout parameters for the
phases of session establishment and ongoing sessions. In the
official code a single timeout parameter controls both session
Expand All @@ -178,23 +176,23 @@ Chapter 1. Admin Guide
must follow:

Start OpenSIPS timeout detection by setting the
rtpp_notify_socket module parameter in your configuration
"rtpp_notify_socket" module parameter in your configuration
script. This is the socket where further notification will be
received from rtpproxies. This socket must be a TCP or UNIX
socket. Also, for all the calls that require notification, the
rtpproxy_engage(), rtpproxy_offer() and rtpproxy_answer()
functions must be called with the “n” flag.
functions must be called with the "n" flag.

Configure RTPProxy to use timeout notification by adding the
following command line parameters:
* -n timeout_socket - specifies where the notifications
* " -n timeout_socket" - specifies where the notifications
will be sent. This socket must be the same as
rtpp_notify_socket OpenSIPS module parameter. This
"rtpp_notify_socket" OpenSIPS module parameter. This
parameter is mandatory.
* -T ttl - limits the rtp session timeout to ttl. This
* " -T ttl" - limits the rtp session timeout to "ttl". This
parameter is optional and the default value is 60 seconds.
* -W ttl - limits the session establishment timeout to
ttl. This parameter is optional and the default value is
* " -W ttl" - limits the session establishment timeout to
"ttl". This parameter is optional and the default value is
60 seconds.

All of the previous parameters can be used with the offical
Expand All @@ -205,11 +203,11 @@ Chapter 1. Admin Guide

To get the patched version from git you must follow theese
steps:
* Get the latest source code: git clone
git://sippy.git.sourceforge.net/gitroot/sippy/rtpproxy
* Make a branch from the commit: git checkout -b branch_name
600c80493793bafd2d69427bc22fcb43faad98c5
* Patch RTPProxy: patch < path_to_rtpproxy_patch
* Get the latest source code: "git clone
git://sippy.git.sourceforge.net/gitroot/sippy/rtpproxy"
* Make a branch from the commit: "git checkout -b branch_name
600c80493793bafd2d69427bc22fcb43faad98c5"
* Patch RTPProxy: "patch < path_to_rtpproxy_patch"

The patched version can also be found at:
http://opensips.org/pub/rtpproxy/
Expand Down Expand Up @@ -237,7 +235,7 @@ Chapter 1. Admin Guide
Definition of socket(s) used to connect to (a set) RTPProxy. It
may specify a UNIX socket or an IPv4/IPv6 UDP socket.

Default value is NONE (disabled).
Default value is "NONE" (disabled).

Example 1.1. Set rtpproxy_sock parameter
...
Expand All @@ -259,7 +257,7 @@ modparam("rtpproxy", "rtpproxy_sock",
rtpproxy will not attempt to establish communication to
RTPProxy for rtpproxy_disable_tout seconds.

Default value is “60”.
Default value is "60".

Example 1.2. Set rtpproxy_disable_tout parameter
...
Expand All @@ -270,7 +268,7 @@ modparam("rtpproxy", "rtpproxy_disable_tout", 20)

Timeout value in waiting for reply from RTPProxy.

Default value is “1”.
Default value is "1".

Example 1.3. Set rtpproxy_timeout parameter to 200ms
...
Expand All @@ -282,7 +280,7 @@ modparam("rtpproxy", "rtpproxy_timeout", "0.2")
Enable auto-bridging feature. Does not properly function when
doing serial/parallel forking!

Default value is “0”.
Default value is "0".

Example 1.4. Enable auto-bridging feature
...
Expand All @@ -298,7 +296,7 @@ modparam("rtpproxy", "rtpproxy_autobridge", 1)
How many times rtpproxy should retry to send and receive after
timeout was generated.

Default value is “5”.
Default value is "5".

Example 1.5. Set rtpproxy_retr parameter
...
Expand All @@ -317,7 +315,7 @@ Note
The string must be a complete SDP line, including the EOH
(\r\n).

Default value is a=nortpproxy:yes\r\n.
Default value is "a=nortpproxy:yes\r\n".

Example 1.6. Set nortpproxy_str parameter
...
Expand All @@ -334,7 +332,7 @@ modparam("rtpproxy", "nortpproxy_str", "a=sdpmangled:yes\r\n")
the MI command rtpproxy_reload is issued(the definitions will
be replaced with the ones from the database table).

Default value is NULL.
Default value is "NULL".

Example 1.7. Set db_url parameter
...
Expand All @@ -348,7 +346,7 @@ modparam("rtpproxy", "db_url",
The name of the database table containing definitions of
socket(s) used to connect to (a set) RTPProxy.

Default value is rtpproxy_sockets.
Default value is "rtpproxy_sockets".

Example 1.8. Set db_table parameter
...
Expand All @@ -360,7 +358,7 @@ modparam("rtpproxy", "db_table", "nh_sockets")

The name rtpp socket column in the database table.

Default value is rtpproxy_sock.
Default value is "rtpproxy_sock".

Example 1.9. Set rtpp_socket_col parameter
...
Expand All @@ -372,7 +370,7 @@ modparam("rtpproxy", "rtpp_socket_col", "rtpp_socket")

The name set id column in the database table.

Default value is set_id.
Default value is "set_id".

Example 1.10. Set set_id parameter
...
Expand All @@ -384,7 +382,7 @@ modparam("rtpproxy", "set_id_col", "rtpp_set_id")

The socket used by OpenSIPS to receive timeout notifications.

Default value is NULL.
Default value is "NULL".

Example 1.11. Set rtpp_notify_socket parameter
...
Expand All @@ -411,7 +409,7 @@ set_id [, sock_pvar]]]])
* flags(optional) - flags to turn on some features.
+ a - flags that UA from which message is received
doesn't support symmetric RTP.
+ l - force lookup, that is, only rewrite SDP when
+ l - force "lookup", that is, only rewrite SDP when
corresponding session is already exists in the RTP
proxy. By default is on when the session is to be
completed (reply in non-swap or ACK in swap mode).
Expand All @@ -429,6 +427,11 @@ set_id [, sock_pvar]]]])
'ie' flags. Depending on the scenario, the 'ii' and
'ee' combination are also supported. Only makes sense
when RTPProxy is running in the bridge mode.
NOTE: when using RTPProxy in bridge mode, all sessions
are considered asymmetric (as oposed to symmetric if
used in normal mode). If you have symmetric clients
(this is the most common scenario), you'll have to
force the s!
+ f - instructs rtpproxy to ignore marks inserted by
another rtpproxy in transit to indicate that the
session is already goes through another proxy. Allows
Expand Down Expand Up @@ -718,38 +721,38 @@ Chapter 2. Frequently Asked Questions

2.1.

What happened with rtpproxy_disable parameter?
What happened with "rtpproxy_disable" parameter?

It was removed as it became obsolete - now rtpproxy_sock can
take empty value to disable the rtpproxy functionality.
It was removed as it became obsolete - now "rtpproxy_sock" can
take empty value to disable the rtpproxy functionality.

2.2.

Where can I find more about OpenSIPS?
Where can I find more about OpenSIPS?

Take a look at http://www.opensips.org/.
Take a look at http://www.opensips.org/.

2.3.

Where can I post a question about this module?
Where can I post a question about this module?

First at all check if your question was already answered on one
of our mailing lists:
* User Mailing List -
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
* Developer Mailing List -
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
First at all check if your question was already answered on one
of our mailing lists:
* User Mailing List -
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
* Developer Mailing List -
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

E-mails regarding any stable OpenSIPS release should be sent to
<users@lists.opensips.org> and e-mails regarding development
versions should be sent to <devel@lists.opensips.org>.
E-mails regarding any stable OpenSIPS release should be sent to
<users@lists.opensips.org> and e-mails regarding development
versions should be sent to <devel@lists.opensips.org>.

If you want to keep the mail private, send it to
<users@lists.opensips.org>.
If you want to keep the mail private, send it to
<users@lists.opensips.org>.

2.4.

How can I report a bug?
How can I report a bug?

Please follow the guidelines provided at:
https://github.com/OpenSIPS/opensips/issues.
Please follow the guidelines provided at:
https://github.com/OpenSIPS/opensips/issues.
6 changes: 6 additions & 0 deletions modules/rtpproxy/doc/rtpproxy_admin.xml
Expand Up @@ -500,6 +500,12 @@ modparam("rtpproxy", "rtpp_notify_socket", "tcp:10.10.10.10:9999")
should use the 'ie' flags. Depending on the scenario, the 'ii'
and 'ee' combination are also supported. Only makes sense when
RTPProxy is running in the bridge mode.
</para><para>
<emphasis>NOTE:</emphasis> when using RTPProxy in bridge mode,
all sessions are considered asymmetric (as oposed to symmetric
if used in normal mode). If you have symmetric clients (this
is the most common scenario), you'll have to force the
<emphasis>s</emphasis>!
</para></listitem>
<listitem><para>
<emphasis>f</emphasis> - instructs rtpproxy to ignore marks
Expand Down

0 comments on commit cba64bc

Please sign in to comment.