gamlin commited on
Commit
e1e11a5
Β·
verified Β·
0 Parent(s):

initial commit

Browse files
Files changed (2) hide show
  1. .gitattributes +35 -0
  2. README.md +223 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - vicidial
5
+ - call-center
6
+ - cloud
7
+ - deployment
8
+ ---
9
+
10
+ # Despliegue de VICIdial en la Nube: AWS, GCP y DigitalOcean
11
+
12
+ **Ultima actualizacion: Marzo 2026 | Tiempo de lectura: ~18 minutos** Cada guia de VICIdial asume que tienes un rack, una IP estatica, y un contrato de data center. Eso tenia sentido en 2014. En 2026, la mayoria de los nuevos despliegues de VICIdial que vemos en ViciStack empiezan con la misma pregunta: puedo correr esto en la nube? La respuesta corta es si. La respuesta larga es si, pero VICIdial y la infraestructura cloud tienen suposiciones fundamentalmente diferentes sobre networking, scheduling de CPU, y I/O de almacenamiento que necesitas entender antes de levantar una instancia EC2 y preguntarte [por que](/blog/es-vicidial-vs-gohighlevel/) la mitad de tus llamadas tienen audio unidireccional. --- **Escalamiento elastico para operaciones estacionales.** Si tu numero de agentes oscila de 20 en enero a 150 durante la temporada de inscripcion abierta, la infraestructura cloud te permite escalar servidores de telefonia arriba y abajo sin comprar hardware que se queda...
13
+
14
+ ## Overview
15
+
16
+ **Ultima actualizacion: Marzo 2026 | Tiempo de lectura: ~18 minutos**
17
+
18
+ Cada guia de VICIdial asume que tienes un rack, una IP estatica, y un contrato de data center. Eso tenia sentido en 2014. En 2026, la mayoria de los nuevos despliegues de VICIdial que vemos en ViciStack empiezan con la misma pregunta: puedo correr esto en la nube?
19
+
20
+ La respuesta corta es si. La respuesta larga es si, pero VICIdial y la infraestructura cloud tienen suposiciones fundamentalmente diferentes sobre networking, scheduling de CPU, y I/O de almacenamiento que necesitas entender antes de levantar una instancia EC2 y preguntarte [por que](/blog/es-vicidial-vs-gohighlevel/) la mitad de tus llamadas tienen audio unidireccional.
21
+
22
+ ---
23
+
24
+ ## Cuando Cloud Tiene Sentido
25
+
26
+ ### Cuando Cloud Tiene Sentido
27
+
28
+ **Escalamiento elastico para operaciones estacionales.** Si tu numero de agentes oscila de 20 en enero a 150 durante la temporada de inscripcion abierta, la infraestructura cloud te permite escalar servidores de telefonia arriba y abajo sin comprar hardware que se queda inactivo 8 meses al ano.
29
+
30
+ **Redundancia geografica.** Correr [clusters VICIdial](/blog/vicidial-cluster-guide/) a traves de multiples regiones te da recuperacion ante desastres que es casi imposible de lograr con hardware colocado.
31
+
32
+ **Sin gestion del ciclo de vida del hardware.** Sin reemplazos de discos a las 3 AM. Sin fallas de controlador RAID.
33
+
34
+ ### Cuando Cloud No Tiene Sentido
35
+
36
+ **Operaciones de alta densidad sostenida.** Si estas corriendo 100+ agentes en una carga de trabajo estable y predecible, [bare metal](/blog/vicidial-setup-guide/) es mas barato. Periodo.
37
+
38
+ **Requisitos de latencia ultra-baja.** [Bare metal](/blog/sip-registration-failed-fix/) te da nucleos de CPU dedicados y sin overhead de hypervisor.
39
+
40
+ **Startups con presupuesto limitado.** Si tienes 10 agentes y $500/mes para todo, un Dell PowerEdge reacondicionado en Hetzner u OVH por $50-80/mes va a rendir mejor que una instancia cloud de $200/mes.
41
+
42
+ ---
43
+
44
+ ## Desafios Especificos de VICIdial en Cloud
45
+
46
+ ### NAT Traversal de SIP
47
+
48
+ Este es el punto de dolor mas grande y la razon por la que la mayoria de los despliegues cloud de VICIdial fallan la primera vez. SIP fue disenado en una era cuando cada dispositivo tenia una IP publica. Incrusta direcciones IP dentro del payload del protocolo, no solo en los headers de los paquetes.
49
+
50
+ La solucion involucra multiples capas:
51
+
52
+ **Configuracion SIP de Asterisk:**
53
+
54
+ ```ini
55
+ ; sip.conf - Configuracion NAT para despliegue cloud
56
+ externip=<TU_IP_ELASTICA>
57
+ localnet=10.0.0.0/8
58
+ localnet=172.16.0.0/12
59
+ localnet=192.168.0.0/16
60
+ nat=force_rport,comedia
61
+ directmedia=no
62
+ ```
63
+
64
+ Para PJSIP (el enfoque moderno):
65
+
66
+ ```ini
67
+ ; pjsip.conf
68
+ [transport-udp]
69
+ type=transport
70
+ protocol=udp
71
+ bind=0.0.0.0
72
+ external_media_address=<TU_IP_ELASTICA>
73
+ external_signaling_address=<TU_IP_ELASTICA>
74
+ local_net=10.0.0.0/8
75
+ local_net=172.16.0.0/12
76
+ local_net=192.168.0.0/16
77
+ ```
78
+
79
+ ### Rendimiento de vCPU Compartida
80
+
81
+ Este es el secreto sucio de VICIdial cloud. Asterisk es extremadamente sensible al jitter de scheduling de CPU. Cuando Asterisk procesa paquetes de audio RTP, necesita acceso de CPU consistente sub-milisegundo.
82
+
83
+ **No corras VICIdial en instancias t3/t2 (AWS), instancias e2 (GCP), o Droplets basicos (DigitalOcean).** Usa instancias de la serie c (compute-optimized) o tenencia de host dedicada.
84
+
85
+ ---
86
+
87
+ ## Despliegue en AWS
88
+
89
+ ### Dimensionamiento de Instancias
90
+
91
+ | Rol | Tipo de Instancia | Specs | Costo Mensual (us-east-1) |
92
+ |------|-------------|-------|------------------------|
93
+ | Servidor unico (<25 agentes) | c5.2xlarge | 8 vCPU, 16 GB RAM | ~$245/mes |
94
+ | Servidor DB (25-100 agentes) | m5.xlarge | 4 vCPU, 16 GB RAM | ~$140/mes |
95
+ | Servidor de telefonia/marcador | c5.2xlarge | 8 vCPU, 16 GB RAM | ~$245/mes |
96
+ | Servidor web | c5.xlarge | 4 vCPU, 8 GB RAM | ~$124/mes |
97
+
98
+ ### Security Groups
99
+
100
+ **Servidor de Telefonia:**
101
+
102
+ | Puerto | Protocolo | Origen | Proposito |
103
+ |------|----------|--------|---------|
104
+ | 5060 | UDP | IPs del Carrier | Senalizacion SIP |
105
+ | 5061 | TCP | IPs del Carrier | SIP TLS |
106
+ | 10000-20000 | UDP | 0.0.0.0/0 | Media RTP |
107
+ | 4569 | UDP | Servidores del cluster | IAX2 inter-servidor |
108
+ | 3306 | TCP | VPC CIDR | MySQL |
109
+ | 443 | TCP | IPs de agentes | WebRTC/ViciPhone |
110
+
111
+ **Critico:** El rango de puertos RTP (10000-20000) debe estar abierto a 0.0.0.0/0 en UDP. Estos puertos llevan el audio de voz real.
112
+
113
+ ### Ejemplo Terraform para VICIdial en AWS
114
+
115
+ ```hcl
116
+ provider "aws" {
117
+ region = "us-east-1"
118
+ }
119
+
120
+ resource "aws_vpc" "vicidial" {
121
+ cidr_block = "10.0.0.0/16"
122
+ enable_dns_hostnames = true
123
+ enable_dns_support = true
124
+ tags = { Name = "vicidial-vpc" }
125
+ }
126
+
127
+ resource "aws_instance" "vicidial" {
128
+ ami = "ami-XXXXXXXX" # AlmaLinux 9 o openSUSE Leap 15.6
129
+ instance_type = "c5.2xlarge"
130
+ key_name = "tu-key-pair"
131
+ subnet_id = aws_subnet.public.id
132
+ vpc_security_group_ids = [aws_security_group.vicidial.id]
133
+
134
+ root_block_device {
135
+ volume_type = "gp3"
136
+ volume_size = 100
137
+ iops = 3000
138
+ }
139
+ }
140
+
141
+ resource "aws_eip" "vicidial" {
142
+ instance = aws_instance.vicidial.id
143
+ domain = "vpc"
144
+ }
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Despliegue en GCP
150
+
151
+ ### Dimensionamiento de Instancias
152
+
153
+ | Rol | Tipo de Maquina GCP | Equivalente AWS | Costo Mensual |
154
+ |------|-----------------|---------------|-------------|
155
+ | Servidor unico (<25 agentes) | n2-standard-8 | c5.2xlarge | ~$260/mes |
156
+ | Servidor DB (25-100 agentes) | n2-highmem-4 | m5.xlarge | ~$155/mes |
157
+ | Servidor de telefonia | c2-standard-8 | c5.2xlarge | ~$275/mes |
158
+
159
+ **Ventaja de GCP: c2-standard-8.** La serie c2 corre en procesadores Intel Cascade Lake dedicados de 3.1 GHz sin sobrecomprometimiento de CPU. Esto es lo mas cercano a bare metal que puedes obtener en una VM cloud.
160
+
161
+ **Ventaja de GCP: descuentos por uso sostenido.** A diferencia de [AWS, GCP](/blog/vicidial-cloud-deployment/) automaticamente aplica descuentos por uso sostenido cuando una instancia corre mas del 25% del mes. Sin compromiso requerido.
162
+
163
+ ---
164
+
165
+ ## Despliegue en DigitalOcean
166
+
167
+ DigitalOcean es la opcion cloud mas simple para VICIdial. Menos flexibilidad que AWS o GCP, pero dramaticamente menos complejidad.
168
+
169
+ ### Dimensionamiento de Droplets
170
+
171
+ | Rol | Tipo de Droplet | Specs | Costo Mensual |
172
+ |------|-------------|-------|-------------|
173
+ | Servidor unico (<25 agentes) | CPU-Optimized 8 vCPU | 8 vCPU, 16 GB RAM | $168/mes |
174
+ | Servidor DB | General Purpose 8 GB | 2 vCPU, 8 GB RAM | $68/mes |
175
+ | Servidor de telefonia | CPU-Optimized 8 vCPU | 8 vCPU, 16 GB RAM | $168/mes |
176
+
177
+ **Critico: Usa CPU-Optimized Droplets.** Los Droplets Basic y General Purpose usan vCPUs compartidas con rendimiento burstable. Los CPU-Optimized proporcionan nucleos vCPU dedicados.
178
+
179
+ ```bash
180
+ # Crear un CPU-Optimized Droplet via doctl CLI
181
+ doctl compute droplet create vicidial-server \
182
+ --region nyc1 \
183
+ --size c-8 \
184
+ --image almalinux-9-x64 \
185
+ --ssh-keys TU_FINGERPRINT_SSH_KEY \
186
+ --wait
187
+ ```
188
+
189
+ ---
190
+
191
+ ## Patron de Arquitectura: Servidor Unico (Menos de 25 Agentes)
192
+
193
+ ```
194
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
195
+ β”‚ Instancia Cloud β”‚
196
+ β”‚ (c5.2xlarge / c2-8) β”‚
197
+ β”‚ β”‚
198
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
199
+ β”‚ β”‚ Asterisk 18 β”‚ β”‚
200
+ β”‚ β”‚ Apache/PHP β”‚ β”‚
201
+ β”‚ β”‚ MariaDB β”‚ β”‚
202
+ β”‚ β”‚ VICIdial Screensβ”‚ β”‚
203
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
204
+ β”‚ β”‚
205
+ β”‚ IP Elastica/Estatica β”‚
206
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
207
+ β”‚
208
+ β–Ό
209
+ Carrier SIP
210
+ ```
211
+
212
+ > **Despliegue Cloud Sin Los Dolores de Cabeza.**
213
+ > ViciStack maneja la infraestructura para que puedas enfocarte en correr campanas. Rendimiento bare metal, simplicidad tipo cloud. [Obtener Una Cotizacion Personalizada.](/pricing/)
214
+
215
+ ---
216
+
217
+ *Esta guia es mantenida por ViciStack y actualizada a medida que los proveedores cloud y los requisitos de VICIdial evolucionan. Ultima actualizacion: Marzo 2026.*
218
+
219
+ ## Resources
220
+
221
+ - [Read the full article](https://vicistack.com/blog/es-vicidial-cloud-deployment/) on ViciStack
222
+ - [ViciStack](https://vicistack.com) - VICIdial hosting and optimization
223
+ - [Free VICIdial Audit](https://vicistack.com/free-audit/)