Tras varios años trabajando con los trunk sip de los operadores comerciales, y sus negativas a la cesión de datos SIP, y cara a un próximo cambio de domicilio, he decidido cambiar el sistema. Tendré fibra con un operador determinado sin ningún otro complemento y contrataré un numero de teléfono como trunk sip con una compañía de telecomunicaciones de las múltiples que ha en el mercado.
En mi caso lo tengo con Flash Telecom, el cual me ha ofrecido un buen precio, además de poder contratarlo online y de tener un buen soporte que en mi caso me ha ayudado a encontrar un pequeño fallo en mi dialplan.
A continuación, paso a detallar el ejemplo de cómo configurar el trunk en PJSIP y el Dialplan.
En el archivo pjsip.conf, añadiremos la configuración del trunk.
; ###########################################################
; ########### Registro troncal de Flash Telecom #############
; ###########################################################
[trunkip]
type=registration
transport=transport-udp
outbound_auth=trunkip
server_uri=sip:Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. :5080 (nombre de usuario)
client_uri=sip:Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. :5080 (nombre de usuario)
contact_user=trunkip
retry_interval=60
[trunkip]
type=auth
password=yyyyyyyyy (clave de usuario)
username=xxxxxxxxx (nombre de usuario)
[trunkip]
type=aor
contact=sip:pjsip.fmeuropa.com:5080
qualify_frequency=60
qualify_timeout=30
support_path=yes
remove_existing=yes
maximum_expiration=600
[trunkip]
type=endpoint
transport=transport-udp
context=vvvvvvv (nombre del conexto en dialplan para llamadas entrantes)
disallow=all
allow=alaw
outbound_auth=trunkip
aors=trunkip
from_user=xxxxxxxxx (nombre de usuario)
send_rpid=yes
send_pai=yes
[trunkip]
type=identify
endpoint=trunkip
match=pjsip.fmeuropa.com
match=161.22.43.99
Una vez conectado el trunk, podremos realizar y recibir llamadas a través deldialplan, esto lo añadiremos según nuestra configuración en extension.conf:
; ###########################################################
;
; ############# Llamadas salientes Telefonica ###############
; ######### Llamadas origen interno destino externo #########
[fijos]; Llamadas a telefonos fijos nacionales desde el trunk Flash Telecom.
exten => _[89]ZXXXXXXX,1,NoOp(Llamada a fijo ${EXTEN} a las ${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)})
same => n,System(echo '${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)} Llamada de ${CALLERID(num)} a ${EXTEN}' >> /var/log/asterisk/llamadas_salientes.txt)
same => n,Dial(PJSIP/trunkip/sip:${EXTEN}@pjsip.fmeuropa.com:5080,60)
same => n,hangup();(Llamada a fijo ${EXTEN} finalizada)
[moviles]; Llamadas a telefonos moviles a traves del trunk Flash Telecom.
exten => _[67]XXXXXXXX,1,NoOp(Llamada a movil ${EXTEN} a las ${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)})
same => n,System(echo '${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)} Llamada de ${CALLERID(num)} a ${EXTEN}' >> /var/log/asterisk/llamadas_salientes.txt)
same => n,Dial(PJSIP/trunkip/sip:${EXTEN}@pjsip.fmeuropa.com:5080,60)
same => n,hangup();(Llamada a móvil finalizada a ${EXTEN})
; ###########################################################
;
; ############ Llamadas entrantes Flash Telecom #############
; ############## Fijo - llamadas XX XXX XX XX ###############
; xxxxxxx será el numero de teléfono que tenemos asignado
[trunk]
exten => xxxxxxxxxx,1,NoOp(Llamada entrante Flash Telecom de ${CALLERID(num)} a las ${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)})
same => n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${CALLERID(num)}' >> /var/log/asterisk/llamadas_entrantes.txt)
same => n,Dial(Local/8100@extensiones,30,Tti)
same => n,Voicemail(8100@default)
same => n,Hangup();(Llamada entrante de ${CALLERID(num)} finalizada)
Siempre en las llamadas salientes debemos añadirlo al inicio del dialplan en contextos
[externas]
include => fijos
include => moviles