Commit Graph

8 Commits

Author SHA1 Message Date
Oliver Smith 49e50de426 Store MSC
Expect one MSC to be configured in the address book (part of the cs7
section in the config, see doc/examples/osmo-bsc-nat/osmo-bsc-nat.cfg)
and store it on start up.

Store the MSC in a list, as we may potentially support multiple MSCs in
the future. Also that makes it symmetric to the BSC list.

Don't use the stored MSCs in the forwarding logic just yet, a future
commit will replace the current forwarding code with proper connection
mappings.

Related: SYS#5560
Change-Id: I711df0c649728f1007857fbfda500ed5ef69287b
2022-03-21 16:36:32 +01:00
Oliver Smith 122beff8bb treewide: tweak includes
Categorize includes by:
* (library includes)
* Osmocom includes except for OsmoBSCNAT
* OsmoBSCNAT includes

Order the includes in each category alphabetically, and remove empty
lines between them. This allows me to keep them consistent, and with
empty lines removed between these categories it doesn't look
inconsistent if there is only one include from two categories in one
file, but multiple includes from the same category in another file.

While at it, also have one empty line after the license header in all
c, h files, and one after the includes.

Related: SYS#5560
Change-Id: I1a7b95ccb0c87fd53645c72f0c02449e8403043b
2022-03-10 18:52:31 +01:00
Oliver Smith 6afc0e3314 vty: use osmo_ss7_vty_go_parent
Remove unnecessary bsc_nat_vty_go_parent function, and use
osmo_ss7_vty_go_parent instead. Without the latter, it segfaults while
attempting to parse a config segment like this:

  cs7 instance 0
   point-code 0.23.3
   asp asp-clnt-OsmoBSCNAT-CN 2905 0 m3ua
    remote-ip 127.0.0.1
    local-ip 127.0.0.3
   sccp-address msc  # segfault here, vty->index == NULL
    routing-indicator PC
    point-code 0.23.1

Related: SYS#5560
Related: https://gerrit.osmocom.org/c/osmo-bsc-nat/+/26659/comment/c99b8cca_865449aa/
Change-Id: Iee6ece062f11694acb771463be7effb7342e92f2
2022-01-31 18:51:22 +01:00
Oliver Smith 8f7b750b22 Add bsc_nat fsm
Create the initial FSM that starts and stops two SS7 instances (one for
CN, one for RAN), and binds an sccp user to each.

Related: SYS#5560
Depends: libosmocore I81c64a7ae440304522c2179c212023a566ddced8
Change-Id: I7d52fa649c397582b18a1a7dcc40bb407f3b2c97
2022-01-31 18:50:59 +01:00
Oliver Smith 5704c7e2ce Add signal handler
Related: OS#2545
Change-Id: I303e9275a2f1f6f2da742089d079ba604ee5a36b
2021-12-23 10:47:26 +01:00
Oliver Smith ff32401af3 Add command-line options
Related: OS#2545
Change-Id: I41bca9e1b88bb130870d078ed3f499e39e0bf5d3
2021-12-23 10:47:26 +01:00
Oliver Smith c448efb3aa Add vty interface
Related: OS#2545
Change-Id: I6f2d8d1d62b97be471ebcf1bb14aac0b895833d1
2021-12-23 10:47:26 +01:00
Oliver Smith 6a2ac0a0d5 Add project skeleton
It was decided to write OsmoBSCNAT with 3GPP AoIP support from scratch,
in a separate repository from OsmoBSC. The previous codebase was too
heavily tied into legacy SCCPlite code and had been removed from
osmo-bsc.git in Ia05dc76336a64a7f08962843b9a7cc19f2c83387.

Related: OS#2545
Change-Id: Iae5d37483dcb9db00578d5c9cd1736f08754a65e
2021-12-23 10:47:21 +01:00