== Running OsmoSMLC

The OsmoSMLC executable (`osmo-smlc`) offers the following command-line
arguments:

=== SYNOPSIS

*osmo-smlc* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL'] [-l 'IP'] [-r 'RFCTL']

=== OPTIONS

*-h, --help*::
	Print a short help message about the supported options
*-V, --version*::
	Print the compile-time version number of the program
*-d, --debug 'DBGMASK','DBGLEVELS'*::
	Set the log subsystems and levels for logging to stderr. This
	has mostly been superseded by VTY-based logging configuration,
	see <<logging>> for further information.
*-D, --daemonize*::
	Fork the process as a daemon into background.
*-c, --config-file 'CONFIGFILE'*::
	Specify the file and path name of the configuration file to be
	used. If none is specified, use `osmo-smlc.cfg` in the current
	working directory.
*-e, --log-level 'LOGLEVEL'*::
	Set the global log level for logging to stderr. This has mostly
	been deprecated by VTY based logging configuration, see
	<<logging>> for more information.

=== Multiple instances

Running multiple instances of `osmo-smlc` on the same host is possible if all
interfaces (VTY, CTRL) are separated using the appropriate configuration
options. The IP based interfaces are binding to local host by default. In order
to separate the processes, the user has to bind those services to specific but
different IP addresses and/or ports.

The VTY and the Control interface can be bound to IP addresses from the loopback
address range, for example:

----
line vty
 bind 127.0.0.2
ctrl
 bind 127.0.0.2
----

For the following links, OsmoSMLC acts as a client and does not listen/bind to a
specific interface, and will hence not encounter conflicts for multiple instances
running on the same interface:

- The SCCP/M3UA links are established by OsmoSMLC contacting an STP.

To run multiple OsmoSMLC instances on the same network, each SMLC
has to configure a distinct point-code. See <<cs7_config>>.


=== Configure primary links

==== Connect to an STP

===== Configure SCCP/M3UA (AoIP)

OsmoSMLC acts as client to contact an STP instance and establish an SCCP/M3UA
link. OsmoSMLC always uses the SSN "SMLC (BSSMAP-LE)" (SSN code 252). The
configurable point-code defaults to 0.23.6 (190).

An example configuration of OsmoSMLC's Lb SCCP link, assuming the SMLC at
point-code 1.23.6, listening for M3UA at 127.0.0.1:2905:

----
cs7 instance 0
 point-code 1.23.6
 asp asp-clnt-msc-0 2905 0 m3ua
  remote-ip 127.0.0.1
  role asp
  sctp-role client
----

This configuration is explained in detail in <<cs7_config>>.
