blob: d6e734b59a4d8d8d33c9632149738c7eca55fa22 [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
Pau Espin Pedrol11c420a2023-06-08 19:39:13 +0200110 role asp
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100111 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200112----
113
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100114This configuration is explained in detail in <<cs7_config>>.
115
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200116Note that _A_ and _IuCS_ may use different SCCP instances, if so desired:
117
118----
119cs7 instance 0
120 asp my-OsmoMSC-A 2905 0 m3ua
121 remote-ip 10.23.42.1
Pau Espin Pedrol11c420a2023-06-08 19:39:13 +0200122 role asp
123 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200124cs7 instance 1
125 asp my-OsmoMSC-Iu 2905 0 m3ua
126 remote-ip 10.23.42.2
Pau Espin Pedrol11c420a2023-06-08 19:39:13 +0200127 role asp
128 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200129msc
130 cs7-instance-a 0
131 cs7-instance-iu 1
132----
133
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200134==== Configure GSUP to reach the HLR
135
136OsmoMSC will assume a GSUP server (OsmoHLR) to run on the local host and the
137default GSUP port (4222). Contacting an HLR at a different IP address can be
138configured as follows:
139
140----
141hlr
142 ! IP address of the remote HLR:
143 remote-ip 10.23.42.1
144 ! default port is 4222, optionally configurable by:
145 remote-port 1234
146----
Philipp Maier945b0602021-08-03 11:33:20 +0200147
148==== Configure MGCP to connect to an MGW
149
150OsmoMSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By
151default, an MGW is expected to receive MGCP requests on the IANA-registered
152default port for MGCP (2427) on local host (127.0.0.1).
153
154Here is an example configuration for a remote MGW:
155
156----
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200157network
158 mgw 0
Pau Espin Pedrolef70bb22022-10-19 13:25:55 +0200159 remote-ip 10.9.8.7
160 remote-port 2427
161 reset-endpoint rtpbridge/* <1>
Philipp Maier945b0602021-08-03 11:33:20 +0200162----
163<1> The 'reset-endpoint' setting instructs the OsmoMGW to send a wildcarded
164DLCX to the media gateway. This helps to clear lingering calls from the
165media gateway when the OsmoMSC is restarted.
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200166
Pau Espin Pedrol68d2a672022-10-20 16:24:06 +0200167OsmoMSC is also able to handle a pool of media gateways for load
168distribution. See also <<mgw_pooling>>.
169
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200170[NOTE]
171====
172Previous versions of OsmoMSC (1.9.0 and below) didn't have the 'mgw' VTY node and
173hence didn't support the MGW pooling feature. Therefore, historically the MGW
174related commands where placed under the `msc` VTY node. The MGW related commands
175under the `msc` VTY are still parsed and used but its use is deprecated and
176hence discouraged in favour of the new `mgw` node. Writing the config to a file
177from within OsmoMSC will automatically convert the config to use the new `mgw`
178node.
179====