Bueno, aunque debería hablar más de configuraciones y cosas por el estilo, he pensado escribir esta pequeña guía sobre la instalación de FreeSWITCH 1.0.4 en Windows Vista partiendo de las fuentes. Para empezar tenemos que descargar Microsoft Visual C++ 2008 Express Edition y instalarlo. Una vez que hemos terminado con esta tarea tenemos que descargar y instalar también el paquete de las librerías de Microsoft Visual C++ 2008. Estas librerías la necesitamos para arrancar FreeSWITCH una vez compilado.
Ahora podemos descargar el paquete de FreeSWITCH 1.0.4. Lo descomprimimos en la carpeta que queremos (en mi caso en el escritorio). Ahora entramos en la carpeta creada y miramos los archivos presentes:
Buscamos este archivo y clicamos dos veces. Debería abrirse el programa Visual C ++ y deberíamos tener algo parecido:
Ahora posicionamos el ratón sobre la línea Solución ‘Freeswitch.2008.express’ y clicamos con el botón derecho. En el menú que aparece escogemos la opción “Generar Solucion”. Se iniciará la compilación de FreeSWITCH. Dependiendo del procesador y la memora RAM instalada el proceso puede tardar de algunos minutos a una media hora.
Terminada la compilación en la carpeta de FreeSWITCH encontraremos una carpeta nueva con nombre “Debug”. Ahí encontraremos todos los archivos (configuración, módulos, etc.).
Ahora antes de arrancar FreeSWITCH tenemos que configurar el archivo vars.xml. Pueden haber distintas situaciones:
FreeSWITCH ahora soporta los protocolos UpnP (Universal Plug and Play) que prácticamente permiten abrir los puertos en el router sin la necesidad de hacer la configuración manualmente. Para que esto funcione debemos tener UpnP presente en nuestro router y activado. Entramos en la configuración del router y buscamos esa opción:
Una vez activada seguimos.
En este caso configuramos el vars.xml (en que encontramos en la carpeta ..debug/conf de esta forma (he dejado solamente las líneas que nos interesan):
<include>
<X-PRE-PROCESS cmd="set" data="domain=mioIP"/>
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=mioIP"/>
<X-PRE-PROCESS cmd="set" data="external_sip_ip=mioIP"/>
<!-- Internal SIP Profile -->
<X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5070"/>
<X-PRE-PROCESS cmd="set" data="internal_tls_port=5071"/>
<X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
<X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
<!-- External SIP Profile -->
<X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
<X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
<X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
<X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
<X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/ssl"/>
</include>
Si queremos hacer pruebas con un softphone instalado en el mismo computador tenemos que cambiar los puertos del perfil internal para que no hayan conflictos.
En el caso de un IP dinámico tenemos que acudir a un servicio tipo aquello brindado por DynDNS. De esta forma podremos crear un dominio DNS direccionarlo a nuestra IP y configurar el router para que cada vez que se prenda se conecte al servicio y actualice la dirección IP. Vamos por pasos. Creamos una cuenta y cuando esté activa en la parte izquierda escogemos el botón “My services”:
entre los varios servicios que aparecen escogemos Host Services > Add Hostname:
y en la pagina sucesiva configuramos un dominio del tipo miodominio.dyndns.org:
insertando la dirección IP publica que tenemos asignada en ese momento.
Presionamos el botón “Create Host” para crear nuestro hostname.
Ahora volvemos al router y configuramos el Dynamic DNS
La configuración de vars.xml en este caso será:
<include>
<X-PRE-PROCESS cmd="set" data="domain=miodominio.dyndns.org"/>
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=miodominio.dyndns.org"/>
<X-PRE-PROCESS cmd="set" data="external_sip_ip=miodominio.dyndns.org"/>
<!-- Internal SIP Profile -->
<X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5070"/>
<X-PRE-PROCESS cmd="set" data="internal_tls_port=5071"/>
<X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
<X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
<!-- External SIP Profile -->
<X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
<X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
<X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
<X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
<X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/ssl"/>
</include>
Guardamos los cambios y arrancamos FreeSWITCH clicando dos veces sobre el icono del archivo FreeSwitch.exe presente en la carpeta Debug. Si aparece esta ventana (tenemos el firewall de Windows Vista activado):
le damos Desbloquear.
Si todo sale bien deberíamos ya poder conectarnos localmente o desde remoto.
En mi caso para probarlo desde remoto conecté mi servidor Asterisk a FS de Windows Vista:
Desde local utilicé X-Lite:
Y hice una llamada de prueba al IVR que viene con la configuración básica:
He hecho prueba desde una extensión de Asterisk al X-Lite y todo parece funcionar bien.
A veces durante la compilación no se instalan los anuncios y la música en espera. Los pueden descargar aqui.
Por ahora no he hecho más pruebas.
Comentarios
gerardo fuentes
ya hice todos los pasos pero cuando intento llamar me dice request time out
time out
per la extension se conecta correctamente al servidor?
o no logras conectarla?
Немного о контенте
Блог очень качественный. Вручить бы Вам награду за него или почетный орден. +)
Thank you
Thank you very much. If you want, you can donate.
Best Regards
FreeSwitch parecía muy
FreeSwitch parecía muy difícil de instalar, pero gracias a tu tutorial he conseguido hacerlo funcionar. Tuve algunos problemas para configurar la IP, pero ahora todo está funcionando bien. Giron Escobar