Asterisk PJSIP

Ejemplo de ajustes de conexión de Asterisk PJSIP a Zadarma.

Los datos están indicados en el ejemplo::

  • 111111 Tu número SIP del área personal.
  • Password Tu contraseña del número SIP, de la sección de "ajustes SIP" del área personal.
  • 101 Número de extensión de Asterisk al que se conecta desde la ip de un softphone/teléfono para recibir llamadas entrantes y realizar llamadas salientes.

Ejemplo estándar de configuración

Las llamadas salientes desde el número de extensión 101 se envían a la línea externa 111111 Las llamadas entrantes se reciben mediante registro y se envían al número interno 101

Editamos pjsip.conf

[udp-transport]
type=transport
protocol=udp
bind=0.0.0.0

[111111]
type=registration
transport=udp-transport
outbound_auth=111111_auth
server_uri=sip:sip.zadarma.com
client_uri=sip:111111@sip.zadarma.com
retry_interval=60
expiration=120
contact_user=111111

[111111_auth]
type=auth
auth_type=userpass
password=Password
username=111111

[111111]
type=aor
contact=sip:sip.zadarma.com:5060

[111111]
type=endpoint
transport=udp-transport
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
outbound_auth=111111_auth
aors=111111
from_user=111111
direct_media=no

[111111]
type=identify
endpoint=111111
match=sip.zadarma.com

El número de extensión 101 al que va a conectarse al ip del sofphone/teléfono para recibir llamadas entrantes y realizar llamadas salientes.

[101]
type=endpoint
transport=udp-transport
context=zadarma-out
disallow=all
allow=alaw
allow=ulaw
auth=101
aors=101

[101]
type=auth
auth_type=userpass
password=101
username=101

[101]
type=aor
max_contacts=10
El enrutamiento saliente y entrante se configura en el archivo extensions.conf


[zadarma-in]

exten => 111111,1, Dial(PJSIP/101)                     ; todas las llamadas entrantes desde la línea externa 111111
                                                       ;se envían al número de extensión 101
[zadarma-out]

exten => _XXX,1,Dial(PJSIP/${EXTEN})                   ; llamadas a número de 3 y 4 cifras
                                                       ; de asterisco

exten => _XXX.,1,Dial(PJSIP/${EXTEN}@111111)           ; llamadas a números con cuatro 
                                                       ; o más cifras a través de la línea externa 111111
Se ha realizado la configuración estándar.

Si tienes conectado unos cuantos números de extensión, para mayor comodidad, se puede simbolizar cada número con un "nombre" por ejemplo, moscow y londony configurar el enrutamiento entrante basado en este parámetro. "El nombre" de número directo se transfiere en el parámetro CALLERID(name).

En el ejemplo siguiente, las llamadas desde el número moscow están dirigidas al número de extensión 101, las llamadas desde el número london están dirigidas al número de extensión 102, y todas las otras llamadas las va a rechazar asterisk por medio de la señal "Ocupado"


[zadarma-in]

exten => _X.,1,GotoIf($["${CALLERID(name)}" = "moscow"]?2:3)
exten => _X.,2,Dial(PJSIP/101)
exten => _X.,3,GotoIf($["${CALLERID(name)}" = "london"]?4:5)
exten => _X.,4,Dial(PJSIP/102)
exten => _X.,5,Busy

Tu número directo en el que entra la llamada se transfiere al header CALLED_DID Puedes configurar el enrutamiento de la llamada entrante basada en este parámetro.

En el próximo ejemplo las llamadas desde el número 74957776675 están dirigidas al número de extensión 101, las llamadas desde el número 442037691880 están dirigidas al número de extensión 102, y todas las otras llamadas las va a rechazar asterisk con la señal de "Ocupado"


[zadarma-in]

exten => _X.,1,GotoIf($["${PJSIP_HEADER(read,CALLED_DID)}" = "74957776675"]?2:3)
exten => _X.,2,Dial(PJSIP/101)
exten => _X.,3,GotoIf($["${PJSIP_HEADER(read,CALLED_DID)}" = "442037691880"]?4:5)
exten => _X.,4,Dial(PJSIP/102)
exten => _X.,5,Busy


Configuración realizada.

Ejemplo de configuración №2 (SIP URI)

Si el servidor de Asterisk se encuentran en una dirección IP "blanca". (no en el router, sino por ejemplo en un centro de datos) es posible recibir llamadas entrantes sin registro en base al esquema de SIP URI. Los datos están indicados en el ejemplo:

  • 15555555555 - Tu número directo conectado a Zadarma.
  • 2.20.190.41 - La dirección IP de tu servidor con Asterisk.
En el área personal, en la sección de "Configuración - número directo" dirige las llamadas desde el número directo al servidor exterior (SIP URI) en formato 15555555555@2.20.190.41

Editamos sip.conf

[15555555555]
type=aor
contact=sip:sip.zadarma.com:5060

[15555555555]
type=endpoint
transport=udp-transport
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
aors=15555555555
direct_media=no

[15555555555]
type=identify
endpoint=15555555555
match=sip.zadarma.com

Ruta de la llamada entrante en el archivo extensions.conf

[zadarma-in]

exten => 15555555555,1, Dial(PJSIP/101)

Configuración realizada.