osmomgw, mgcp and how it is used

20
22/10/18 (c) 2018 sysmocom GmbH 1 OsmoMGW, MGCP and how it is used Philipp Maier <[email protected]>

Upload: others

Post on 03-Oct-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 1

OsmoMGW, MGCP and how it is used

Philipp Maier <[email protected]>

Page 2: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 2

Agenda

➔ Media gateways and MGCP➔ OsmoMGW➔ Practical applications

Page 3: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 3

A media gateway is a switchboard

➔ Connects RTP streams with each other➔ (Connects RTP streams with other media like E1 or POTS)➔ (Transcodes between different codecs)➔ Is a passive component, that needs to be controlled by a call agent.➔ Typical applications are PBX systems and Mobile networls (RAN,

Core network)➔ Typical Control Protocols: MGCP and SDP

(Sou

rce:

Wik

iped

ia,

pub

lic d

oma

in)

Page 4: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 4

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)See also:

https://tools.ietf.org/html/rfc2327

https://tools.ietf.org/html/rfc3435

Page 5: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 5

MGCP: Requests and Response➔ MGCP is request/response oriented (call

agent sends requests, mgw responds)➔ Text oriented protocol, human readable

strings.➔ Request contains a command verb that

defines which action the MGW should perform

➔ MGW responds with command results and a status code (similar to HTTP)

Page 6: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 6

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

Creates a new connection, call agent may connection details. MGW returns with local connection details

Modiefies an existing connection, in case connection details need to be updated

Delete an existing connection, this command usually ends a call.

Page 7: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 7

MGCP: Endpoints and connections➔ Media gateways are originzed in endpoints

and connections.➔ Endpoints are (usually) a contable resource

(RTP-Ports, E1 timeslots, POTS lines etc..)

➔ Connections are dynamically created and modified using command verbs.

➔ The MGW implicitly interconnects two connections that sit on the same endpoint.

Page 8: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 8

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 9: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 9

Agenda

➔ Media gateways and MGCP➔ OsmoMGW➔ Practical applications

Page 10: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 10

OsmoMGW – an overview➔ Relatively new, around since 2017➔ Predecessor: osmo-bsc_mgcp➔ Assumptions and Hacks known from

osmo-bsc_mgcp are removed.

(e.g. BTS auto dectection)➔ Temporarly removes OSMUX and built in

transcoding➔ New features:– Improved handling of codec information in SDP and LCO

Page 11: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 11

mgcp_client – controls OsmoMGW➔ Call-Agents that use OsmoMGW (MGCP) do not have to implement the

protocol stack themselves

➔ Client library available, installed along with OsmoMGW as libosmo-mgcp-client ➔ MGCP-Client comes with its own VTY, crafting of own configuration interfaces

is not needed➔ API provides two levels of access, low level and a comfortable FSM driven interface

Page 12: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 12

OsmoMGW configuration

mgcp bind ip 127.0.0.1 rtp net-range 4002 7000 rtp net-bind-ip 10.9.1.122 rtp ip-probing rtp ip-tos 184 no rtp keep-alive bind port 2428 number endpoints 30 loop 0 force-realloc 1 osmux off

Interface for the MGCP protocol, must be reachable from the call-agent (osmo-msc or osmo-bsc)

Interface for the RTP protocol, must be reachable from any entity that needs to send RTP packets to the MGW (OsmoBSC and BTS, or OsmoMSC and PBX

Enable this flag in case to allow OsmoMGW to allow OsmoMGW to select the rtp-bind-ip interface dynamically (necessary when BTS and MSC are reachable through different interfaces)

Number of endpoints the MGW should be capable to serve.

Port on which the MGCP protocol should be reachable.

Page 13: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 13

Agenda

➔ Media gateways and MGCP➔ OsmoMGW➔ Practical applications

Page 14: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 14

Separation of BTSs from the Core

BTS

BSC

MGW

Abis/RSLA

RTP RTP

UmAbis/RSL

➔ Each handover causes a change

of the RTP connection (IP/Port)➔ The Core network expects a constant

RTP connection (IP/Port)

=> BTSs need to be separated

from the core network

Page 15: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 15

Separation of BTSs from the Core

BTS

BSC

MGW

Abis/RSLA

RTP

RTP

Um

Abis/RSL

➔ Each handover causes a change

of the RTP connection (IP/Port)➔ The Core network expects a constant

RTP connection (IP/Port)

=> BTSs need to be separated

from the core network

Page 16: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 16

Local call local switch (LCLS)

BTS

BSC

MGW

Abis/RSLA

RTP RTP

Um

Abis/RSL

➔ Save bandwith and latency by connecting two calls on the same BSS locally.

➔ MSC sends LCLS instructions via A-Interface. The BSC sends MDCX messages to the MGW to connect the two calls locally.

=> No change from the BTS point of view

Um

Page 17: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 17

MSC co-located MGW

MSC

MGW

A

osmo-sip-connector

MNCCSIP

RTP

RTP

➔ OsmoMSC requires a co-located MGW to provide local switching

(internal mncc) or interfacing with an external PBX/VoIP network (external mncc)

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

Page 18: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 18

Single MGW configurationMSC

MGW

A

MNCC

RTP

RTP

➔ OsmoBSC and OsmoMSC share a single OsmoMGW instance

➔ OsmoBSC and OsmoMSC are not aware of the fact that they use the same OsmoMGW instance

➔ Suitable for sites where BSC and MSC reside on the same machine

=> Network architecture simplfied

BSC

Abis/RSL

BTS

Page 19: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 19

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+

MGCP)

Page 20: OsmoMGW, MGCP and how it is used

22/10/18 (c) 2018 sysmocom GmbH 20

OsmoMGW, MGCP and how it is used

Philipp Maier <[email protected]>