69 lines
2.4 KiB
Plaintext
69 lines
2.4 KiB
Plaintext
== MGCP Extensions
|
|
|
|
The MGCP protocol is extendable. The following non-standard extensions are
|
|
understood by OsmoMGW.
|
|
|
|
=== `X-Osmo-IGN`
|
|
|
|
`X-Osmo-IGN` indicates to OsmoMGW that specific items of an endpoint should be
|
|
ignored, so that it is lenient on mismatching values that would normally
|
|
indicate collisions or configuration errors.
|
|
|
|
==== `X-Osmo-IGN` Format
|
|
|
|
The value part of X-Osmo-IGN must be one or more items separated by one or more
|
|
spaces. Each item consists of one or more non-whitespace characters.
|
|
|
|
.Example: `X-Osmo-IGN` format with three ficticious items "X", "abc" and "123".
|
|
----
|
|
X-Osmo-IGN: X abc 123
|
|
----
|
|
|
|
`X-Osmo-IGN` must be issued in the MGCP section (typically as its last item),
|
|
before the SDP section starts.
|
|
|
|
==== Supported `X-Osmo-IGN` Items
|
|
|
|
Currently, the following `X-Osmo-IGN` items are supported:
|
|
|
|
* `C`: ignore CallID mismatches, i.e. differing "C" values between connections
|
|
on the same endpoint.
|
|
|
|
.Note:
|
|
`X-Osmo-IGN` does not support ignoring mismatches on the domain part of
|
|
an endpoint name, e.g. ignoring a mismatch on "example.com" in
|
|
`rtpbridge/123abc@example.com`. Instead, you may globally configure OsmoMGW
|
|
with `mgcp` / `domain *` to permit all domain parts.
|
|
|
|
===== `X-Osmo-IGN: C`
|
|
|
|
By default, OsmoMGW verifies that all CallIDs ("C" values) match for all
|
|
connections on any one given endpoint. To ignore CallID mismatches, pass a `C`
|
|
in the `X-Osmo-IGN` header, for the first or the second `CRCX` on an endpoint.
|
|
When the `X-Osmo-IGN: C` is sent for any one `CRCX` on an endpoint, CallID
|
|
mismatches will be ignored for that and all subsequent messages for that
|
|
endpoint. Hence this header only needs to be included once per endpoint, in any
|
|
`CRCX` message that precedes or coincides with a CallID mismatch.
|
|
|
|
This is particularly useful for a BSC that is connected to an A/SCCPlite MSC,
|
|
where the BSC and MSC each are expected to configure their respective own
|
|
connection on a shared endpoint. For A/SCCPlite, it is impossible for the BSC
|
|
to know the CallID that the MSC will use, so CallID mismatches are inevitable.
|
|
See also OsmoBSC, which will by default pass the `X-Osmo-IGN: C` header for
|
|
endpoints associated with an A/SCCPlite MSC.
|
|
|
|
.Example: `CRCX` message that instructs OsmoMGW to ignore CallID mismatches
|
|
----
|
|
CRCX 2 rtpbridge/123abc@mgw MGCP 1.0
|
|
M: recvonly
|
|
C: 2
|
|
L: p:20
|
|
X-Osmo-IGN: C
|
|
|
|
v=0
|
|
c=IN IP4 123.12.12.123
|
|
m=audio 5904 RTP/AVP 97
|
|
a=rtpmap:97 GSM-EFR/8000
|
|
a=ptime:40
|
|
----
|