From e2e6425cc60f0d7ee4e8ad0215d4083f66b5ca95 Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Wed, 29 Jan 2020 14:13:47 -0500 Subject: [PATCH] update to latest db version --- lib/call-session.js | 7 +- lib/middleware.js | 10 +- package-lock.json | 20 ++-- package.json | 4 +- test/db/jambones-sql.sql | 189 ++++++++++++++++++-------------- test/db/populate-test-data.sql | 10 +- test/db/populate-test-data2.sql | 11 +- test/db/populate-test-data3.sql | 10 +- test/db/populate-test-data4.sql | 10 +- 9 files changed, 156 insertions(+), 115 deletions(-) diff --git a/lib/call-session.js b/lib/call-session.js index 4da2619..2437815 100644 --- a/lib/call-session.js +++ b/lib/call-session.js @@ -37,7 +37,11 @@ class CallSession extends Emitter { else { debug('calling lcr'); try { - uris = await this.performLcr(this.req.calledNumber); + // strip leading plus sign + const routableNumber = this.req.calledNumber.startsWith('+') ? + this.req.calledNumber.slice(1) : + this.req.calledNumber; + uris = await this.performLcr(routableNumber); if (!uris || uris.length === 0) throw new Error('no routes found'); } catch (err) { debug(err); @@ -103,6 +107,7 @@ class CallSession extends Emitter { if (err instanceof SipError) this.logger.info(`final call failure ${err.status}`); else this.logger.error(err, 'unexpected call failure'); debug(`got final outdial error: ${err}`); + this.res.send(err.status || 500); this.emit('failed'); this.rtpEngineResource.destroy(); break; diff --git a/lib/middleware.js b/lib/middleware.js index 56273d9..bbb50c0 100644 --- a/lib/middleware.js +++ b/lib/middleware.js @@ -26,18 +26,18 @@ function route(opts) { let reg; if (!/^[0-9\.]+$/.test(uri.host)) { // uri host is not a dot-decimal address, so try to look up user - debug(`searching for registered user ${aor}`); + logger.debug(`searching for registered user ${aor}`); reg = await registrar.query(aor); if (reg) { // user is registered..find out which sbc is handling it // us => we can put the call through // other sbc => proxy the call there - debug(`found registered user ${JSON.stringify(reg)}`); + logger.debug(`found registered user ${JSON.stringify(reg)}`); if (req.server.hostport !== reg.sbcAddress) { //proxy const proxyAddress = selectHostPort(reg.sbcAddress, 'udp'); logger.info(`proxying call to SBC at ${proxyAddress}`); - debug(`proxying call to SBC at ${proxyAddress}`); + logger.debug(`proxying call to SBC at ${proxyAddress}`); req.proxy(`sip:${proxyAddress[1]}`); return; } @@ -47,8 +47,8 @@ function route(opts) { } } - // if the called number is digits only and long enough, do lcr - if (!/^\d+$/.test(req.calledNumber) || req.calledNumber.length < 8) { + // if the called number is digits only (after possible leading plus sign) and long enough, do lcr + if (!/^\d+$/.test(req.calledNumber.slice(1)) || req.calledNumber.length < 8) { debug(`unable to route call to ${aor}; no registered user found`); logger.info(`unable to route call to ${aor}; no registered user found`); return res.send(404); diff --git a/package-lock.json b/package-lock.json index 0405824..fbc7bd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "sbc-outbound", - "version": "0.0.1", + "version": "0.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1408,9 +1408,9 @@ } }, "iconv-lite": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz", - "integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz", + "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -1809,9 +1809,9 @@ } }, "jambonz-db-helpers": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/jambonz-db-helpers/-/jambonz-db-helpers-0.1.5.tgz", - "integrity": "sha512-gYCvfgFUNWf5gNPG6GilkySbWvLnKN9fwUa+lhPjhglszVlyhXYAzoFXJvjvVYxFKr/UVhc5djY3Os4M2MJtIw==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/jambonz-db-helpers/-/jambonz-db-helpers-0.2.0.tgz", + "integrity": "sha512-AykK4ICzUl5/LaNQGZdy8dlWuv8nOSSRVAqQDztJvdmJHyl4wTEC+///pKNgQlm+RX7R3vCV7dFCVoTHuIAx3A==", "requires": { "debug": "^4.1.1", "mysql2": "^2.0.2" @@ -2116,9 +2116,9 @@ "dev": true }, "mysql2": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.0.2.tgz", - "integrity": "sha512-n9Tiw8LzrfOnH1CLFw0AWJlkQLOWMSr2Q+/aF5jRJ7SRRJLGrY9FidhyoTEhF0FxQYE+xABvXwiZl4b61Mt4eg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.1.0.tgz", + "integrity": "sha512-9kGVyi930rG2KaHrz3sHwtc6K+GY9d8wWk1XRSYxQiunvGcn4DwuZxOwmK11ftuhhwrYDwGx9Ta4VBwznJn36A==", "requires": { "cardinal": "^2.1.1", "denque": "^1.4.1", diff --git a/package.json b/package.json index 5a80775..0a1c72c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sbc-outbound", - "version": "0.1.0", + "version": "0.2.0", "main": "app.js", "engines": { "node": ">= 8.10.0" @@ -31,7 +31,7 @@ "debug": "^4.1.1", "drachtio-fn-b2b-sugar": "^0.0.12", "drachtio-srf": "^4.4.24", - "jambonz-db-helpers": "^0.1.5", + "jambonz-db-helpers": "^0.2.0", "jambonz-mw-registrar": "^0.1.0", "pino": "^5.14.0", "rtpengine-client": "^0.0.8" diff --git a/test/db/jambones-sql.sql b/test/db/jambones-sql.sql index a36f834..badd6ef 100644 --- a/test/db/jambones-sql.sql +++ b/test/db/jambones-sql.sql @@ -5,50 +5,42 @@ DROP TABLE IF EXISTS `call_routes`; DROP TABLE IF EXISTS `conference_participants`; -DROP TABLE IF EXISTS `queue_members`; - -DROP TABLE IF EXISTS `calls`; - -DROP TABLE IF EXISTS `phone_numbers`; - -DROP TABLE IF EXISTS `applications`; - DROP TABLE IF EXISTS `conferences`; DROP TABLE IF EXISTS `lcr_carrier_set_entry`; DROP TABLE IF EXISTS `lcr_routes`; +DROP TABLE IF EXISTS `queue_members`; + DROP TABLE IF EXISTS `queues`; +DROP TABLE IF EXISTS `calls`; + DROP TABLE IF EXISTS `subscriptions`; DROP TABLE IF EXISTS `registrations`; DROP TABLE IF EXISTS `api_keys`; -DROP TABLE IF EXISTS `accounts`; - -DROP TABLE IF EXISTS `service_providers`; +DROP TABLE IF EXISTS `phone_numbers`; DROP TABLE IF EXISTS `sip_gateways`; DROP TABLE IF EXISTS `voip_carriers`; -CREATE TABLE IF NOT EXISTS `applications` -( -`application_sid` CHAR(36) NOT NULL UNIQUE , -`name` VARCHAR(255) NOT NULL, -`account_sid` CHAR(36) NOT NULL, -`call_hook` VARCHAR(255) NOT NULL, -`call_status_hook` VARCHAR(255) NOT NULL, -PRIMARY KEY (`application_sid`) -) ENGINE=InnoDB COMMENT='A defined set of behaviors to be applied to phone calls with'; +DROP TABLE IF EXISTS `applications`; + +DROP TABLE IF EXISTS `accounts`; + +DROP TABLE IF EXISTS `service_providers`; + +DROP TABLE IF EXISTS `webhooks`; CREATE TABLE IF NOT EXISTS `call_routes` ( `call_route_sid` CHAR(36) NOT NULL UNIQUE , -`order` INTEGER NOT NULL, +`priority` INTEGER NOT NULL, `account_sid` CHAR(36) NOT NULL, `regex` VARCHAR(255) NOT NULL, `application_sid` CHAR(36) NOT NULL, @@ -142,18 +134,6 @@ CREATE TABLE IF NOT EXISTS `calls` PRIMARY KEY (`call_sid`) ) ENGINE=InnoDB COMMENT='A phone call'; -CREATE TABLE IF NOT EXISTS `service_providers` -( -`service_provider_sid` CHAR(36) NOT NULL UNIQUE , -`name` VARCHAR(255) NOT NULL UNIQUE , -`description` VARCHAR(255), -`root_domain` VARCHAR(255) UNIQUE , -`registration_hook` VARCHAR(255), -`hook_basic_auth_user` VARCHAR(255), -`hook_basic_auth_password` VARCHAR(255), -PRIMARY KEY (`service_provider_sid`) -) ENGINE=InnoDB COMMENT='An organization that provides communication services to its '; - CREATE TABLE IF NOT EXISTS `api_keys` ( `api_key_sid` CHAR(36) NOT NULL UNIQUE , @@ -163,19 +143,6 @@ CREATE TABLE IF NOT EXISTS `api_keys` PRIMARY KEY (`api_key_sid`) ) ENGINE=InnoDB COMMENT='An authorization token that is used to access the REST api'; -CREATE TABLE IF NOT EXISTS `accounts` -( -`account_sid` CHAR(36) NOT NULL UNIQUE , -`name` VARCHAR(255) NOT NULL, -`sip_realm` VARCHAR(255) UNIQUE , -`service_provider_sid` CHAR(36) NOT NULL, -`registration_hook` VARCHAR(255), -`hook_basic_auth_user` VARCHAR(255), -`hook_basic_auth_password` VARCHAR(255), -`is_active` BOOLEAN NOT NULL DEFAULT true, -PRIMARY KEY (`account_sid`) -) ENGINE=InnoDB COMMENT='A single end-user of the platform'; - CREATE TABLE IF NOT EXISTS `subscriptions` ( `id` INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE , @@ -193,6 +160,16 @@ CREATE TABLE IF NOT EXISTS `voip_carriers` PRIMARY KEY (`voip_carrier_sid`) ) ENGINE=InnoDB COMMENT='An external organization that can provide sip trunking and D'; +CREATE TABLE IF NOT EXISTS `webhooks` +( +`webhook_sid` CHAR(36) NOT NULL UNIQUE , +`url` VARCHAR(255) NOT NULL, +`method` ENUM("get","post") NOT NULL DEFAULT 'post', +`username` VARCHAR(255), +`password` VARCHAR(255), +PRIMARY KEY (`webhook_sid`) +); + CREATE TABLE IF NOT EXISTS `phone_numbers` ( `phone_number_sid` CHAR(36) UNIQUE , @@ -203,6 +180,16 @@ CREATE TABLE IF NOT EXISTS `phone_numbers` PRIMARY KEY (`phone_number_sid`) ) ENGINE=InnoDB COMMENT='A phone number that has been assigned to an account'; +CREATE TABLE IF NOT EXISTS `lcr_carrier_set_entry` +( +`lcr_carrier_set_entry_sid` CHAR(36), +`workload` INTEGER NOT NULL DEFAULT 1, +`lcr_route_sid` CHAR(36) NOT NULL, +`voip_carrier_sid` CHAR(36) NOT NULL, +`priority` INTEGER NOT NULL DEFAULT 0, +PRIMARY KEY (`lcr_carrier_set_entry_sid`) +); + CREATE TABLE IF NOT EXISTS `sip_gateways` ( `sip_gateway_sid` CHAR(36), @@ -215,25 +202,45 @@ CREATE TABLE IF NOT EXISTS `sip_gateways` PRIMARY KEY (`sip_gateway_sid`) ); -CREATE TABLE IF NOT EXISTS `lcr_carrier_set_entry` +CREATE TABLE IF NOT EXISTS `applications` ( -`lcr_carrier_set_entry_sid` CHAR(36), -`workload` INTEGER NOT NULL DEFAULT 1, -`lcr_route_sid` CHAR(36) NOT NULL, -`voip_carrier_sid` CHAR(36) NOT NULL, -`priority` INTEGER NOT NULL DEFAULT 0, -PRIMARY KEY (`lcr_carrier_set_entry_sid`) -); +`application_sid` CHAR(36) NOT NULL UNIQUE , +`name` VARCHAR(255) NOT NULL, +`account_sid` CHAR(36) NOT NULL, +`call_hook_sid` CHAR(36), +`call_status_hook_sid` CHAR(36), +`speech_synthesis_vendor` VARCHAR(64) NOT NULL DEFAULT 'google', +`speech_synthesis_voice` VARCHAR(64) NOT NULL DEFAULT 'en-US-Wavenet-C', +`speech_recognizer_vendor` VARCHAR(64) NOT NULL DEFAULT 'google', +`speech_recognizer_language` VARCHAR(64) NOT NULL DEFAULT 'en-US', +PRIMARY KEY (`application_sid`) +) ENGINE=InnoDB COMMENT='A defined set of behaviors to be applied to phone calls with'; -CREATE UNIQUE INDEX `applications_idx_name` ON `applications` (`account_sid`,`name`); +CREATE TABLE IF NOT EXISTS `service_providers` +( +`service_provider_sid` CHAR(36) NOT NULL UNIQUE , +`name` VARCHAR(255) NOT NULL UNIQUE , +`description` VARCHAR(255), +`root_domain` VARCHAR(255) UNIQUE , +`registration_hook_sid` CHAR(36), +PRIMARY KEY (`service_provider_sid`) +) ENGINE=InnoDB COMMENT='An organization that provides communication services to its '; -CREATE INDEX `applications_application_sid_idx` ON `applications` (`application_sid`); -CREATE INDEX `applications_name_idx` ON `applications` (`name`); -CREATE INDEX `applications_account_sid_idx` ON `applications` (`account_sid`); -ALTER TABLE `applications` ADD FOREIGN KEY account_sid_idxfk (`account_sid`) REFERENCES `accounts` (`account_sid`); +CREATE TABLE IF NOT EXISTS `accounts` +( +`account_sid` CHAR(36) NOT NULL UNIQUE , +`name` VARCHAR(255) NOT NULL, +`sip_realm` VARCHAR(255) UNIQUE , +`service_provider_sid` CHAR(36) NOT NULL, +`registration_hook_sid` CHAR(36), +`device_calling_hook_sid` CHAR(36), +`error_hook_sid` CHAR(36), +`is_active` BOOLEAN NOT NULL DEFAULT true, +PRIMARY KEY (`account_sid`) +) ENGINE=InnoDB COMMENT='A single end-user of the platform'; CREATE INDEX `call_routes_call_route_sid_idx` ON `call_routes` (`call_route_sid`); -ALTER TABLE `call_routes` ADD FOREIGN KEY account_sid_idxfk_1 (`account_sid`) REFERENCES `accounts` (`account_sid`); +ALTER TABLE `call_routes` ADD FOREIGN KEY account_sid_idxfk (`account_sid`) REFERENCES `accounts` (`account_sid`); ALTER TABLE `call_routes` ADD FOREIGN KEY application_sid_idxfk (`application_sid`) REFERENCES `applications` (`application_sid`); @@ -262,38 +269,58 @@ ALTER TABLE `calls` ADD FOREIGN KEY inbound_user_sid_idxfk (`inbound_user_sid`) ALTER TABLE `calls` ADD FOREIGN KEY outbound_user_sid_idxfk (`outbound_user_sid`) REFERENCES `registrations` (`registration_sid`); -CREATE INDEX `service_providers_service_provider_sid_idx` ON `service_providers` (`service_provider_sid`); -CREATE INDEX `service_providers_name_idx` ON `service_providers` (`name`); -CREATE INDEX `service_providers_root_domain_idx` ON `service_providers` (`root_domain`); CREATE INDEX `api_keys_api_key_sid_idx` ON `api_keys` (`api_key_sid`); CREATE INDEX `api_keys_account_sid_idx` ON `api_keys` (`account_sid`); -ALTER TABLE `api_keys` ADD FOREIGN KEY account_sid_idxfk_2 (`account_sid`) REFERENCES `accounts` (`account_sid`); +ALTER TABLE `api_keys` ADD FOREIGN KEY account_sid_idxfk_1 (`account_sid`) REFERENCES `accounts` (`account_sid`); CREATE INDEX `api_keys_service_provider_sid_idx` ON `api_keys` (`service_provider_sid`); ALTER TABLE `api_keys` ADD FOREIGN KEY service_provider_sid_idxfk (`service_provider_sid`) REFERENCES `service_providers` (`service_provider_sid`); +ALTER TABLE `subscriptions` ADD FOREIGN KEY registration_sid_idxfk (`registration_sid`) REFERENCES `registrations` (`registration_sid`); + +CREATE INDEX `voip_carriers_voip_carrier_sid_idx` ON `voip_carriers` (`voip_carrier_sid`); +CREATE INDEX `voip_carriers_name_idx` ON `voip_carriers` (`name`); +CREATE INDEX `webhooks_webhook_sid_idx` ON `webhooks` (`webhook_sid`); +CREATE INDEX `phone_numbers_phone_number_sid_idx` ON `phone_numbers` (`phone_number_sid`); +CREATE INDEX `phone_numbers_voip_carrier_sid_idx` ON `phone_numbers` (`voip_carrier_sid`); +ALTER TABLE `phone_numbers` ADD FOREIGN KEY voip_carrier_sid_idxfk (`voip_carrier_sid`) REFERENCES `voip_carriers` (`voip_carrier_sid`); + +ALTER TABLE `phone_numbers` ADD FOREIGN KEY account_sid_idxfk_2 (`account_sid`) REFERENCES `accounts` (`account_sid`); + +ALTER TABLE `phone_numbers` ADD FOREIGN KEY application_sid_idxfk_2 (`application_sid`) REFERENCES `applications` (`application_sid`); + +ALTER TABLE `lcr_carrier_set_entry` ADD FOREIGN KEY lcr_route_sid_idxfk (`lcr_route_sid`) REFERENCES `lcr_routes` (`lcr_route_sid`); + +ALTER TABLE `lcr_carrier_set_entry` ADD FOREIGN KEY voip_carrier_sid_idxfk_1 (`voip_carrier_sid`) REFERENCES `voip_carriers` (`voip_carrier_sid`); + +CREATE UNIQUE INDEX `sip_gateways_sip_gateway_idx_hostport` ON `sip_gateways` (`ipv4`,`port`); + +ALTER TABLE `sip_gateways` ADD FOREIGN KEY voip_carrier_sid_idxfk_2 (`voip_carrier_sid`) REFERENCES `voip_carriers` (`voip_carrier_sid`); + +CREATE UNIQUE INDEX `applications_idx_name` ON `applications` (`account_sid`,`name`); + +CREATE INDEX `applications_application_sid_idx` ON `applications` (`application_sid`); +CREATE INDEX `applications_name_idx` ON `applications` (`name`); +CREATE INDEX `applications_account_sid_idx` ON `applications` (`account_sid`); +ALTER TABLE `applications` ADD FOREIGN KEY account_sid_idxfk_3 (`account_sid`) REFERENCES `accounts` (`account_sid`); + +ALTER TABLE `applications` ADD FOREIGN KEY call_hook_sid_idxfk (`call_hook_sid`) REFERENCES `webhooks` (`webhook_sid`); + +ALTER TABLE `applications` ADD FOREIGN KEY call_status_hook_sid_idxfk (`call_status_hook_sid`) REFERENCES `webhooks` (`webhook_sid`); + +CREATE INDEX `service_providers_service_provider_sid_idx` ON `service_providers` (`service_provider_sid`); +CREATE INDEX `service_providers_name_idx` ON `service_providers` (`name`); +CREATE INDEX `service_providers_root_domain_idx` ON `service_providers` (`root_domain`); +ALTER TABLE `service_providers` ADD FOREIGN KEY registration_hook_sid_idxfk (`registration_hook_sid`) REFERENCES `webhooks` (`webhook_sid`); + CREATE INDEX `accounts_account_sid_idx` ON `accounts` (`account_sid`); CREATE INDEX `accounts_name_idx` ON `accounts` (`name`); CREATE INDEX `accounts_sip_realm_idx` ON `accounts` (`sip_realm`); CREATE INDEX `accounts_service_provider_sid_idx` ON `accounts` (`service_provider_sid`); ALTER TABLE `accounts` ADD FOREIGN KEY service_provider_sid_idxfk_1 (`service_provider_sid`) REFERENCES `service_providers` (`service_provider_sid`); -ALTER TABLE `subscriptions` ADD FOREIGN KEY registration_sid_idxfk (`registration_sid`) REFERENCES `registrations` (`registration_sid`); +ALTER TABLE `accounts` ADD FOREIGN KEY registration_hook_sid_idxfk_1 (`registration_hook_sid`) REFERENCES `webhooks` (`webhook_sid`); -CREATE INDEX `voip_carriers_voip_carrier_sid_idx` ON `voip_carriers` (`voip_carrier_sid`); -CREATE INDEX `voip_carriers_name_idx` ON `voip_carriers` (`name`); -CREATE INDEX `phone_numbers_phone_number_sid_idx` ON `phone_numbers` (`phone_number_sid`); -CREATE INDEX `phone_numbers_voip_carrier_sid_idx` ON `phone_numbers` (`voip_carrier_sid`); -ALTER TABLE `phone_numbers` ADD FOREIGN KEY voip_carrier_sid_idxfk (`voip_carrier_sid`) REFERENCES `voip_carriers` (`voip_carrier_sid`); +ALTER TABLE `accounts` ADD FOREIGN KEY device_calling_hook_sid_idxfk (`device_calling_hook_sid`) REFERENCES `webhooks` (`webhook_sid`); -ALTER TABLE `phone_numbers` ADD FOREIGN KEY account_sid_idxfk_3 (`account_sid`) REFERENCES `accounts` (`account_sid`); - -ALTER TABLE `phone_numbers` ADD FOREIGN KEY application_sid_idxfk_2 (`application_sid`) REFERENCES `applications` (`application_sid`); - -CREATE UNIQUE INDEX `sip_gateways_sip_gateway_idx_hostport` ON `sip_gateways` (`ipv4`,`port`); - -ALTER TABLE `sip_gateways` ADD FOREIGN KEY voip_carrier_sid_idxfk_1 (`voip_carrier_sid`) REFERENCES `voip_carriers` (`voip_carrier_sid`); - -ALTER TABLE `lcr_carrier_set_entry` ADD FOREIGN KEY lcr_route_sid_idxfk (`lcr_route_sid`) REFERENCES `lcr_routes` (`lcr_route_sid`); - -ALTER TABLE `lcr_carrier_set_entry` ADD FOREIGN KEY voip_carrier_sid_idxfk_2 (`voip_carrier_sid`) REFERENCES `voip_carriers` (`voip_carrier_sid`); +ALTER TABLE `accounts` ADD FOREIGN KEY error_hook_sid_idxfk (`error_hook_sid`) REFERENCES `webhooks` (`webhook_sid`); diff --git a/test/db/populate-test-data.sql b/test/db/populate-test-data.sql index 58f3387..977ed41 100644 --- a/test/db/populate-test-data.sql +++ b/test/db/populate-test-data.sql @@ -1,7 +1,9 @@ -insert into service_providers (service_provider_sid, name, root_domain, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); -insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); +insert into webhooks(webhook_sid, url, username, password) values('90dda62e-0ea2-47d1-8164-5bd49003476c', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); + +insert into service_providers (service_provider_sid, name, root_domain, registration_hook_sid) +values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', '90dda62e-0ea2-47d1-8164-5bd49003476c'); +insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook_sid) +values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', '90dda62e-0ea2-47d1-8164-5bd49003476c'); insert into voip_carriers (voip_carrier_sid, name) values ('287c1452-620d-4195-9f19-c9814ef90d78', 'westco'); insert into sip_gateways (sip_gateway_sid, voip_carrier_sid, ipv4, inbound, outbound) diff --git a/test/db/populate-test-data2.sql b/test/db/populate-test-data2.sql index 74c65ad..382d368 100644 --- a/test/db/populate-test-data2.sql +++ b/test/db/populate-test-data2.sql @@ -1,7 +1,10 @@ -insert into service_providers (service_provider_sid, name, root_domain, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); -insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); +insert into webhooks(webhook_sid, url, username, password) values('90dda62e-0ea2-47d1-8164-5bd49003476c', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); + +insert into service_providers (service_provider_sid, name, root_domain, registration_hook_sid) +values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', '90dda62e-0ea2-47d1-8164-5bd49003476c'); + +insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook_sid) +values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', '90dda62e-0ea2-47d1-8164-5bd49003476c'); -- "good" carrier - "westco" at 172.39.0.20 insert into voip_carriers (voip_carrier_sid, name) values ('287c1452-620d-4195-9f19-c9814ef90d78', 'westco'); diff --git a/test/db/populate-test-data3.sql b/test/db/populate-test-data3.sql index 5fb23bf..27bcc4e 100644 --- a/test/db/populate-test-data3.sql +++ b/test/db/populate-test-data3.sql @@ -1,7 +1,9 @@ -insert into service_providers (service_provider_sid, name, root_domain, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); -insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); +insert into webhooks(webhook_sid, url, username, password) values('90dda62e-0ea2-47d1-8164-5bd49003476c', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); + +insert into service_providers (service_provider_sid, name, root_domain, registration_hook_sid) +values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', '90dda62e-0ea2-47d1-8164-5bd49003476c'); +insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook_sid) +values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', '90dda62e-0ea2-47d1-8164-5bd49003476c'); -- "good" carrier - "westco" at 172.39.0.20 insert into voip_carriers (voip_carrier_sid, name) values ('287c1452-620d-4195-9f19-c9814ef90d78', 'westco'); diff --git a/test/db/populate-test-data4.sql b/test/db/populate-test-data4.sql index 0923b7d..39a6fd8 100644 --- a/test/db/populate-test-data4.sql +++ b/test/db/populate-test-data4.sql @@ -1,7 +1,9 @@ -insert into service_providers (service_provider_sid, name, root_domain, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); -insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook, hook_basic_auth_user, hook_basic_auth_password) -values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); +insert into webhooks(webhook_sid, url, username, password) values('90dda62e-0ea2-47d1-8164-5bd49003476c', 'http://127.0.0.1:4000/auth', 'foo', 'bar'); + +insert into service_providers (service_provider_sid, name, root_domain, registration_hook_sid) +values ('3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'SP A', 'jambonz.org', '90dda62e-0ea2-47d1-8164-5bd49003476c'); +insert into accounts(account_sid, service_provider_sid, name, sip_realm, registration_hook_sid) +values ('ed649e33-e771-403a-8c99-1780eabbc803', '3f35518f-5a0d-4c2e-90a5-2407bb3b36f0', 'test account', 'sip.example.com', '90dda62e-0ea2-47d1-8164-5bd49003476c'); -- one carrier, uas script expecting a reinvite insert into voip_carriers (voip_carrier_sid, name) values ('287c1452-620d-4195-9f19-c9814ef90d78', 'westco');