mirror of
https://dev.iopsys.eu/bbf/icwmp.git
synced 2026-03-13 04:28:33 +01:00
Ticket #8946 : update instance and alias managment when add and delete line object
This commit is contained in:
parent
5f1cba41da
commit
bcfbcc02f5
1 changed files with 14 additions and 21 deletions
|
|
@ -254,6 +254,7 @@ int delete_associated_line_instances(char *sip_id)
|
|||
uci_foreach_option_eq("voice_client", "brcm_line", "sip_account", sip_id, s) {
|
||||
dmuci_set_value_by_section(s, "sip_account", "-");
|
||||
dmuci_set_value_by_section(s, "lineinstance", "");
|
||||
dmuci_set_value_by_section(s, "linealias", "");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -348,34 +349,24 @@ char *update_vp_line_instance_alias(int action, char **last_inst, void *argv[])
|
|||
char *sipx = (char *) argv[1];
|
||||
|
||||
dmuci_get_value_by_section_string(brcm_s, "lineinstance", &instance);
|
||||
if (instance[0] != '\0') {
|
||||
if (action == INSTANCE_MODE_ALIAS) {
|
||||
dmuci_get_value_by_section_string(brcm_s, "linealias", &alias);
|
||||
if (alias[0] == '\0') {
|
||||
sprintf(buf, "cpe-%s", instance);
|
||||
alias = dmuci_set_value_by_section(brcm_s, "linealias", buf);
|
||||
if (instance[0] == '\0') {
|
||||
uci_foreach_option_eq("voice_client", "brcm_line", "sip_account", sipx, s) {
|
||||
dmuci_get_value_by_section_string(s, "lineinstance", &instance);
|
||||
if (instance[0] != '\0') {
|
||||
i_instance = atoi(instance);
|
||||
if ( i_instance > last_instance)
|
||||
last_instance = i_instance;
|
||||
}
|
||||
sprintf(buf, "[%s]", alias);
|
||||
instance = dmstrdup(buf);
|
||||
}
|
||||
return instance;
|
||||
sprintf(buf, "%d", last_instance + 1);
|
||||
instance = dmuci_set_value_by_section(brcm_s, "lineinstance", buf);
|
||||
}
|
||||
uci_foreach_option_eq("voice_client", "brcm_line", "sip_account", sipx, s) {
|
||||
dmuci_get_value_by_section_string(s, "lineinstance", &instance);
|
||||
if (instance[0] != '\0') {
|
||||
i_instance = atoi(instance);
|
||||
if ( i_instance > last_instance)
|
||||
last_instance = i_instance;
|
||||
}
|
||||
}
|
||||
sprintf(buf, "%d", last_instance + 1);
|
||||
instance = dmuci_set_value_by_section(brcm_s, "lineinstance", buf);
|
||||
*last_inst = instance;
|
||||
if (action == INSTANCE_MODE_ALIAS) {
|
||||
dmuci_get_value_by_section_string(s, "linealias", &alias);
|
||||
dmuci_get_value_by_section_string(brcm_s, "linealias", &alias);
|
||||
if (alias[0] == '\0') {
|
||||
sprintf(buf, "cpe-%s", instance);
|
||||
alias = dmuci_set_value_by_section(s, "linealias", buf);
|
||||
alias = dmuci_set_value_by_section(brcm_s, "linealias", buf);
|
||||
}
|
||||
sprintf(buf, "[%s]", alias);
|
||||
instance = dmstrdup(buf);
|
||||
|
|
@ -425,6 +416,7 @@ int delete_line(struct uci_section *line_section, struct uci_section *sip_sectio
|
|||
line_id = section_name + sizeof("brcm") - 1;
|
||||
dmuci_set_value_by_section(line_section, "sip_account", "-");
|
||||
dmuci_set_value_by_section(line_section, "lineinstance", "");
|
||||
dmuci_set_value_by_section(line_section, "linealias", "");
|
||||
dmuci_get_value_by_section_string(sip_section, "call_lines", &value);
|
||||
call_lines = dmstrdup(value);
|
||||
pch = strtok_r(call_lines, " ", &spch);
|
||||
|
|
@ -1456,6 +1448,7 @@ int set_line_x_002207_brcm_line(char *refparam, struct dmctx *ctx, int action, c
|
|||
dmuci_get_value_by_section_string(brcmargs->brcm_section, "sip_account", &sipaccount);
|
||||
dmuci_get_value_by_section_string(brcmargs->brcm_section, "lineinstance", &lineinstance);
|
||||
dmuci_set_value_by_section(brcmargs->brcm_section, "lineinstance", "");
|
||||
dmuci_set_value_by_section(brcmargs->brcm_section, "linealias", "");
|
||||
dmuci_set_value_by_section(brcmargs->brcm_section, "sip_account", "-");
|
||||
dmuci_set_value("voice_client", bname, "sip_account", sipaccount);
|
||||
dmuci_set_value("voice_client", bname, "lineinstance", lineinstance);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue