Una vez instalado Asterisk, la parte mas importante es configurar el troncal correctamente.
Tras varias pruebas a lo largo de un año, con Asterisk con interfaces gráficas, finalmente la conclusión es clara: La mejor forma de configurar nuestros troncales y extensiones es programando bajo comandos en Linux. Esto te permite tener un mayor control sobre tu dialplan así como las extensiones que se crean.
Por ello me puse a trabajar sobre como registrar el troncal de Asterisk sobre mi linea de VoIP de Jazztel, y tras varios intentos, versiones de Asterisk, y demás, conseguí configurarla correctamente y de forma estable.
Debemos tener en cuenta que en el caso de Jazztel, usaremos ademas de la configuración troncal en si, el registro del USER-AGENT, que en otras compañías no se esta usando.
Lo primero que debemos saber es que el archivo a configurar en este caso es el pjsip.conf, este archivo, como todos en Asterisk, ira ligado a otros, como el extensions.conf que es donde contendremos el dialplan.
También debemos entender que habrá otros archivos que nos permitirán elegir los elementos que se cargan, como el modules.conf por ejemplo.
Pero volviendo a nuestro pjsip.conf vamos a ver que configuramos aquí.
Por un lado vamos a definir las extensiones que vamos a configurar, podremos tener tantas como terminales queramos tener en nuestra red de telefonía.
Por el otro configuraremos el troncal que nos dará acceso a la linea telefónica exterior.
Aunque antes de nada tendremos una parte común de configuración general, en la cual podremos configurar también el User-Agent.
Vamos alla!:
Definimos primero la parte general:
[general] language=es allowguest=no autodomain=yes domain=ims.jazzztel.net ; En el caso de movistar es telefonica.net sipdomain=ims.jazztel.net ; En el caso de movistar es telefonica.net [general] type=global user_agent=ZXHN ZTEF680/V2.0.10T5_JAZZT11I ; Esta linea solo seria necesaria en Jazztel, se consigue con el modelo y version de firm del router [endpoint] 100rel=yes sdp_session=ZXHN ZTEF680/V2.0.10T5_JAZZT11I ; Esta linea solo seria necesaria en Jazztel, se consigue con el modelo y version de firm del router
; ############# Transporte interno Centralita #############
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
local_net=192.168.1.0/24 ; Define el rango IP de nuestra red
local_net=127.0.0.1/32 ; Define el rango IP interno de la centralita
Ahora vamos a definir las extensiones a continuación:
; ################## Extension en casa ################# ; ##### 100 ##### Extension que queramos [100] type=endpoint transport=transport-udp context=extensiones disallow=all allow=ulaw,alaw,gsm force_rport=yes direct_media=no mailboxes=100@default auth=100 aors=100 [100] type=auth auth_type=userpass password=contraseña ; Contraseña que queramos poner username=28100 [100] type=aor max_contacts=1 ; Maximas llamadas simultaneas en caso de llamadas en espera u otras funciones similares qualify_frequency=30 ; ##### 200 ##### Extension que queramos [200] type=endpoint transport=transport-udp context=extensiones disallow=all allow=ulaw,alaw,gsm,g729 direct_media=no mailboxes=200@default auth=28200 aors=28200 [200] type=auth auth_type=userpass password=contraseña ; Contraseña que queramos poner username=200 [200] type=aor max_contacts=1 ; Maximas llamadas simultaneas en caso de llamadas en espera u otras funciones similares
qualify_frequency=30
Ahora vamos con la parte del troncal, la de Jazztel en si:
; ########### Registro linea telefonica de Jazztel ############# [Jazztel_registration] type=registration transport=transport-udp outbound_auth=Jazztel_auth server_uri=sip:XXX.XXX.XXX.XX:5060 ; IP usada en nuestra conexión SIP 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. ; Nuestro número de teléfono retry_interval=60 expiration=3600 support_path=yes [Jazztel_auth] type=auth auth_type=userpass password=XXXXXX ; Contraseña de nuestra conexión SIP, se debe sacar del router en cuestion username=Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ; Usuario de nuestra conexión SIP realm=ims.jazztel.net [Jazztel_endpoint] type=endpoint transport=transport-udp context=Jazztel disallow=all allow=ulaw allow=alaw allow=gsm allow=g729 outbound_auth=Jazztel_auth aors=Jazztel_aor from_user=+3491XXXXXXX ; Nuestro número de teléfono from_domain=ims.jazztel.net [Jazztel_aor] type=aor max_contacts=2 contact=sip:Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ; Nuestro número de teléfono qualify_frequency=60 qualify_timeout=5 support_path=yes [Jazztel_identify] type=identify endpoint=Jazztel_endpoint match=XXX.XXX.XXX.XX ; IP de nuestro servidor SIP [acl] type=acl acl=internal
Si en su lugar tuviéramos la conexión de Movistar, seria del modo siguiente:
; ########### Registro linea telefonica de Movistar ############# [Telefonica_registration] type=registration transport=transport-udp outbound_auth=Telefonica_auth server_uri=sip:XX.XX.XXX.XXX:5070 ; IP de nuestro servidor SIP 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. ; Nuestro número de teléfono retry_interval=60 expiration=3600 support_path=yes [Telefonica_auth] type=auth auth_type=userpass password=91XXXXXXX ; Nuestro número de teléfono
username=Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ; Nuestro número de teléfono
realm=telefonica.net
[Telefonica_endpoint]
type=endpoint
transport=transport-udp
context=Telefonica
disallow=all
allow=alaw
allow=ulaw
allow=g729
allow=g722
outbound_auth=Telefonica_auth
aors=Telefonica_aor
from_user=91XXXXXXX ; Nuestro número de teléfono
from_domain=telefonica.net
[Telefonica_aor]
type=aor
max_contacts=2
contact=sip:Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ; Nuestro número de teléfono
qualify_frequency=60
qualify_timeout=30 ; Pondremos 30 sg. Telefonica responde en unos 7 sg aprox cada peticion
support_path=yes
[Telefonica_identify]
type=identify
endpoint=Telefonica_endpoint
match=XX.XX.XXX.XXX ; IP de nuestro servidor SIP
[acl]
type=acl
acl=internal
Debemos de tener en cuenta que el nombre que demos al troncal en sus contextos (lo que va entre corchetes) debe ser a lo que hagamos referencia el los context a los que estemos llamando a los mismos.
Por ejemplo en [Telefonica_endpoint] hacemos referencia al contexto [Telefonica_auth] en la linea outbound_auth=Telefonica_auth. O por ejemplo en nuestro dialplan las llamadas saldran por el contexto Telefonica_endpoint
Aquí podemos ver como se registra cada uno de los troncales en su compañía. Como podemos ver, en concreto el de Movistar, nos da Unavail, o Unavaible, pero esta registrado y llamando.