[[configuration]]
== Configuration

=== CBSP Peer Configuration

CBSP is the BSC-CBC interface within the 3GPP architecture.  It serves
to communicate CSB and ETWS messages from the CBC to the BSC, who then
subsequently distributes it among the (matching) cells within the BSC
coverage area.

[[config-cbsp]]
==== Configuring the CBSP connections

According to 3GPP TS 48.049, a BSC typically operates as a TCP server,
and the CBC connects as TCP client.  This would require the CBC to have
out-of-band knowledge of all the BSCs in the network (and their IP
addresses).

In order to comply with the specifications, OsmoCBC supports this mode
of operation as CBSP TCP client.  However, to make network operation and
configuration more simple, it also can operate in TCP server mode,
accepting incoming connections from the BSCs.  This way the BSCs need to
know the CBC IP address, but not vice-versa.

The CBC related configuration of OsmoBSC can be found in the `cbc` configuration
node of the VTY interface.

The default port number for the CBSP server is 48049, according to the CBSP
specification.

.Example: Configure TCP server mode and allow arbitrary BSCs to connect
----
cbc
 unknown-peers accept
----


.Example: Configure TCP client mode and define each BSC
----
cbc
 peer my-bsc-1
  protocol cbsp
  remote-port 46133
  remote-ip 1.2.3.4
 peer my-bsc-2
  remote-port 46134
  remote-ip 1.2.3.5
----

For more details on the available configuration commands, please check the OsmoCBC VTY Reference.

==== Configuring the IP/Port for CBSP to bind to

It can be configured to which IP and TCP port the CBSP protocol binds to.

The default is to bind to the 3GPP standard port number 48049 for CBSP at the
loopback IP address 127.0.0.1.

.Example: Configure CBSP to bind to 127.0.0.1:48049
----
cbc
 cbsp
  local-ip 127.0.0.1
  local-port 48049
----


=== SBc-AP Peer Configuration

SBc-AP is the MME-CBC interface within the 3GPP architecture.  It serves
to communicate CSB and ETWS messages from the CBC to the MME, who then
subsequently distributes it among the (matching) cells (eNodeBs) within the MME.

[[config-sbcap]]
==== Configuring the SBc-AP connections

An MME typically operates as an SCTP server, and the CBC connects as SCTP
client.  This would require the CBC to have out-of-band knowledge of all the
MMEs in the network (and their IP addresses).

In order to comply with the specifications, OsmoCBC supports this mode
of operation as SBc-AP SCTP client.  However, to make network operation and
configuration more simple, it also can operate in SCTP server mode,
accepting incoming connections from the MMEs.  This way the MMEs need to
know the CBC IP address, but not vice-versa.

The default port number for the SBc-AP server is 29168, according to the SBc-AP
specification. It uses SCTP payload protocol identifier 24.

In order to make use of SCTP multi-homing capabilities, simply configure several
IP addresses when configuring SBc-AP.

.Example: Configure SCTP server mode and allow arbitrary MMEs to connect
----
cbc
 unknown-peers accept
----


.Example: Configure SCTP client mode and define each BSC
----
cbc
 peer my-mme-1
  protocol sbcap
  remote-port 334455
  remote-ip 1.2.3.4
  remote-ip 1.2.3.5
 peer my-mme-2
  protocol sbcap
  remote-port 334456
  remote-ip 1.2.3.10
----

For more details on the available configuration commands, please check the OsmoCBC VTY Reference.

==== Configuring the IP/Port for SBc-AP to bind to

It can be configured to which IP and SCTP port the SBc-AP protocol binds to.

The default is to bind to the 3GPP standard port number 29168 for SBc-AP at the
loopback IP address 127.0.0.1 and ::1.

.Example: Configure SBc-AP to bind to (127.0.0.1,::1):48049
----
cbc
 sbcap
  local-ip 127.0.0.1
  local-ip ::1
  local-port 48049
----

[[config-ecbe]]
=== ECBE (REST Interface) Configuration

==== Configuring the IP/Port for ECBE to bind to

It can be configure to which IP and TCP port the ECBE REST Interface binds to.

The default is to bind to is the non-standard port number 12349 at the
loopback IP address 127.0.0.1.

.Example: Configure ECBE REST interface to bind to 127.0.0.1:8080
----
cbc
 ecbe
  local-ip 127.0.0.1
  local-port 8080
----
