Guia de configuración de Asterisk PJSIP (my.megacall.es)

Created by Rob Garcia, Modified on Fri, 19 Dec at 11:52 AM by Rob Garcia

Como configurar Asterisk PJSIP con Megacall.

Information utilizado en el ejemplo:
  • 111111 - Su número SIP desde el https://my.megacall.es/mysip/.
  • Contraseña - La contraseña SIP que se puede encontrar en la sección "Ajustes SIP" en su interfaz https://my.megacall.es
  • 101 - Número de extensión de Asterisk al que se conecta desde una ip de 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 el pjsip.conf con la siguiente información:


[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.megacall.es
client_uri=sip:111111@sip.megacall.es
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.megacall.es

[111111]
type=endpoint
transport=udp-transport
context=megacall-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.megacall.es


El número de extensión 101 al que va a conectarse a la IP del softphone/teléfono para recibir llamadas entrantes y relaizar llamada salientes. Un ejemplo seria:


[101]
type=endpoint
transport=udp-transport
context=megacall-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 puede configurar en el fichero extensions.conf con el siguiente ejemplo:


[megacall-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

[megacall-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


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 al servicio de Megacall.


El número del encabezado P-Asserted-Identity será usado con prioridad. Si en encabezado no ha sido seleccionado o se ha configurado un número incorrecto, se utilizará el número predeterminado para la cuenta.


[megacall-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 tienes conectado unas cuantas extensiones, para mayor comodidad, se puede definir cada número con un "nombre", por ejemplo Madrid y Málaga y luego configurar el enrutamiento entrante basandose en este pará metro. El "nombre" de número directo se transfiere en el pará metro CallerID(name).


En el siguiente ejemplo, las llamadas con destino a Madrid están dirigidas al número de extension 101, las llamadas desde el número Málaga 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"


[megacall-in]

exten => _X.,1,GotoIf($["${CALLERID(name)}" = "Madrid"]?2:3)
exten => _X.,2,Dial(PJSIP/101)
exten => _X.,3,GotoIf($["${CALLERID(name)}" = "Málaga"]?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 basandose en este parámetro.


En el siguiente ejemplo las llamadas desde el telefono 34916123456 están dirigidas al número de extensión 101, las llamadas desde el número 34952123456 están dirigidas al número de extensión 102, y las demás llamadas las va a rechazar Asterisk con una señal/tono de "Ocupado".


[megacall-in]

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

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article