Troncal PJSIP en Asterisk: da de alta un número de SMS Conecta

Última actualización: 2026-09-30 · Equipo de SMS Conecta (SMSConecta Inc.)

Respuesta breve: Para enlazar Asterisk con SMS Conecta, incorpora cinco bloques en pjsip.conf para la troncal: un registration que apunte a sip.smsconecta.com, un auth con tu usuario y contraseña SIP, un aor, un endpoint restringido a ulaw y alaw, y un identify que reconozca nuestro servidor. Luego enruta el DID en extensions.conf y marca hacia fuera a través de ese endpoint.

Esta variante está pensada para Asterisk sin capa gráfica, para quien administra directamente los archivos de configuración. Replica la estructura de troncal de los ejemplos oficiales de res_pjsip, ya con los valores de SMS Conecta cargados.

01

Lo que necesitas antes de tocar los archivos

  • ✓ Un número de SMS Conecta junto con su usuario y contraseña SIP, consultables en la ficha del número dentro del panel.
  • ✓ Asterisk con res_pjsip cargado (cualquier versión que reciba soporte actualmente).
  • ✓ Acceso por shell para editar /etc/asterisk/pjsip.conf y extensions.conf, además de la CLI de Asterisk para las pruebas.
02

Valores de SMS Conecta usados en la configuración

AjusteValor
Servidor SIP / registrador / dominiosip.smsconecta.com
Transporte y puertoUDP o TCP 5060; TLS 5061
Usuario<SIP_USERNAME> (en la página del número en el panel)
Contraseña<SIP_PASSWORD> (en la misma página)
AutenticaciónDigest (usuario + contraseña), basada en registro
CódecsG.711 µ-law (PCMU) y G.711 A-law (PCMA)
DTMFRFC 2833 (eventos RTP) o SIP INFO
DID entrante<YOUR_NUMBER> en formato E.164
03

pjsip.conf: bloques de transporte y troncal

Copia esto dentro de pjsip.conf y reemplaza los marcadores. Puedes saltarte el bloque de transporte si ya cuentas con uno UDP. Para TCP o TLS, define el transporte que corresponda y usa el puerto 5061 cuando sea TLS.

La sección identify reconoce las llamadas por la dirección de origen de nuestro tráfico SIP; Asterisk resuelve ese nombre de host al cargar la configuración.

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
; behind NAT also set:
; external_media_address=<PUBLIC_IP>
; external_signaling_address=<PUBLIC_IP>
; local_net=192.168.0.0/16

[smsconecta]
type=registration
transport=transport-udp
outbound_auth=smsconecta-auth
server_uri=sip:sip.smsconecta.com:5060
client_uri=sip:<SIP_USERNAME>@sip.smsconecta.com
contact_user=<YOUR_NUMBER>
retry_interval=60

[smsconecta-auth]
type=auth
auth_type=userpass
username=<SIP_USERNAME>
password=<SIP_PASSWORD>

[smsconecta]
type=aor
contact=sip:sip.smsconecta.com:5060
qualify_frequency=60

[smsconecta]
type=endpoint
transport=transport-udp
context=from-smsconecta
disallow=all
allow=ulaw,alaw
dtmf_mode=rfc4733
outbound_auth=smsconecta-auth
aors=smsconecta
from_user=<SIP_USERNAME>
from_domain=sip.smsconecta.com
callerid=<YOUR_NUMBER>
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes

[smsconecta]
type=identify
endpoint=smsconecta
match=sip.smsconecta.com
04

extensions.conf: plan de marcación en ambos sentidos

Las llamadas entrantes aterrizan en el contexto from-smsconecta con tu número actuando como extensión marcada. El patrón de salida manda por la troncal los números marcados que empiezan con el signo más.

En la línea de salida, ${EXTEN} es la variable de canal de Asterisk que guarda el número marcado. Cambia 1001 por tu propia extensión o grupo de llamada.

[from-smsconecta]
; inbound: DID = your SMS Conecta number
exten => <YOUR_NUMBER>,1,NoOp(Inbound call on SMS Conecta DID)
 same => n,Dial(PJSIP/1001,30)
 same => n,Hangup()
; catch other DID formats (with or without +)
exten => _X.,1,Goto(from-smsconecta,<YOUR_NUMBER>,1)

[from-internal]
; outbound: dial +<country code><number>
exten => _+X.,1,Set(CALLERID(num)=<YOUR_NUMBER>)
 same => n,Dial(PJSIP/${EXTEN}@smsconecta,60)
 same => n,Hangup()
05

Cómo recargar la configuración y comprobarla

  1. 1Guarda los dos archivos y, en la CLI de Asterisk (asterisk -rvvv), ejecuta pjsip reload y dialplan reload.
  2. 2Ejecuta pjsip show registrations y verifica que smsconecta aparece Registered.
  3. 3Ejecuta pjsip show endpoint smsconecta para revisar códecs, el contacto del aor y que identify esté coincidiendo.
  4. 4Desde otro teléfono, llama a tu número de SMS Conecta y observa la CLI: la llamada debe entrar por from-smsconecta y hacer sonar la extensión 1001.
  5. 5Marca un número internacional desde una extensión local con el formato +país y confirma que quien recibe la llamada ve tu número de SMS Conecta.
06

Qué número aparece al llamar

Fija el identificador de llamada con el número propietario de la cuenta SIP, ya sea mediante callerid en el endpoint o con CALLERID(num) en el plan de marcación, tal como se mostró arriba. Debe coincidir siempre con las credenciales de la troncal. Cada llamada saliente resta de los 1.000 minutos mensuales incluidos con el número.

07

Diagnóstico de errores

  • ✓ Registro 401/403: el usuario y la contraseña no cuadran, o la sección auth no está enlazada vía outbound_auth. Ejecuta pjsip set logger on y lee el intercambio REGISTER.
  • ✓ Las llamadas entrantes se rechazan como anónimas o con «No matching endpoint found»: falta la sección identify, o la dirección de origen no coincide. Verifica que el nombre de host se resuelve en tu servidor y vuelve a recargar.
  • ✓ Audio en un solo sentido: define external_media_address, external_signaling_address y local_net dentro del transporte, mantén rtp_symmetric y force_rport activados, y abre en el firewall el rango de puertos de tu rtp.conf.
  • ✓ 488 Not Acceptable Here: hay un desajuste de códecs. Conserva allow=ulaw,alaw.
  • ✓ El DTMF no se detecta: deja dtmf_mode=rfc4733 (el método de eventos RTP de RFC 2833); recurre a info solo si el otro extremo exige SIP INFO.
FAQ

Preguntas frecuentes

¿Hacen falta a la vez las secciones registration e identify?
Sí, ambas cumplen funciones distintas. Registration le indica a SMS Conecta dónde entregar tus llamadas, mientras que identify permite que Asterisk asocie esas entrantes con el endpoint smsconecta.
¿rfc4733 equivale al DTMF de RFC 2833?
Sí, son equivalentes. RFC 4733 actualizó a RFC 2833 describiendo el mismo método de eventos RTP, que es justo el que aplica el ajuste rfc4733 de Asterisk.
¿Se puede optar por chan_sip en vez de PJSIP?
chan_sip ya desapareció de las versiones actuales de Asterisk, de modo que PJSIP es la única opción con soporte vigente. El servidor, las credenciales y los códecs se mantienen iguales.
¿Admite Asterisk una conexión por TLS?
Sí. Define un transporte TLS, haz que registration y aor apunten al puerto 5061 y referencia ese transporte. El cifrado de medios SRTP no está disponible.
¿Cómo incorporo un segundo número de SMS Conecta?
Duplica las secciones registration, auth, aor, endpoint e identify bajo un nombre distinto, con las credenciales de ese número, y suma su DID al plan de marcación.
¿Existe una API de SMS Conecta pensada para Asterisk?
No disponemos de API para clientes ni de webhooks; Asterisk se conecta mediante SIP estándar usando las credenciales de cada número.
→
SRC
✓

Todo viene incluido en cada línea

  • ✓ Recepción de SMS sin límite
  • ✓ Recepción de llamadas sin límite
  • ✓ 500 SMS de salida cada mes
  • ✓ 1.000 minutos de salida cada mes
  • ✓ Acceso SIP para conectar cualquier softphone o central telefónica
  • ✓ Reenvío de llamadas a cualquier teléfono
  • ✓ Discador desde el navegador en tu panel
  • ✓ Conservas el número el tiempo que decidas
  • ✓ Garantía de reemplazo de 7 días: número nuevo gratis

A partir de $1.80/mes · con cobro anual ($21.60).

Garantía de reemplazo de 7 días

Si en los 7 días siguientes a la compra el número no te funciona, por ejemplo porque una app no lo acepta o los códigos no llegan, lo cambias gratis por uno nuevo del mismo país con un clic en el panel. Puedes hacerlo hasta 2 veces, lo hayas usado o no. Y si el número no se ha usado, también puedes pedir el reembolso completo.

Explorar todas las líneas →

El proceso de alta y cobro se gestiona únicamente en inglés.