blob: 565c8d0e1a459891f71e91c66521f4555c450e82 [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
8*osmo-msc* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL'] [-l 'DATABASE'] [-M 'SOCKETPATH'] [-C]
9
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.
38*-l, --database 'DATABASE'*::
39 Specify the file name of the SQLite3 database to use as SMS storage
40*-M, --mncc-sock-path*::
41 Enable the MNCC socket for an external MNCC handler. See
42 <<mncc>> for further information.
43*-m, --mncc-sock*::
44 Same as option -M (deprecated).
45*-C, --no-dbcounter*::
Alexander Couzensb10ec6a2019-04-27 17:36:47 +020046 Deprecated. DB statistics and counter has been removed.
Martin Hauke3f07dac2019-11-14 17:49:08 +010047 This option is only valid for compatibility and does nothing.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020048
49
50=== Multiple instances
51
Neels Hofmeyrfee9dd72017-09-25 16:37:34 +020052Running multiple instances of `osmo-msc` on the same computer is possible if all
53interfaces (VTY, CTRL) are separated using the appropriate configuration
54options. The IP based interfaces are binding to local host by default. In order
55to separate the processes, the user has to bind those services to specific but
56different IP addresses and/or ports.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020057
58The VTY and the Control interface can be bound to IP addresses from the loopback
59address range, for example:
60
61----
62line vty
63 bind 127.0.0.2
64ctrl
65 bind 127.0.0.2
66----
67
68If external SMPP is enabled, you may bind it to a different interface using:
69
70----
71smpp
72 local-tcp-ip 10.23.42.1 2775
73----
74
75More on SMPP configuration in <<smpp-config-global>>.
76
Neels Hofmeyr92b02462020-05-26 23:13:53 +020077The external MNCC handler is a UNIX domain socket that is created when external MNCC handling is configured. A separate
78path must be used per osmo-msc instance:
79
80----
81msc
82 mncc external /tmp/mncc_socket
83----
84
85More on MNCC in <<mncc-external>>.
86
87The SGs interface by default listens on 0.0.0.0:29118. Configure a different IP and/or port for each osmo-msc instance.
88You may also want to configure different VLR names:
89
90----
91sgs
92 local-ip 127.0.0.1
93 local-port 29118
94 vlr-name vlr.example.net
95----
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +020096
97For the following links, OsmoMSC acts as a client and does not listen/bind to a
98specific interface, and will hence not encounter conflicts for multiple instances
99running on the same interface:
100
101- The SCCP/M3UA links are established by OsmoMSC contacting an STP.
102- The GSUP link is established by OsmoMSC contacting an HLR.
Neels Hofmeyrd2331042020-03-18 01:08:46 +0100103- The MGCP link is established by OsmoMSC contacting an MGW.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200104
105
106=== Configure primary links
107
108==== Configure SCCP/M3UA to accept _A_ and _IuCS_ links
109
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100110OsmoMSC acts as client to contact an STP instance and establish an SCCP/M3UA
111link.
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200112
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100113An example configuration of OsmoMSC's SCCP link:
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200114
115----
116cs7 instance 0
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100117 point-code 0.23.1
118 asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua
119 remote-ip 127.0.0.1
120 sctp-role client
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200121----
122
Neels Hofmeyr346a3b92020-03-18 01:10:42 +0100123This configuration is explained in detail in <<cs7_config>>.
124
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200125Note that _A_ and _IuCS_ may use different SCCP instances, if so desired:
126
127----
128cs7 instance 0
129 asp my-OsmoMSC-A 2905 0 m3ua
130 remote-ip 10.23.42.1
131cs7 instance 1
132 asp my-OsmoMSC-Iu 2905 0 m3ua
133 remote-ip 10.23.42.2
134msc
135 cs7-instance-a 0
136 cs7-instance-iu 1
137----
138
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +0200139==== Configure GSUP to reach the HLR
140
141OsmoMSC will assume a GSUP server (OsmoHLR) to run on the local host and the
142default GSUP port (4222). Contacting an HLR at a different IP address can be
143configured as follows:
144
145----
146hlr
147 ! IP address of the remote HLR:
148 remote-ip 10.23.42.1
149 ! default port is 4222, optionally configurable by:
150 remote-port 1234
151----
Philipp Maier945b0602021-08-03 11:33:20 +0200152
153==== Configure MGCP to connect to an MGW
154
155OsmoMSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By
156default, an MGW is expected to receive MGCP requests on the IANA-registered
157default port for MGCP (2427) on local host (127.0.0.1).
158
159Here is an example configuration for a remote MGW:
160
161----
162msc
163 mgw remote-ip 10.9.8.7
164 mgw remote-port 2427
165 mgw reset-endpoint rtpbridge/* <1>
166----
167<1> The 'reset-endpoint' setting instructs the OsmoMGW to send a wildcarded
168DLCX to the media gateway. This helps to clear lingering calls from the
169media gateway when the OsmoMSC is restarted.