blob: e8320a7369b082ad31f35e4f1f415d9cc9a56eb9 [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
110OsmoMSC will contact an STP instance to establish an SCCP/M3UA link. BSC and
111HNBGW will then reach the MSC via this link. By default, an STP instance is
112assumed to listen on the default M3UA port (2905) on the local host.
113
114Establishing an SCCP/M3UA link towards an STP instance not on the local host
115can be configured as follows:
116
117----
118cs7 instance 0
119 asp my-OsmoMSC 2905 0 m3ua
120 ! IP address of the remote STP:
121 remote-ip 10.23.24.1
122----
123
124Note that _A_ and _IuCS_ may use different SCCP instances, if so desired:
125
126----
127cs7 instance 0
128 asp my-OsmoMSC-A 2905 0 m3ua
129 remote-ip 10.23.42.1
130cs7 instance 1
131 asp my-OsmoMSC-Iu 2905 0 m3ua
132 remote-ip 10.23.42.2
133msc
134 cs7-instance-a 0
135 cs7-instance-iu 1
136----
137
138A full configuration needs an `asp` on an `as` -- an Application Server Process
139running on an Application Server -- as well as a local point code and routing
140configuration. The SCCP VTY automatically creates those parts that are missing,
141by assuming sane defaults. A complete configuration would look like this:
142
143----
144cs7 instance 0
145 point-code 0.23.1
146 asp my-OsmoMSC-A-Iu 2905 0 m3ua
147 remote-ip 127.0.0.1
148 as my-as-for-OsmoMSC-A-Iu m3ua
149 asp my-OsmoMSC-A-Iu
150 routing-key 0 0.23.1
151----
152
153==== Configure GSUP to reach the HLR
154
155OsmoMSC will assume a GSUP server (OsmoHLR) to run on the local host and the
156default GSUP port (4222). Contacting an HLR at a different IP address can be
157configured as follows:
158
159----
160hlr
161 ! IP address of the remote HLR:
162 remote-ip 10.23.42.1
163 ! default port is 4222, optionally configurable by:
164 remote-port 1234
165----