diff --git a/db/jambones-sql.sql b/db/jambones-sql.sql index 2f367f24..19776da9 100644 --- a/db/jambones-sql.sql +++ b/db/jambones-sql.sql @@ -162,7 +162,7 @@ regex VARCHAR(32) NOT NULL COMMENT 'regex-based pattern match against dialed num description VARCHAR(1024), priority INTEGER NOT NULL COMMENT 'lower priority routes are attempted first', PRIMARY KEY (lcr_route_sid) -) COMMENT='An ordered list of digit patterns in an LCR table. The patterns are tested in sequence until one matches'; +) COMMENT='An ordered list of digit patterns in an LCR table. The pat'; CREATE TABLE lcr ( @@ -173,7 +173,7 @@ default_carrier_set_entry_sid CHAR(36) COMMENT 'default carrier/route to use whe service_provider_sid CHAR(36), account_sid CHAR(36), PRIMARY KEY (lcr_sid) -) COMMENT='An LCR (least cost routing) table that is used by a service provider or account to make decisions about routing outbound calls when multiple carriers are available.'; +) COMMENT='An LCR (least cost routing) table that is used by a service '; CREATE TABLE password_settings ( @@ -358,7 +358,8 @@ CREATE TABLE system_information ( domain_name VARCHAR(255), sip_domain_name VARCHAR(255), -monitoring_domain_name VARCHAR(255) +monitoring_domain_name VARCHAR(255), +private_network_cidr VARCHAR(8192) ); CREATE TABLE users diff --git a/db/jambones.sqs b/db/jambones.sqs index cad0be22..4c8cf59f 100644 --- a/db/jambones.sqs +++ b/db/jambones.sqs @@ -2808,7 +2808,7 @@ 266.00 - 80.00 + 100.00 35 @@ -2826,6 +2826,11 @@ + + + + + @@ -3115,14 +3120,14 @@ - + - + - - - + + + diff --git a/db/upgrade-jambonz-db.js b/db/upgrade-jambonz-db.js index 28c69d0a..5aa97eab 100644 --- a/db/upgrade-jambonz-db.js +++ b/db/upgrade-jambonz-db.js @@ -197,6 +197,9 @@ const sql = { 'ALTER TABLE applications MODIFY COLUMN speech_synthesis_voice VARCHAR(256)', 'ALTER TABLE applications MODIFY COLUMN fallback_speech_synthesis_voice VARCHAR(256)', 'ALTER TABLE sip_gateways ADD COLUMN use_sips_scheme BOOLEAN NOT NULL DEFAULT 0', + ], + 9002: [ + 'ALTER TABLE system_information ADD COLUMN private_network_cidr VARCHAR(8192)', ] }; @@ -230,6 +233,7 @@ const doIt = async() => { if (val < 8004) upgrades.push(...sql['8004']); if (val < 8005) upgrades.push(...sql['8005']); if (val < 9000) upgrades.push(...sql['9000']); + if (val < 9002) upgrades.push(...sql['9002']); // perform all upgrades logger.info({upgrades}, 'applying schema upgrades..'); diff --git a/lib/models/system-information.js b/lib/models/system-information.js index e76db040..482f977a 100644 --- a/lib/models/system-information.js +++ b/lib/models/system-information.js @@ -33,6 +33,10 @@ SystemInformation.fields = [ name: 'monitoring_domain_name', type: 'string', }, + { + name: 'private_network_cidr', + type: 'string', + }, ]; module.exports = SystemInformation; diff --git a/test/system-information.js b/test/system-information.js index 852c14a8..97d034b9 100644 --- a/test/system-information.js +++ b/test/system-information.js @@ -16,7 +16,8 @@ test('system information test', async(t) => { body: { domain_name: 'test.com', sip_domain_name: 'sip.test.com', - monitoring_domain_name: 'monitor.test.com' + monitoring_domain_name: 'monitor.test.com', + private_network_cidr: '192.168.1.0/24, 10.10.100.1' } }); t.ok(result.statusCode === 201, 'successfully created system information '); @@ -24,6 +25,7 @@ test('system information test', async(t) => { t.ok(body.domain_name === 'test.com', 'added domain_name ok'); t.ok(body.sip_domain_name === 'sip.test.com', 'added sip_domain_name ok'); t.ok(body.monitoring_domain_name === 'monitor.test.com', 'added monitoring_domain_name ok'); + t.ok(body.private_network_cidr === '192.168.1.0/24, 10.10.100.1', 'added private_network_cidr ok'); result = await request.get('/SystemInformation', { auth: authAdmin, @@ -32,6 +34,7 @@ test('system information test', async(t) => { t.ok(result.domain_name === 'test.com', 'get domain_name ok'); t.ok(result.sip_domain_name === 'sip.test.com', 'get sip_domain_name ok'); t.ok(result.monitoring_domain_name === 'monitor.test.com', 'get monitoring_domain_name ok'); + t.ok(result.private_network_cidr === '192.168.1.0/24, 10.10.100.1', 'get private_network_cidr ok'); result = await request.post('/SystemInformation', { resolveWithFullResponse: true, @@ -40,7 +43,8 @@ test('system information test', async(t) => { body: { domain_name: 'test1.com', sip_domain_name: 'sip1.test.com', - monitoring_domain_name: 'monitor1.test.com' + monitoring_domain_name: 'monitor1.test.com', + private_network_cidr: '' } }); t.ok(result.statusCode === 201, 'successfully updated system information '); @@ -48,6 +52,7 @@ test('system information test', async(t) => { t.ok(body.domain_name === 'test1.com', 'updated domain_name ok'); t.ok(body.sip_domain_name === 'sip1.test.com', 'updated sip_domain_name ok'); t.ok(body.monitoring_domain_name === 'monitor1.test.com', 'updated monitoring_domain_name ok'); + t.ok(body.private_network_cidr === '', 'updated private_network_cidr ok'); result = await request.get('/SystemInformation', { auth: authAdmin,