Hello community.
We have decided to completely reinstall GenieACS with the latest version (1.2.8). Internet provisioning also works very well. We have problems with telephony provisioning. As soon as more than one phone number is assigned to the customer, we get a commit error.
We increased the MAX_ITERATIONS to 64 in “genieacs.env”. That didn’t fix the error. Where can this be adjusted? Or can we write the template differently?
BR Tim
Our config:
let prov_data = {
"voip": {
"sip_account": [
{
"id": 1,
"number": "###SIP-Rufnummer nth (0)###",
"area_code": "###SIP-Vorwahl-Mod0 nth (0)###",
"sip_user": "###SIP-Benutzer nth (0)###",
"domain": "###Registrar###",
"password": "###SIP-Passwort nth (0)###",
"status": "active",
"cancelled_on": null
},
{
"id": 2,
"number": "###SIP-Rufnummer nth (1)###",
"area_code": "###SIP-Vorwahl-Mod0 nth (1)###",
"sip_user": "###SIP-Benutzer nth (1)###",
"domain": "###Registrar###",
"password": "###SIP-Passwort nth (1)###",
"status": "active",
"cancelled_on": null
},
{
"id": 3,
"number": "###SIP-Rufnummer nth (2)###",
"area_code": "###SIP-Vorwahl-Mod0 nth (2)###",
"sip_user": "###SIP-Benutzer nth (2)###",
"domain": "###Registrar###",
"password": "###SIP-Passwort nth (2)###",
"status": "active",
"cancelled_on": null
},
]
}
}
let path = "InternetGatewayDevice.Services.VoiceService.2.VoiceProfile."
for (let [index, account] of Object.entries(prov_data.voip.sip_account)) {
let elementExists = declare(path + account.id + ".Line.1.DirectoryNumber", { value: 1, object: 1 }, null);
if (account.number !== "" ) {
if (elementExists.value) {
updateProfile(account);
} else {
addNewProfile(account);
}
}
}
declare("InternetGatewayDevice.Services.VoiceService.2.VoiceProfileNumberOfEntries", { path: Date.now() }, { value: prov_data.voip.sip_account.length });
function updateProfile(account) {
let identifier = path + account.id;
let now = Date.now();
declare(identifier + ".Enable", { path: now }, { value: "Enabled" });
declare(identifier + ".SIP.RegistrarServer", { path: now }, { value: account.domain });
declare(identifier + ".Line.1.SIP.AuthUserName", { path: now }, { value: account.sip_user });
declare(identifier + ".Line.1.SIP.AuthPassword", { path: now }, { value: account.password });
declare(identifier + ".Line.1.SIP.X_AVM-DE_CountryCode", { path: now }, { value: "49" });
declare(identifier + ".Line.1.SIP.X_AVM-DE_OKZ", { path: now }, { value: account.area_code });
declare(identifier + ".Line.1.SIP.X_AVM-DE_ProtocolPrefer", { path: now }, { value: 1 });
declare(identifier + ".Line.1.SIP.X_AVM-DE_CallingFeatures", { path: now }, { value: 0 });
declare(identifier + ".DTMFMethod", { path: now }, { value: "RFC2833" });
declare(identifier + ".X_AVM-DE_BackupConnectionFailOver", { path: now }, { value: "false" });
declare(identifier + ".Line.1.SIP.X_AVM-DE_CLIRType", { path: now }, { value: 6 });
declare(identifier + ".Line.1.DirectoryNumber", { path: now }, { value: account.number });
declare(identifier + ".X_AVM-DE_GUI_ReadOnly", { path: now }, { value: "false" });
declare(identifier + ".X_AVM-DE_route_always_over_internet", { path: now }, { value: "true" });
}
function addNewProfile(account) {
let identifier = path + account.id;
let now = Date.now();
declare(path + "[X_AVM-DE_EPC:" + account.number + "]", { path: now }, { path: 1});
commit();
declare(identifier + ".Enable", { path: now }, { value: "Enabled" });
declare(identifier + ".SIP.RegistrarServer", { path: now }, { value: account.domain });
declare(identifier + ".Line.1.SIP.AuthUserName", { path: now }, { value: account.sip_user });
declare(identifier + ".Line.1.SIP.AuthPassword", { path: now }, { value: account.password });
declare(identifier + ".Line.1.SIP.X_AVM-DE_CountryCode", { path: now }, { value: "49" });
declare(identifier + ".Line.1.SIP.X_AVM-DE_OKZ", { path: now }, { value: account.area_code });
declare(identifier + ".Line.1.SIP.X_AVM-DE_ProtocolPrefer", { path: now }, { value: 1 });
declare(identifier + ".Line.1.SIP.X_AVM-DE_CallingFeatures", { path: now }, { value: 0 });
declare(identifier + ".DTMFMethod", { path: now }, { value: "RFC2833" });
declare(identifier + ".X_AVM-DE_BackupConnectionFailOver", { path: now }, { value: "false" });
declare(identifier + ".Line.1.SIP.X_AVM-DE_CLIRType", { path: now }, { value: 6 });
declare(identifier + ".Line.1.DirectoryNumber", { path: now }, { value: account.number });
declare(identifier + ".X_AVM-DE_GUI_ReadOnly", { path: now }, { value: "false" });
declare(identifier + ".X_AVM-DE_route_always_over_internet", { path: now }, { value: "true" });
}
declare("Tags.voip", null, {value: true});
return;