vty: Permit selection of other ASP protocol than M3UA
We used to have hard-coded M3UA. Let's allow the user to configure this per MSC using a new "asp-protocol (m3ua|sua|ipa)" VTY command. For SUA this should just work 1:1 without any trouble. For IPA, this of course only changes the underlying transport without reflecting the various differences in terms of BSSMAP ASSIGNMENT, MGCP handling, etc. Change-Id: I0800c709e574cedd7f5dd98be81c78782245cd13 Related: OS#2544
This commit is contained in:
parent
631bde0e9b
commit
3909d99fae
|
@ -110,6 +110,9 @@ struct bsc_msc_data {
|
|||
struct osmo_sccp_instance *sccp;
|
||||
struct osmo_sccp_user *sccp_user;
|
||||
|
||||
/* IPA or M3UA or SUA? */
|
||||
enum osmo_ss7_asp_protocol asp_proto;
|
||||
|
||||
/* Holds a copy of the our local MSC address,
|
||||
* this will be the sccp-address that is associated
|
||||
* with the A interface of this particular BSC,
|
||||
|
|
|
@ -98,6 +98,7 @@ struct bsc_msc_data *osmo_msc_data_alloc(struct gsm_network *net, int nr)
|
|||
|
||||
msc_data->nr = nr;
|
||||
msc_data->allow_emerg = 1;
|
||||
msc_data->a.asp_proto = OSMO_SS7_ASP_PROT_M3UA;
|
||||
|
||||
/* Defaults for the audio setup */
|
||||
msc_data->amr_conf.m5_90 = 1;
|
||||
|
|
|
@ -447,7 +447,7 @@ int osmo_bsc_sigtran_init(struct llist_head *mscs)
|
|||
default_pc = osmo_ss7_pointcode_parse(NULL, BSC_DEFAULT_PC);
|
||||
msc->a.sccp =
|
||||
osmo_sccp_simple_client_on_ss7_id(msc, msc->a.cs7_instance, msc_name, default_pc,
|
||||
OSMO_SS7_ASP_PROT_M3UA, 0, NULL, 0, NULL);
|
||||
msc->a.asp_proto, 0, NULL, 0, NULL);
|
||||
if (!msc->a.sccp)
|
||||
return -EINVAL;
|
||||
|
||||
|
|
|
@ -181,6 +181,7 @@ static void write_msc(struct vty *vty, struct bsc_msc_data *msc)
|
|||
vty_out(vty, " msc-addr %s%s",
|
||||
msc->a.msc_addr_name, VTY_NEWLINE);
|
||||
}
|
||||
vty_out(vty, " asp-protocol %s%s", osmo_ss7_asp_protocol_name(msc->a.asp_proto), VTY_NEWLINE);
|
||||
|
||||
/* write MGW configuration */
|
||||
mgcp_client_config_write(vty, " ");
|
||||
|
@ -672,6 +673,20 @@ DEFUN(cfg_msc_cs7_msc_addr,
|
|||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN(cfg_msc_cs7_asp_proto,
|
||||
cfg_msc_cs7_asp_proto_cmd,
|
||||
"asp-protocol (m3ua|sua|ipa)",
|
||||
"A interface protocol to use for this MSC)\n"
|
||||
"MTP3 User Adaptation\n"
|
||||
"SCCP User Adaptation\n"
|
||||
"IPA Multiplex (SCCP Lite)\n")
|
||||
{
|
||||
struct bsc_msc_data *msc = bsc_msc_data(vty);
|
||||
|
||||
msc->a.asp_proto = get_string_value(osmo_ss7_asp_protocol_vals, argv[0]);
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN(cfg_net_bsc_mid_call_text,
|
||||
cfg_net_bsc_mid_call_text_cmd,
|
||||
"mid-call-text .TEXT",
|
||||
|
@ -951,6 +966,7 @@ int bsc_vty_init_extra(void)
|
|||
install_element(MSC_NODE, &cfg_msc_no_acc_lst_name_cmd);
|
||||
install_element(MSC_NODE, &cfg_msc_cs7_bsc_addr_cmd);
|
||||
install_element(MSC_NODE, &cfg_msc_cs7_msc_addr_cmd);
|
||||
install_element(MSC_NODE, &cfg_msc_cs7_asp_proto_cmd);
|
||||
|
||||
/* Deprecated: ping time config, kept to support legacy config files. */
|
||||
install_element(MSC_NODE, &cfg_net_msc_no_ping_time_cmd);
|
||||
|
|
Loading…
Reference in New Issue