Otra entrada que es un apunte.
Recientemente, he tenido que probar esta funcionalidad con mi centralita casera, basada en asterisk.
La idea es, que desde cualquier teléfono IP compatible, sin necesidad de estar registrado en ningún servicio voIP, marques craem@craem.net y la llamada llegue a mi casa / móvil o lo que sea…. la verdad es que es bastante chulo y lo veo realmente práctico; tu teléfono es tu dirección de email.
Nos ponemos a ello; primero de todo hemos de modificar nuestro dominio para que sepa que tenemos un servicio SIP:
Y explicamos un poco el registro:
_sip._tcp.craem.net SRV 0 5 5060 sip.craem.net.
_sip._udp.craem.net SRV 0 5 5060 sip.craem.net.
_sip._tcp.craem.net SRV 0 5 5060 sip.craem.net.
_sip._tcp –> tipo de servicio SIP, en este caso, TCP (por ahora no lo tengo funcionando)
_sip._udp –> Este es el que tengo activo.
SRV –> tipo de registro
0 –> Prioridad (de momento sólo tengo una conexión a internet).
5 –> Peso
5060 –> Puerto donde tenemos el servicio
sip.craem.net –> donde tenemos apuntando el servicio.
Una vez llegados aquí, nos toca configurar el asterisk; editamos el fichero sip.conf y en la sección [general], lo tenemos que dejar tal que:
context=default ; contexto por defecto, entrantes... por si peta que solo puedan llamar a las locales
allowguest=yes ; Allow or reject guest calls (default is yes)
language=es ; lo pasamos a castellano
allowexternalinvites=no ; para evitar marrones
Hemos de permitir las llamadas anónimas, pero las enviaremos al contexto DEFAULT… OJO CON PONER EN EL CONTEXTO DEFAULT, REFERENCIAS A LLAMADAS SALIENTES. Seguro de que alguno de los que leen el blog ha sufrido «robos» de dinero en la centralita por culpa de malas configuraciones.
No vamos a explicar cómo protegerla, pero empieza por tener contraseñas fuertes, límite de llamadas, etc… y ahora el contexto default en en extensions.conf
[default]
exten => test1,1,Dial(SIP/3010,30)
exten => test1,n,VoiceMail()
exten => test1,n,Hangup()
exten => test2,1,Dial(SIP/3000,30)
exten => test2,n,VoiceMail()
exten => test2,n,Hangup()
exten => music,1,MusicOnHold(default)
exten => music,n,Hangup
exten => s,1,Noop(Colgando la llamada.....)
exten => s,2,Hangup
Si queréis probar, llamar a music@craem.net y os sonará la música en espera que tengo en el asterisk.
Y ahora, desde nuestro móvil, hacemos una llamada a music@craem.net y vemos:
-- Executing [music@default:1] MusicOnHold("SIP/1024-9408c880", "default") in new stack
-- Started music on hold, class 'default', on SIP/1024-9408c880
Se ejecuta: music@default:1
music –> donde hemos llamado
default –> contexto default de las llamadas entrantes (SIN PERMISO DE LLAMADAS SALIENTES)
Enjoy 🙂