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