blob: f8550ae56ced1d7a7da56cf1ec09c9b5b764f253 [file] [log] [blame]
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +02001== Running OsmoMSC
2
3The OsmoMSC executable (`osmo-msc`) offers the following command-line
4arguments:
5
6=== SYNOPSIS
7
Vadim Yanitskiyaefbf7a2021-11-12 20:28:08 +03008*osmo-msc* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL']
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +02009
10=== OPTIONS
11
12*-h, --help*::
13 Print a short help message about the supported options
14*-V, --version*::
Harald Welte22d0ba82019-12-01 14:25:39 +010015 Print the compile-time version number of the program
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020016*-d, --debug 'DBGMASK','DBGLEVELS'*::
17 Set the log subsystems and levels for logging to stderr. This
18 has mostly been superseded by VTY-based logging configuration,
19 see <<logging>> for further information.
20*-D, --daemonize*::
21 Fork the process as a daemon into background.
22*-c, --config-file 'CONFIGFILE'*::
23 Specify the file and path name of the configuration file to be
Daniel Willmann020a4852018-10-23 18:17:28 +020024 used. If none is specified, use `osmo-msc.cfg` in the current
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020025 working directory.
26*-s, --disable-color*::
27 Disable colors for logging to stderr. This has mostly been
28 deprecated by VTY based logging configuration, see <<logging>>
29 for more information.
30*-T, --timestamp*::
31 Enable time-stamping of log messages to stderr. This has mostly
32 been deprecated by VTY based logging configuration, see
33 <<logging>> for more information.
34*-e, --log-level 'LOGLEVEL'*::
35 Set the global log level for logging to stderr. This has mostly
36 been deprecated by VTY based logging configuration, see
37 <<logging>> for more information.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020038
39
40=== Multiple instances
41
Neels Hofmeyrfee9dd72017-09-25 16:37:34 +020042Running multiple instances of `osmo-msc` on the same computer is possible if all
43interfaces (VTY, CTRL) are separated using the appropriate configuration
44options. The IP based interfaces are binding to local host by default. In order
45to separate the processes, the user has to bind those services to specific but
46different IP addresses and/or ports.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020047
48The VTY and the Control interface can be bound to IP addresses from the loopback
49address range, for example:
50
51----
52line vty
53 bind 127.0.0.2
54ctrl
55 bind 127.0.0.2
56----
57
58If external SMPP is enabled, you may bind it to a different interface using:
59
60----
61smpp
62 local-tcp-ip 10.23.42.1 2775
63----
64
65More on SMPP configuration in <<smpp-config-global>>.
66
Neels Hofmeyr92b02462020-05-26 23:13:53 +020067The external MNCC handler is a UNIX domain socket that is created when external MNCC handling is configured. A separate
68path must be used per osmo-msc instance:
69
70----
71msc
72 mncc external /tmp/mncc_socket
73----
74
75More on MNCC in <<mncc-external>>.
76
77The SGs interface by default listens on 0.0.0.0:29118. Configure a different IP and/or port for each osmo-msc instance.
78You may also want to configure different VLR names:
79
80----
81sgs
82 local-ip 127.0.0.1
83 local-port 29118
84 vlr-name vlr.example.net
85----
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020086
87For the following links, OsmoMSC acts as a client and does not listen/bind to a
88specific interface, and will hence not encounter conflicts for multiple instances
89running on the same interface:
90
91- The SCCP/M3UA links are established by OsmoMSC contacting an STP.
92- The GSUP link is established by OsmoMSC contacting an HLR.
Neels Hofmeyrd2331042020-03-18 01:08:46 +010093- The MGCP link is established by OsmoMSC contacting an MGW.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020094
95
96=== Configure primary links
97
98==== Configure SCCP/M3UA to accept _A_ and _IuCS_ links
99
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100100OsmoMSC acts as client to contact an STP instance and establish an SCCP/M3UA
101link.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200102
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100103An example configuration of OsmoMSC's SCCP link:
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200104
105----
106cs7 instance 0
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100107 point-code 0.23.1
108 asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua
109 remote-ip 127.0.0.1
110 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200111----
112
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100113This configuration is explained in detail in <<cs7_config>>.
114
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200115Note that _A_ and _IuCS_ may use different SCCP instances, if so desired:
116
117----
118cs7 instance 0
119 asp my-OsmoMSC-A 2905 0 m3ua
120 remote-ip 10.23.42.1
121cs7 instance 1
122 asp my-OsmoMSC-Iu 2905 0 m3ua
123 remote-ip 10.23.42.2
124msc
125 cs7-instance-a 0
126 cs7-instance-iu 1
127----
128
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200129==== Configure GSUP to reach the HLR
130
131OsmoMSC will assume a GSUP server (OsmoHLR) to run on the local host and the
132default GSUP port (4222). Contacting an HLR at a different IP address can be
133configured as follows:
134
135----
136hlr
137 ! IP address of the remote HLR:
138 remote-ip 10.23.42.1
139 ! default port is 4222, optionally configurable by:
140 remote-port 1234
141----
Philipp Maier945b0602021-08-03 11:33:20 +0200142
143==== Configure MGCP to connect to an MGW
144
145OsmoMSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By
146default, an MGW is expected to receive MGCP requests on the IANA-registered
147default port for MGCP (2427) on local host (127.0.0.1).
148
149Here is an example configuration for a remote MGW:
150
151----
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200152network
153 mgw 0
Pau Espin Pedrolef70bb22022-10-19 13:25:55 +0200154 remote-ip 10.9.8.7
155 remote-port 2427
156 reset-endpoint rtpbridge/* <1>
Philipp Maier945b0602021-08-03 11:33:20 +0200157----
158<1> The 'reset-endpoint' setting instructs the OsmoMGW to send a wildcarded
159DLCX to the media gateway. This helps to clear lingering calls from the
160media gateway when the OsmoMSC is restarted.
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200161
Pau Espin Pedrol68d2a672022-10-20 16:24:06 +0200162OsmoMSC is also able to handle a pool of media gateways for load
163distribution. See also <<mgw_pooling>>.
164
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200165[NOTE]
166====
167Previous versions of OsmoMSC (1.9.0 and below) didn't have the 'mgw' VTY node and
168hence didn't support the MGW pooling feature. Therefore, historically the MGW
169related commands where placed under the `msc` VTY node. The MGW related commands
170under the `msc` VTY are still parsed and used but its use is deprecated and
171hence discouraged in favour of the new `mgw` node. Writing the config to a file
172from within OsmoMSC will automatically convert the config to use the new `mgw`
173node.
174====