blob: 3041145dc2050988de88610ccb781c303571b541 [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
Philipp Maier1759ed52023-10-23 17:05:27 +020077The SGs interface by default listens on 0.0.0.0:29118 (SCTP). Each instance of OsmoMSC must use a different IP address
78and/or port. For details about the configuration of the SGs interface, see section <<sgs>>.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020079
80For the following links, OsmoMSC acts as a client and does not listen/bind to a
81specific interface, and will hence not encounter conflicts for multiple instances
82running on the same interface:
83
84- The SCCP/M3UA links are established by OsmoMSC contacting an STP.
85- The GSUP link is established by OsmoMSC contacting an HLR.
Neels Hofmeyrd2331042020-03-18 01:08:46 +010086- The MGCP link is established by OsmoMSC contacting an MGW.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020087
88
89=== Configure primary links
90
91==== Configure SCCP/M3UA to accept _A_ and _IuCS_ links
92
Neels Hofmeyr346a3b92020-03-18 01:10:42 +010093OsmoMSC acts as client to contact an STP instance and establish an SCCP/M3UA
94link.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020095
Neels Hofmeyr346a3b92020-03-18 01:10:42 +010096An example configuration of OsmoMSC's SCCP link:
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020097
98----
99cs7 instance 0
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100100 point-code 0.23.1
101 asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua
102 remote-ip 127.0.0.1
Pau Espin Pedrol11c420a2023-06-08 19:39:13 +0200103 role asp
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100104 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200105----
106
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100107This configuration is explained in detail in <<cs7_config>>.
108
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200109Note that _A_ and _IuCS_ may use different SCCP instances, if so desired:
110
111----
112cs7 instance 0
113 asp my-OsmoMSC-A 2905 0 m3ua
114 remote-ip 10.23.42.1
Pau Espin Pedrol11c420a2023-06-08 19:39:13 +0200115 role asp
116 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200117cs7 instance 1
118 asp my-OsmoMSC-Iu 2905 0 m3ua
119 remote-ip 10.23.42.2
Pau Espin Pedrol11c420a2023-06-08 19:39:13 +0200120 role asp
121 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200122msc
123 cs7-instance-a 0
124 cs7-instance-iu 1
125----
126
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200127==== Configure GSUP to reach the HLR
128
129OsmoMSC will assume a GSUP server (OsmoHLR) to run on the local host and the
130default GSUP port (4222). Contacting an HLR at a different IP address can be
131configured as follows:
132
133----
134hlr
135 ! IP address of the remote HLR:
136 remote-ip 10.23.42.1
137 ! default port is 4222, optionally configurable by:
138 remote-port 1234
139----
Philipp Maier945b0602021-08-03 11:33:20 +0200140
141==== Configure MGCP to connect to an MGW
142
143OsmoMSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By
144default, an MGW is expected to receive MGCP requests on the IANA-registered
145default port for MGCP (2427) on local host (127.0.0.1).
146
147Here is an example configuration for a remote MGW:
148
149----
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200150network
151 mgw 0
Pau Espin Pedrolef70bb22022-10-19 13:25:55 +0200152 remote-ip 10.9.8.7
153 remote-port 2427
154 reset-endpoint rtpbridge/* <1>
Philipp Maier945b0602021-08-03 11:33:20 +0200155----
156<1> The 'reset-endpoint' setting instructs the OsmoMGW to send a wildcarded
157DLCX to the media gateway. This helps to clear lingering calls from the
158media gateway when the OsmoMSC is restarted.
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200159
Pau Espin Pedrol68d2a672022-10-20 16:24:06 +0200160OsmoMSC is also able to handle a pool of media gateways for load
161distribution. See also <<mgw_pooling>>.
162
Pau Espin Pedrolb44cf2d2022-10-17 18:09:15 +0200163[NOTE]
164====
165Previous versions of OsmoMSC (1.9.0 and below) didn't have the 'mgw' VTY node and
166hence didn't support the MGW pooling feature. Therefore, historically the MGW
167related commands where placed under the `msc` VTY node. The MGW related commands
168under the `msc` VTY are still parsed and used but its use is deprecated and
169hence discouraged in favour of the new `mgw` node. Writing the config to a file
170from within OsmoMSC will automatically convert the config to use the new `mgw`
171node.
172====