From 2c90899bc4386d4e5dae41e098b17e87cae99e42 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Mon, 19 Aug 2019 19:06:06 +0200 Subject: vty: Introduce cs7-instance-iu Similar to what we already have in osmo-msc. Change-Id: Iaa9e1d06dd0430848ef4f7498a3c15d13f899904 --- doc/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg | 1 + doc/manuals/vty/sgsn_vty_reference.xml | 6 ++++++ include/osmocom/sgsn/sgsn.h | 1 + src/gprs/sgsn_main.c | 4 +++- src/gprs/sgsn_vty.c | 14 ++++++++++++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/doc/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg b/doc/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg index a18d76a1..f60c076c 100644 --- a/doc/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg +++ b/doc/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg @@ -21,6 +21,7 @@ sgsn auth-policy remote gsup remote-ip 127.0.0.1 gsup remote-port 4222 + cs7-instance-iu 0 ! ns timer tns-block 3 diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index c3f91cf7..38e21c2f 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -2502,6 +2502,12 @@ + + + + + + diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index 6e4f5ca0..78803c77 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -112,6 +112,7 @@ struct sgsn_config { #if BUILD_IU struct { enum ranap_nsap_addr_enc rab_assign_addr_enc; + uint32_t cs7_instance; } iu; #endif diff --git a/src/gprs/sgsn_main.c b/src/gprs/sgsn_main.c index 5979886b..4232e238 100644 --- a/src/gprs/sgsn_main.c +++ b/src/gprs/sgsn_main.c @@ -500,7 +500,9 @@ int main(int argc, char **argv) #if BUILD_IU /* Note that these are mostly defaults and can be overriden from the VTY */ - sccp = osmo_sccp_simple_client_on_ss7_id(tall_sgsn_ctx, 0, "OsmoSGSN", + sccp = osmo_sccp_simple_client_on_ss7_id(tall_sgsn_ctx, + sgsn->cfg.iu.cs7_instance, + "OsmoSGSN", (23 << 3) + 4, OSMO_SS7_ASP_PROT_M3UA, 0, NULL, diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 66986911..68d3a77f 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -289,6 +289,8 @@ static int config_write_sgsn(struct vty *vty) vty_out(vty, " no compression v42bis%s", VTY_NEWLINE); #ifdef BUILD_IU + vty_out(vty, " cs7-instance-iu %u%s", g_cfg->iu.cs7_instance, + VTY_NEWLINE); ranap_iu_vty_config_write(vty, " "); #endif @@ -1378,6 +1380,17 @@ DEFUN(cfg_comp_v42bisp, cfg_comp_v42bisp_cmd, return CMD_SUCCESS; } +#if BUILD_IU +DEFUN(cfg_sgsn_cs7_instance_iu, + cfg_sgsn_cs7_instance_iu_cmd, + "cs7-instance-iu <0-15>", + "Set SS7 to be used by the Iu-Interface.\n" "SS7 instance reference number (default: 0)\n") +{ + g_cfg->iu.cs7_instance = atoi(argv[0]); + return CMD_SUCCESS; +} +#endif + int sgsn_vty_init(struct sgsn_config *cfg) { g_cfg = cfg; @@ -1441,6 +1454,7 @@ int sgsn_vty_init(struct sgsn_config *cfg) install_element(SGSN_NODE, &cfg_comp_v42bisp_cmd); #ifdef BUILD_IU + install_element(SGSN_NODE, &cfg_sgsn_cs7_instance_iu_cmd); ranap_iu_vty_init(SGSN_NODE, &g_cfg->iu.rab_assign_addr_enc); #endif return 0; -- cgit v1.2.1