vty: Introduce cs7-instance-iu

Similar to what we already have in osmo-msc.

Change-Id: Iaa9e1d06dd0430848ef4f7498a3c15d13f899904
This commit is contained in:
Pau Espin 2019-08-19 19:06:06 +02:00
parent 1aaeea4900
commit 2c90899bc4
5 changed files with 25 additions and 1 deletions

View File

@ -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

View File

@ -2502,6 +2502,12 @@
<param name='passive' doc='Compression is available on request' />
</params>
</command>
<command id='cs7-instance-iu &lt;0-15&gt;'>
<params>
<param name='cs7-instance-iu' doc='Set SS7 to be used by the Iu-Interface.' />
<param name='&lt;0-15&gt;' doc='SS7 instance reference number (default: 0)' />
</params>
</command>
<command id='iu rab-assign-addr-enc (x213|v4raw)'>
<params>
<param name='iu' doc='Iu interface protocol options' />

View File

@ -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

View File

@ -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,

View File

@ -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;