Change in ...osmo-mgw[master]: doc: Document X-Osmux extension

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Fri Jul 5 13:39:09 UTC 2019


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14681


Change subject: doc: Document X-Osmux extension
......................................................................

doc: Document X-Osmux extension

Change-Id: Ie53f98777070fc00ed085646f698d20f8cf49553
---
M doc/manuals/chapters/mgcp_extensions.adoc
1 file changed, 115 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/81/14681/1

diff --git a/doc/manuals/chapters/mgcp_extensions.adoc b/doc/manuals/chapters/mgcp_extensions.adoc
index a68d785..32a3f0e 100644
--- a/doc/manuals/chapters/mgcp_extensions.adoc
+++ b/doc/manuals/chapters/mgcp_extensions.adoc
@@ -66,3 +66,118 @@
 a=rtpmap:97 GSM-EFR/8000
 a=ptime:40
 ----
+
+=== `X-Osmux`
+
+`X-Osmux` indicates to OsmoMGW that a given connection of an `rtpbridge`
+endpoint has to be configured in order to handle Osmux frames instead of RTP
+messages on the data plane.
+
+==== `X-Osmux` Format
+
+The value part of `X-Osmux` must be one integer in range [0..255], or
+alternatively only on request messages, an asterisk (*) if the value is not yet
+known.
+
+`X-Osmux` must be issued in the MGCP header section (typically as its last
+item), before the SDP section starts.
+
+`X-Osmux` can be included inside `CRCX` and `MDCX` request messages, as well as
+their respective response messages.
+
+In request messages, the value part of `X-Osmux` specifies the CID to be used by
+OsmoMGW to <<send>> Osmux frames to the remote peer for that connection, also
+known as <<sendCID>>.
+
+In response messages, the value part of `X-Osmux` specifies the CID where
+OsmoMGW expect to <<receive>> Osmux frames from the remote peer for that
+connection, also known as <<recvCID>>.
+
+.Example: `X-Osmux` format with a known CID 3.
+----
+X-Osmux: 3
+----
+
+.Example: `X-Osmux` format with a wildcard (not yet known) CID.
+----
+X-Osmux: *
+----
+
+==== `X-Osmux` Considerations
+
+If the MGCP client is willing to use Osmux for a given connection, it shall
+specify so during `CRCX` time, and not later. If at `CRCX` time the MGCP client
+doesn't yet know the <<sendCID>>, it can use an astersik (*) and provide
+<<sendCID>> later within `MDCX` messages.
+
+All subsequent `MDCX` messages sent towards an Osmux connection must contain the
+original <<sendCID>> sent during `CRCX`. The same way, all `MDCX` response shall
+contain the <<recvCID>> sent during `CRCX`.
+
+The other required connection address parameters, such as IP address, port, and
+codecs, are negotiated through MGCP and SDP as usual, but in this case the IP
+address and port specific the Osmux socket IP address and port to use, that
+together with the Osmux CID conform the entire tuple identifying a Osmux stream.
+
+Since Osmux only supports AMR codec payloads, the SDP must specify use of AMR
+codec.
+
+.Example: `CRCX` message that instructs OsmoMGW to create an Osmux connection
+----
+CRCX 189 rtpbridge/1 at mgw MGCP 1.0
+C: 36
+M: sendrecv
+X-Osmux: 2
+
+v=0
+o=- 36 23 IN IP4 172.18.2.20
+s=-
+c=IN IP4 1.2.3.4
+t=0 0
+m=audio 2342 RTP/AVP 112
+a=fmtp:112
+a=rtpmap:112 AMR/8000/1
+a=ptime:20
+----
+
+.Example: response to `CRCX` containing the <<recvCID>>
+----
+200 189 OK
+I: 07E41584
+X-Osmux: 2
+Z: rtpbridge/1 at mgw
+
+v=0
+o=- foo 21 IN IP4 172.18.1.20
+s=-
+c=IN IP4 172.18.1.20
+t=0 0
+m=audio 11002 RTP/AVP 112
+a=rtpmap:112 AMR/8000
+a=ptime:20
+----
+
+==== `X-Osmux` Support
+
+`X-Osmux` is known to be supported by OsmoMGW on the MGCP server side, and by
+OsmoBSC as well as OsmoMSC on the MGCP client side (through libosmo-mgcp-cli).
+No other programs supporting this feature are known or envisioned at the time of
+writing this document.
+
+In OmoMGW, Osmux support is managed through VTY.
+
+.Example: Sample config file section with Osmux configuation
+----
+mgcp
+ ...
+ osmux on <1>
+ osmux bind-ip 172.18.1.20 <2>
+ osmux port 1984 <3>
+ osmux batch-factor 4 <4>
+ osmux dummy on <5>
+----
+<1> Allow clients to set allocate Osmux connections in `rtpbridge` endpoints, while still allowing RTP connections
+<2> Bind the Osmux socket to the provided IP address
+<3> Bind the Osmux socket to the provided UDP port
+<4> Batch up to 4 RTP payloads of the same stream on each Osmux frame
+<5> Periodically send Osmux dummy frames, useful to punch a hole in NATs and maintain connections opened.

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14681
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: Ie53f98777070fc00ed085646f698d20f8cf49553
Gerrit-Change-Number: 14681
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190705/f1614059/attachment.htm>


More information about the gerrit-log mailing list