MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we...

15
14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier <[email protected]>

Transcript of MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we...

Page 1: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 1

MGCPand where/how we use it in Osmocom

Philipp Maier <[email protected]>

Page 2: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 2

Agenda

➔ The MGCP Protocol➔ Practical Applications

Page 3: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 3

MGCP: History➔ MGCP = Media Gateway Control Protocol➔ Successor:

– SGCP = Simple Gateway Control Protocol

(Deveoloped by Bellcore + Cisco)– IPDC = Internet protocol Device control

(Developed by Level 3 Communications)➔ ITEF Standard since January 2003

(RFC 3435 by F. Andreasen, B. Foster, Cisco Systems)➔ MGCP also includes SDP = Session description Protocol

(M. Handley, V. Jacobson, ISI/LBNL, April 1998, RFC 2327) https://tools.ietf.org/html/rfc2327https://tools.ietf.org/html/rfc3435

(Source: Wikipedia, Richardson Public Library local history archives)

Page 4: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 4

MGCP: Protocol Introduction➔ Intended use:

– Switching of RTP connections– Media conversion– Trascoding

➔ Text based messages (ASCII)➔ Request / Response oriented➔ Fixed roles: Client / Server➔ Runs on UDP Port 2427

Page 5: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 5

MGCP: Command verbs EPCF = EndpointConfiguration

CRCX = CreateConnection

MDCX = ModifyConnection

DLCX = DeleteConnection

RQNT = NotificationRequest

NTFY = Notify

AUEP = AuditEndpoint

AUCX = AuditConnection

RSIP = RestartInProgres

EPCF = EndpointConfiguration

CRCX = CreateConnection

MDCX = ModifyConnection

DLCX = DeleteConnection

RQNT = NotificationRequest

NTFY = Notify

AUEP = AuditEndpoint

AUCX = AuditConnection

RSIP = RestartInProgres

Page 6: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 6

MGCP: Endpoints and connectionsEndpoint #1 (rtpbridge/[email protected])

Connection #1

Connection #2

Media gateways are organized in endpoints and connections

RTP

RTP

Page 7: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 7

MGCP: Request Example

➔ Create a connection on eindpoint on trunk “rtpbridge”, endpoint 0

➔ CallId is 2➔ Codec is AMR, Packet interval 20ms➔ Bidirectional connection➔ I am (local) listening on: 127.0.0.1:8000 for

incomingRTP voice data

Page 8: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 8

MGCP: Response Example

➔ Your request has been fullfilled➔ The connection identifier is:

3743261195238232C4C62FBA08D7BE92➔ I am (remote) listening on 127.0.0.1:4004 for

incoming RTP voice data

Page 9: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 9

A typical MGCP session

Make a connection, I do not know the IP/Port on my side yet...

Ok, I made the connection The IP/Port on my side is...

Update the connection I made, The port IP/Port on my side is...

Ok, I updated the connection, The IP/Port on my side is...Make another connection, IP/port on my side is...

Ok, I have created another connection, the IP/Port on my side is...

Delete all connections I made

Ok, I have deleted all your connections

Page 10: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 10

Agenda

➔ The MGCP Protocol➔ Practical Applications

Page 11: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 11

Separation of BTSs from the Core

BTS

BSC

MGW

Abis/RSLA

RTP RTP

UmAbis/RSL

➔ Each handover causes a changeof the RTP connection (IP/Port)

➔ The Core network expects a constantRTP connection (IP/Port)=> BTSs need to be separated from the core network

Page 12: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 12

Separation of BTSs from the Core

BTS

BSC

MGW

Abis/RSLA

RTP

RTPUm

Abis/RSL

➔ Each handover causes a changeof the RTP connection (IP/Port)

➔ The Core network expects a constantRTP connection (IP/Port)=> BTSs need to be separated from the core network

Page 13: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 13

MSC co-located MGW

MSC

MGW

A

osmo-sip-connector

MNCCSIP

RTP

RTP

➔ Osmo-msc requires a co-located MGW to provide local switching(internal mncc) or interfacing with an external PBX/VoIP network (external mncc)

➔ In the Future: osmo-mgw will provide transcoding to match on the external legs codec requirements.

Page 14: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 14

Also exotic topoplogies are thinkable

BTS

BSC-NAT

MGW(osmo-bsc_mgcp)

IPA-M

UX (SCCP-L

ITE)

RTPRTP

Um

Abis/RSLMSC

MGCPMGCP

BSC

RTP IPA-M

UX (SCCP-L

ITE+ M

GCP)

Page 15: MGCP and where/how we use it in Osmocom file14/05/18 (c) 2017 sysmocom GmbH 1 MGCP and where/how we use it in Osmocom Philipp Maier

14/05/18 (c) 2017 sysmocom GmbH 15

MGCPand where/how we use it in Osmocom

Philipp Maier <[email protected]>