IPComms
Precios
English | Español
Tutorial 23 de febrero, 2026 15 min de lectura

Cómo Instalar Asterisk en Debian 13 (Trixie)

Guía completa paso a paso para compilar e instalar Asterisk PBX desde código fuente en Debian 13 Trixie. Configura tu sistema para producción con troncal SIP de IPComms.

1. Prerequisitos

Antes de instalar Asterisk en Debian 13 (Trixie), asegúrate de que tu sistema cumple con los siguientes requisitos. Esta guía asume que tienes acceso root o privilegios sudo.

Requisitos del Sistema

Mínimo

  • 1 núcleo de CPU
  • 1 GB de RAM
  • 10 GB de disco
  • Debian 13 (Trixie) x64

Recomendado

  • 2+ núcleos de CPU
  • 2+ GB de RAM
  • 20+ GB SSD
  • IP pública estática

Información Necesaria

Recopila esta información antes de comenzar:

  • La dirección IP pública de tu servidor
  • Credenciales de troncal SIP de IPComms (usuario, contraseña, servidor)
  • Números DID para enrutamiento de llamadas entrantes

Servidores en la Nube: Si estás usando AWS, Google Cloud o DigitalOcean, asegúrate de configurar los grupos de seguridad para permitir tráfico SIP (UDP 5060) y RTP (UDP 10000-20000).

2. Instalar Dependencias

Asterisk requiere varias bibliotecas de desarrollo y herramientas para compilar desde código fuente. Primero, actualiza tu sistema e instala las herramientas esenciales de compilación.

Actualizar Paquetes del Sistema

# Actualizar listas de paquetes y actualizar paquetes existentes
sudo apt update && sudo apt upgrade -y

Instalar Dependencias de Compilación

# Instalar herramientas esenciales de compilación
sudo apt install -y build-essential git wget curl

# Instalar dependencias de Asterisk
sudo apt install -y libncurses5-dev libssl-dev libxml2-dev \
    libsqlite3-dev uuid-dev libjansson-dev libspeex-dev \
    libspeexdsp-dev libogg-dev libvorbis-dev libasound2-dev \
    libcurl4-openssl-dev libical-dev libneon27-dev libsrtp2-dev \
    unixodbc-dev libmyodbc odbc-mariadb libiksemel-dev \
    libnewt-dev libpopt-dev libedit-dev libradcli-dev

Instalar Dependencias de PJSIP

PJSIP es el driver de canal SIP recomendado para Asterisk. Estas bibliotecas son necesarias para el soporte PJSIP:

# Dependencias de PJSIP y códecs
sudo apt install -y libpjproject-dev libopus-dev

Tip: En Debian 13, la biblioteca PJSIP del sistema es compatible con Asterisk. No necesitas compilar PJSIP por separado como en versiones anteriores de Debian.

3. Descargar Código Fuente de Asterisk

Descarga la última versión LTS de Asterisk desde la página oficial de descargas. A partir de 2026, Asterisk 22 LTS es la versión recomendada para sistemas en producción.

Descargar y Extraer

# Crear un directorio para el código fuente
cd /usr/src

# Descargar Asterisk 22 LTS (última versión)
sudo wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz

# Extraer el archivo
sudo tar -xvzf asterisk-22-current.tar.gz

# Entrar al directorio de Asterisk
cd asterisk-22*/

Instalar Soporte MP3 (Opcional)

Si deseas soporte de reproducción MP3 para música en espera o mensajes:

# Descargar módulo fuente de MP3
sudo contrib/scripts/get_mp3_source.sh

Ejecutar Script de Prerequisitos

Asterisk incluye un script que instala cualquier dependencia faltante:

# Instalar prerequisitos faltantes
sudo contrib/scripts/install_prereq install

Nota: El script install_prereq puede solicitar tu código de país ITU. Ingresa tu código de dos letras (ej., US, CO, MX, DO) cuando se te solicite.

4. Compilar e Instalar Asterisk

Ahora configuraremos, compilaremos e instalaremos Asterisk. Este proceso toma de 10 a 30 minutos dependiendo del CPU de tu servidor.

Configurar la Compilación

# Ejecutar el script de configuración
sudo ./configure --with-pjproject-bundled=no

Seleccionar Módulos (menuselect)

Usa menuselect para elegir qué módulos compilar. Para una configuración de troncal SIP, asegúrate de que PJSIP y los códecs comunes estén seleccionados:

# Abrir el menú de selección de módulos
sudo make menuselect

En la interfaz de menuselect, verifica que estos estén habilitados:

  • chan_pjsip - Driver de canal PJSIP
  • res_pjsip - Módulo core de PJSIP
  • codec_opus - Códec Opus (si está disponible)
  • format_mp3 - Soporte de formato MP3

Compilar Asterisk

# Compilar Asterisk (usa -j para compilación paralela)
sudo make -j$(nproc)

Instalar Asterisk

# Instalar binarios de Asterisk
sudo make install

# Instalar archivos de configuración de ejemplo
sudo make samples

# Instalar scripts de inicio para systemd
sudo make config

# Instalar configuración de logrotate
sudo make install-logrotate

Crear Usuario Asterisk

# Crear usuario y grupo asterisk
sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk

# Establecer propietario de los directorios de Asterisk
sudo chown -R asterisk:asterisk /etc/asterisk
sudo chown -R asterisk:asterisk /var/lib/asterisk
sudo chown -R asterisk:asterisk /var/log/asterisk
sudo chown -R asterisk:asterisk /var/spool/asterisk
sudo chown -R asterisk:asterisk /var/run/asterisk

Buena Práctica de Seguridad: Siempre ejecuta Asterisk como usuario no-root. Edita /etc/asterisk/asterisk.conf y configura runuser = asterisk y rungroup = asterisk.

5. Configuración Básica

Configura los archivos esenciales de Asterisk para un sistema funcional básico. Prepararemos el sistema para troncal SIP con PJSIP.

Configurar asterisk.conf

# Editar la configuración principal de Asterisk
sudo nano /etc/asterisk/asterisk.conf

Asegúrate de que estas opciones estén configuradas:

[options]
runuser = asterisk
rungroup = asterisk
documentation_language = en_US

[files]
astctlpermissions = 0660
astctlowner = asterisk
astctlgroup = asterisk

Configurar modules.conf

Habilita PJSIP y deshabilita el módulo legacy chan_sip:

# Editar configuración de módulos
sudo nano /etc/asterisk/modules.conf
[modules]
autoload = yes

; Deshabilitar módulo SIP legacy
noload => chan_sip.so

; Asegurar que PJSIP esté cargado
load => res_pjsip.so
load => chan_pjsip.so

Configurar Puertos RTP

# Editar configuración RTP
sudo nano /etc/asterisk/rtp.conf
[general]
rtpstart = 10000
rtpend = 20000
rtpchecksums = no
strictrtp = yes
icesupport = no

Iniciar Asterisk

# Habilitar Asterisk para iniciar con el sistema
sudo systemctl enable asterisk

# Iniciar el servicio de Asterisk
sudo systemctl start asterisk

# Verificar estado
sudo systemctl status asterisk

6. Configurar Troncal SIP de IPComms

Conecta tu sistema Asterisk a la troncal SIP de IPComms para llamadas entrantes y salientes. Reemplaza los valores de ejemplo con tus credenciales reales de IPComms.

Crear pjsip.conf para IPComms

# Editar configuración PJSIP
sudo nano /etc/asterisk/pjsip.conf
; ===================================
; Configuración de Troncal SIP IPComms
; ===================================

[global]
type = global
user_agent = Asterisk PBX

[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0:5060
external_media_address = TU_IP_PUBLICA
external_signaling_address = TU_IP_PUBLICA
local_net = 10.0.0.0/8
local_net = 172.16.0.0/12
local_net = 192.168.0.0/16

; Registro de Troncal IPComms
[ipcomms]
type = registration
transport = transport-udp
outbound_auth = ipcomms-auth
server_uri = sip:sip.ipcomms.net
client_uri = sip:TU_USUARIO@sip.ipcomms.net
retry_interval = 60
expiration = 3600

[ipcomms-auth]
type = auth
auth_type = userpass
username = TU_USUARIO
password = TU_CONTRASEÑA

[ipcomms-aor]
type = aor
contact = sip:sip.ipcomms.net

[ipcomms-identify]
type = identify
endpoint = ipcomms-endpoint
match = sip.ipcomms.net

[ipcomms-endpoint]
type = endpoint
transport = transport-udp
context = from-ipcomms
disallow = all
allow = ulaw
allow = alaw
allow = g722
outbound_auth = ipcomms-auth
aors = ipcomms-aor
from_user = TU_USUARIO
from_domain = sip.ipcomms.net
direct_media = no
ice_support = no
force_rport = yes
rewrite_contact = yes
rtp_symmetric = yes

Reemplaza Estos Valores: Actualiza TU_IP_PUBLICA, TU_USUARIO y TU_CONTRASEÑA con las credenciales reales de tu cuenta IPComms desde el portal de cliente.

Configurar Dialplan (extensions.conf)

# Editar configuración de extensiones
sudo nano /etc/asterisk/extensions.conf
[general]
static = yes
writeprotect = no

; Contexto para llamadas entrantes desde IPComms
[from-ipcomms]
exten => _X.,1,NoOp(Llamada entrante de IPComms: ${CALLERID(all)})
 same => n,Answer()
 same => n,Playback(hello-world)
 same => n,Hangup()

; Contexto para llamadas salientes via IPComms
[outbound-ipcomms]
exten => _1NXXNXXXXXX,1,NoOp(Llamada saliente a ${EXTEN})
 same => n,Set(CALLERID(num)=TU_NUMERO_DID)
 same => n,Dial(PJSIP/${EXTEN}@ipcomms-endpoint,60)
 same => n,Hangup()

; Llamadas internacionales (formato E.164)
exten => _011.,1,NoOp(Llamada internacional a ${EXTEN})
 same => n,Set(CALLERID(num)=TU_NUMERO_DID)
 same => n,Dial(PJSIP/${EXTEN}@ipcomms-endpoint,120)
 same => n,Hangup()

Obtén Tus Credenciales IPComms

Regístrate en IPComms para obtener tus credenciales de troncal, números DID y acceso al portal de cliente con analíticas de llamadas en tiempo real. $0 por canal — solo paga por uso y números.

Registrarse en IPComms

7. Probar la Instalación

Verifica que tu instalación de Asterisk y el registro de la troncal IPComms funcionen correctamente.

Recargar Configuración

# Recargar Asterisk para aplicar cambios
sudo asterisk -rx "core reload"

Verificar Registro PJSIP

# Conectarse al CLI de Asterisk
sudo asterisk -rvvv

# Verificar estado de registro
pjsip show registrations

Deberías ver una salida indicando que tu registro IPComms está "Registered":

Registration:  ipcomms/sip:TU_USUARIO@sip.ipcomms.net
   Status:  Registered

Verificar Configuración del Endpoint

# Mostrar endpoints PJSIP
pjsip show endpoints

# Mostrar información detallada del endpoint
pjsip show endpoint ipcomms-endpoint

Realizar una Llamada de Prueba

# Originar una llamada de prueba desde el CLI
channel originate PJSIP/12025551234@ipcomms-endpoint application Playback hello-world

Tip de Pruebas: IPComms ofrece créditos de prueba para cuentas nuevas. Úsalos para verificar la configuración de tu troncal antes de pasar a producción.

8. Solución de Problemas Comunes

Si encuentras problemas con tu instalación de Asterisk o la troncal de IPComms, usa estos pasos para diagnosticar y resolver los problemas.

Fallas de Registro

SíntomaCausaSolución
401 UnauthorizedCredenciales incorrectasVerifica usuario/contraseña en pjsip.conf
408 Request TimeoutFirewall bloqueandoAbre UDP 5060 y 10000-20000
503 Service UnavailableProblema del servidorVerifica la página de estado de IPComms

Sin Audio (Audio Unidireccional o Sin Audio)

# Verificar configuración RTP y NAT
sudo asterisk -rx "rtp show settings"

# Verificar que la IP externa esté configurada correctamente
sudo asterisk -rx "pjsip show transport transport-udp"

Problemas comunes de audio y soluciones:

  • Firewall: Asegúrate de que los puertos RTP (10000-20000) estén abiertos para tráfico UDP
  • NAT: Verifica que external_media_address esté configurado con tu IP pública
  • direct_media: Debe estar en "no" para entornos con NAT

Habilitar Logs de Depuración

# Habilitar logs de depuración PJSIP en el CLI de Asterisk
pjsip set logger on

# Ver mensajes SIP en tiempo real
core set verbose 5
core set debug 5

Verificar Logs del Sistema

# Ver logs de Asterisk
sudo tail -f /var/log/asterisk/messages

# Ver archivo de log completo
sudo tail -f /var/log/asterisk/full

¿Necesitas Ayuda? El equipo de soporte de IPComms puede ayudarte a resolver problemas de conectividad de troncal. Contáctanos en soporte o consulta nuestra guía de configuración de troncal PJSIP para más opciones de configuración.

¿Listo para Conectar tu Asterisk PBX?

Comienza con la troncal SIP de IPComms. Conectividad confiable, tarifas competitivas y excelente compatibilidad con Asterisk. $0 por canal — solo paga por uso.

Artículos Relacionados