Initial commit: FreePBX 17 VoIP setup for horux360, consultoria-as, nexus
This commit is contained in:
183
scripts/setup-extensions-ivr.sh
Normal file
183
scripts/setup-extensions-ivr.sh
Normal file
@@ -0,0 +1,183 @@
|
||||
#!/bin/bash
|
||||
# Script para crear extensiones e IVR en FreePBX 17 (post-instalación)
|
||||
# Empresas: Horux360 (100), Consultoria-AS (200), Nexus (300)
|
||||
|
||||
DB_USER="${DB_USER:-asteriskuser}"
|
||||
DB_PASS="${DB_PASS:-AsteriskDB2026!}"
|
||||
|
||||
echo "Creando extensiones PJSIP..."
|
||||
|
||||
# Extension 100 - Horux360
|
||||
mysql -u "$DB_USER" -p"$DB_PASS" asterisk -e "
|
||||
DELETE FROM devices WHERE id='100';
|
||||
DELETE FROM users WHERE extension='100';
|
||||
DELETE FROM sip WHERE id='100';
|
||||
|
||||
INSERT INTO devices (id, tech, dial, devicetype, user, description, emergency_cid)
|
||||
VALUES ('100', 'pjsip', 'PJSIP/100', 'fixed', '100', 'Horux360 - Admin', '');
|
||||
|
||||
INSERT INTO users (extension, password, name, voicemail, ringtimer, recording, outboundcid, sipname, mohclass)
|
||||
VALUES ('100', 'Pass100!', 'Horux360 - Admin', 'default', 20, 'dontcare', '', '', 'default');
|
||||
|
||||
INSERT INTO sip (id, keyword, data, flags) VALUES
|
||||
('100', 'account', '100', 0),
|
||||
('100', 'accountcode', '', 0),
|
||||
('100', 'allow', 'ulaw,alaw,g722,opus', 0),
|
||||
('100', 'avpf', 'no', 0),
|
||||
('100', 'callerid', 'Horux360 Admin <100>', 0),
|
||||
('100', 'context', 'from-internal', 0),
|
||||
('100', 'device_state_busy_at', '0', 0),
|
||||
('100', 'direct_media', 'no', 0),
|
||||
('100', 'disallow', '', 0),
|
||||
('100', 'dtlsenable', 'no', 0),
|
||||
('100', 'dtmfmode', 'rfc4733', 0),
|
||||
('100', 'email', '', 0),
|
||||
('100', 'emergency_cid', '', 0),
|
||||
('100', 'encryption', 'no', 0),
|
||||
('100', 'force_rport', 'yes', 0),
|
||||
('100', 'icesupport', 'no', 0),
|
||||
('100', 'mailboxes', '100@device', 0),
|
||||
('100', 'match', '', 0),
|
||||
('100', 'max_contacts', '1', 0),
|
||||
('100', 'media_encryption', 'no', 0),
|
||||
('100', 'media_use_received_transport', 'no', 0),
|
||||
('100', 'message_context', '', 0),
|
||||
('100', 'namedcallgroup', '', 0),
|
||||
('100', 'namedpickupgroup', '', 0),
|
||||
('100', 'outbound_proxy', '', 0),
|
||||
('100', 'qualifyfreq', '60', 0),
|
||||
('100', 'record_in', 'Always', 0),
|
||||
('100', 'record_out', 'Always', 0),
|
||||
('100', 'rtp_symmetric', 'yes', 0),
|
||||
('100', 'secret', 'Horux100!', 0),
|
||||
('100', 'send_connected_line', 'yes', 0),
|
||||
('100', 'send_rpid', 'no', 0),
|
||||
('100', 'sipdriver', 'chan_pjsip', 0),
|
||||
('100', 'transport', '0.0.0.0-udp', 0),
|
||||
('100', 'trust_rpid', 'no', 0),
|
||||
('100', 'type', 'friend', 0),
|
||||
('100', 'vmexten', '*97', 0);
|
||||
"
|
||||
|
||||
# Extension 200 - Consultoria AS
|
||||
mysql -u "$DB_USER" -p"$DB_PASS" asterisk -e "
|
||||
DELETE FROM devices WHERE id='200';
|
||||
DELETE FROM users WHERE extension='200';
|
||||
DELETE FROM sip WHERE id='200';
|
||||
|
||||
INSERT INTO devices (id, tech, dial, devicetype, user, description, emergency_cid)
|
||||
VALUES ('200', 'pjsip', 'PJSIP/200', 'fixed', '200', 'Consultoria AS - Admin', '');
|
||||
|
||||
INSERT INTO users (extension, password, name, voicemail, ringtimer, recording, outboundcid, sipname, mohclass)
|
||||
VALUES ('200', 'Pass200!', 'Consultoria AS - Admin', 'default', 20, 'dontcare', '', '', 'default');
|
||||
|
||||
INSERT INTO sip (id, keyword, data, flags) VALUES
|
||||
('200', 'account', '200', 0),
|
||||
('200', 'accountcode', '', 0),
|
||||
('200', 'allow', 'ulaw,alaw,g722,opus', 0),
|
||||
('200', 'avpf', 'no', 0),
|
||||
('200', 'callerid', 'Consultoria AS Admin <200>', 0),
|
||||
('200', 'context', 'from-internal', 0),
|
||||
('200', 'device_state_busy_at', '0', 0),
|
||||
('200', 'direct_media', 'no', 0),
|
||||
('200', 'disallow', '', 0),
|
||||
('200', 'dtlsenable', 'no', 0),
|
||||
('200', 'dtmfmode', 'rfc4733', 0),
|
||||
('200', 'email', '', 0),
|
||||
('200', 'emergency_cid', '', 0),
|
||||
('200', 'encryption', 'no', 0),
|
||||
('200', 'force_rport', 'yes', 0),
|
||||
('200', 'icesupport', 'no', 0),
|
||||
('200', 'mailboxes', '200@device', 0),
|
||||
('200', 'match', '', 0),
|
||||
('200', 'max_contacts', '1', 0),
|
||||
('200', 'media_encryption', 'no', 0),
|
||||
('200', 'media_use_received_transport', 'no', 0),
|
||||
('200', 'message_context', '', 0),
|
||||
('200', 'namedcallgroup', '', 0),
|
||||
('200', 'namedpickupgroup', '', 0),
|
||||
('200', 'outbound_proxy', '', 0),
|
||||
('200', 'qualifyfreq', '60', 0),
|
||||
('200', 'record_in', 'Always', 0),
|
||||
('200', 'record_out', 'Always', 0),
|
||||
('200', 'rtp_symmetric', 'yes', 0),
|
||||
('200', 'secret', 'Consult200!', 0),
|
||||
('200', 'send_connected_line', 'yes', 0),
|
||||
('200', 'send_rpid', 'no', 0),
|
||||
('200', 'sipdriver', 'chan_pjsip', 0),
|
||||
('200', 'transport', '0.0.0.0-udp', 0),
|
||||
('200', 'trust_rpid', 'no', 0),
|
||||
('200', 'type', 'friend', 0),
|
||||
('200', 'vmexten', '*97', 0);
|
||||
"
|
||||
|
||||
# Extension 300 - Nexus
|
||||
mysql -u "$DB_USER" -p"$DB_PASS" asterisk -e "
|
||||
DELETE FROM devices WHERE id='300';
|
||||
DELETE FROM users WHERE extension='300';
|
||||
DELETE FROM sip WHERE id='300';
|
||||
|
||||
INSERT INTO devices (id, tech, dial, devicetype, user, description, emergency_cid)
|
||||
VALUES ('300', 'pjsip', 'PJSIP/300', 'fixed', '300', 'Nexus - Admin', '');
|
||||
|
||||
INSERT INTO users (extension, password, name, voicemail, ringtimer, recording, outboundcid, sipname, mohclass)
|
||||
VALUES ('300', 'Pass300!', 'Nexus - Admin', 'default', 20, 'dontcare', '', '', 'default');
|
||||
|
||||
INSERT INTO sip (id, keyword, data, flags) VALUES
|
||||
('300', 'account', '300', 0),
|
||||
('300', 'accountcode', '', 0),
|
||||
('300', 'allow', 'ulaw,alaw,g722,opus', 0),
|
||||
('300', 'avpf', 'no', 0),
|
||||
('300', 'callerid', 'Nexus Admin <300>', 0),
|
||||
('300', 'context', 'from-internal', 0),
|
||||
('300', 'device_state_busy_at', '0', 0),
|
||||
('300', 'direct_media', 'no', 0),
|
||||
('300', 'disallow', '', 0),
|
||||
('300', 'dtlsenable', 'no', 0),
|
||||
('300', 'dtmfmode', 'rfc4733', 0),
|
||||
('300', 'email', '', 0),
|
||||
('300', 'emergency_cid', '', 0),
|
||||
('300', 'encryption', 'no', 0),
|
||||
('300', 'force_rport', 'yes', 0),
|
||||
('300', 'icesupport', 'no', 0),
|
||||
('300', 'mailboxes', '300@device', 0),
|
||||
('300', 'match', '', 0),
|
||||
('300', 'max_contacts', '1', 0),
|
||||
('300', 'media_encryption', 'no', 0),
|
||||
('300', 'media_use_received_transport', 'no', 0),
|
||||
('300', 'message_context', '', 0),
|
||||
('300', 'namedcallgroup', '', 0),
|
||||
('300', 'namedpickupgroup', '', 0),
|
||||
('300', 'outbound_proxy', '', 0),
|
||||
('300', 'qualifyfreq', '60', 0),
|
||||
('300', 'record_in', 'Always', 0),
|
||||
('300', 'record_out', 'Always', 0),
|
||||
('300', 'rtp_symmetric', 'yes', 0),
|
||||
('300', 'secret', 'Nexus300!', 0),
|
||||
('300', 'send_connected_line', 'yes', 0),
|
||||
('300', 'send_rpid', 'no', 0),
|
||||
('300', 'sipdriver', 'chan_pjsip', 0),
|
||||
('300', 'transport', '0.0.0.0-udp', 0),
|
||||
('300', 'trust_rpid', 'no', 0),
|
||||
('300', 'type', 'friend', 0),
|
||||
('300', 'vmexten', '*97', 0);
|
||||
"
|
||||
|
||||
echo "Creando IVR principal..."
|
||||
mysql -u "$DB_USER" -p"$DB_PASS" asterisk -e "
|
||||
DELETE FROM ivr_entries WHERE ivr_id=1;
|
||||
DELETE FROM ivr_details WHERE id=1;
|
||||
|
||||
INSERT INTO ivr_details (id, name, description, announcement, directdial, invalid_loops, invalid_retry_recording, invalid_destination, timeout_enabled, invalid_recording, retvm, timeout_time, timeout_recording, timeout_retry_recording, timeout_destination, timeout_loops, timeout_append_announce, invalid_append_announce, timeout_ivr_ret, invalid_ivr_ret, alertinfo, rvolume, strict_dial_timeout, accept_pound_key)
|
||||
VALUES (1, 'MenuPrincipal', 'IVR Principal - 3 Empresas', NULL, 'disabled', '3', 'default', 'app-blackhole,hangup,1', NULL, 'default', '0', 10, 'default', 'default', 'app-blackhole,hangup,1', '3', 1, 1, 0, 0, '', '', 2, 0);
|
||||
|
||||
INSERT INTO ivr_entries (ivr_id, selection, dest, ivr_ret) VALUES
|
||||
(1, '1', 'from-did-direct,100,1', 0),
|
||||
(1, '2', 'from-did-direct,200,1', 0),
|
||||
(1, '3', 'from-did-direct,300,1', 0);
|
||||
"
|
||||
|
||||
echo "Recargando FreePBX..."
|
||||
fwconsole reload
|
||||
|
||||
echo "Extensiones e IVR creadas correctamente."
|
||||
Reference in New Issue
Block a user