Instrucciones de configuración de equipo VoIP 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.
  • 1234-100 - Tu número de extensión de la centralitadel àrea personal
  • Password - La contraseña de tu extensión de la centralita virtual 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

Las llamadas salientes desde el número de extensión 101 se envían a la línea externa 1234-100 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

[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




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

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

[1234-100_auth]
type=auth
auth_type=userpass
password=Password
username=1234-100

[1234-100]
type=aor
contact=sip:pbx.zadarma.com

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

[1234-100]
type=identify
endpoint=1234-100
match=pbx.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




[zadarma-in]
exten => 1234-100,1, Dial(PJSIP/101)                   ; todas las llamadas entrantes desde la línea externa 1234-100 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}@1234-100)         ; llamadas a números con cuatro o más cifras a través de la línea externa 1234-100

Se ha realizado la configuración estándar.

P-Asserted-Identity (para usuarios avanzados).

En las llamadas salientes se puede usar el encabezado SIP P-Asserted-Identity para la selección del Callerid del listado de números conectados en el servicio.

El número del encabezado P-Asserted-Identity será usado con prioridad. Si el encabezado no es seleccionado o se ha configurado un número incorrecto/no conectado, se usará el número predeterminado.



[zadarma-out]
exten => _XXX.,1,Set(_SET_PAI=)
exten => _XXX.,n,Dial(PJSIP/${EXTEN}@111111,,b(add_header_pai^add^1))
[add_header_pai]
exten => add,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)=${SET_PAI})
exten => add,n,Return()


Si con varios números conectados, para mayor comodidad, se puede simbolizar cada número con un "nombre" por ejemplo, manchester 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 manchester 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)}" = "manchester"]?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 442045770077 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)}" = "442045770077"]?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

[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
match=sipurifr.zadarma.com
match=sipde.zadarma.com
match=sipuriny.zadarma.com


Ruta de la llamada entrante en el archivo extensions.conf


[zadarma-in]

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


Configuración realizada.

Habilitar cifrado

1.En el archivo pjsip.conf agregamos lo siguiente

[transport-z]

type=transport

protocol=tls

verify_server=no

bind=0.0.0.0:7065

method=tlsv1_2

2.En server_uri después de la dirección del servidor hay que agregar :5061

Instrucciones de configuración de equipo VoIP Asterisk con autorización por dirección IP.