Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
22/10/18 (c) 2018 sysmocom GmbH 1
OsmoMGW, MGCP and how it is used
Philipp Maier <[email protected]>
22/10/18 (c) 2018 sysmocom GmbH 2
Agenda
➔ Media gateways and MGCP➔ OsmoMGW➔ Practical applications
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)
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
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)
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.
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.
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
22/10/18 (c) 2018 sysmocom GmbH 9
Agenda
➔ Media gateways and MGCP➔ OsmoMGW➔ Practical applications
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
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
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.
22/10/18 (c) 2018 sysmocom GmbH 13
Agenda
➔ Media gateways and MGCP➔ OsmoMGW➔ Practical applications
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
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
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
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.
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
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)
22/10/18 (c) 2018 sysmocom GmbH 20
OsmoMGW, MGCP and how it is used
Philipp Maier <[email protected]>