mirror of
				https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
				synced 2025-11-03 21:43:32 +00:00 
			
		
		
		
	Depends: osmo-gsm-manuals.git I182d94c63f7d74ef882b77be59a95b1b7d8a4e5e Change-Id: Ie53f98777070fc00ed085646f698d20f8cf49553
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 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 header 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
 | 
						|
----
 | 
						|
 | 
						|
=== `X-Osmux`
 | 
						|
 | 
						|
See <<mgcp-extension-osmux>>
 |