Les paso esto que he estado tarequeando acá en el trabajo. Quizás le sea útil a alguien. Al menos para mí, fue enfrentarme con algo nuevo y sin conocimientos previos.
Resulta que mandaron a nuestra fábrica algunos componentes (dos cajitas ATA (Adaptador de Teléfono Analógico; convierte una señal de VoIP en señal para un teléfono, fax, contestador, etc. analógico), dos teléfonos IP, una tarjeta OpenVoice) y nos alertaron de que debíamos preparar condiciones para en un futuro comunicarnos mediante VoIP con las oficinas centrales de TabaCuba. No teniendo absolutamente ninguna experiencia en tales menesteres, empecé a estudiar documentación para ver, en primer lugar, la posibilidad de poner VoIP en las máquinas de la fábrica, y luego extender esto a la conexión con las oficinas centrales. Está claro que desde el Pidgin que usamos acá es posible tener VoIP de máquina a máquina: teniendo declarada la configuración del sonido allí, usamos en pruebas la opción del menú Conversaciones/Medios y conversamos de máquina a máquina.También podríamos usar Ekiga y llamarnos mediante: nombre-usuario@máquina:5060 pero sería de desear poder disponer de las comodidades de una centralita de teléfonos o algo parecido. así que empecé a valorar Asterisk y Elastix. Elastix provee una interfaz web que al parecer hace todo más cómodo, pero no teniendo una máquina donde instalarlo en este momento, me forzaría a levantar otra máquina virtual; ya tengo dos funcionando con sistemas priorizados, así que sería la última opción. Me decanté por instalar Asterisk, ya que tenía una máquina Linux con espacio y disponibilidad. Asterisk tiene un demo que permite hacerse una idea, pero sin documentación suficiente es muy difícil captar lo esencial. Después de leer montañas de documentación que no me aclaraban todo lo que necesitaba entender, encontré un buen ejemplo que me permitió declarar usuarios en la centralita. en el fichero /etc/asterisk/extensions.conf declararé por el momento dos usuarios: [miprimerejemplo] ;director exten => 20011,1,Dial(SIP/20011,30,Ttm) exten => 20011,2,Hangup exten => 20011,102,Voicemail(20011) exten => 20011,103,Hangup ;secre exten => 20013,1,Dial(SIP/20013,30,Ttm) exten => 20013,2,Hangup exten => 20013,102,Voicemail(20013) exten => 20013,103,Hangup Estos son las extensiones del director y la secretaria. cuando estén conectados, y usando algún cliente SIP, se llamarán a los números 20011 y 20013 para comunicarse entre sí. en el fichero sip.conf debo poner las autorizaciones de registro de ambos: [20011] type=friend secret=contrasena1 qualify=yes nat=no host=dynamic canreinvite=no context=miprimerejemplo mailbox=20011@miprimerbuzon [20013] type=friend secret=contrasena2 qualify=yes nat=no host=dynamic canreinvite=no context=miprimerejemplo mailbox=20100@miprimerbuzon Dejo fuera por el momento la declaración del buzón de voz; la veremos más adelante. Levanto el asterisk desde una consola (para monitorear si todo va bien) mediante asterisk -vvgc y me fijo si aparecen mensajes de error. Hay advertencias, pero nada crítico, así que adelante. Paso a configurar los clientes SIP de ambos. En Linux tengo unos cuantos clientes, entre los cuales puedo contar Ekiga, sflphone, Twinkle. Si usara Ekiga, me registraría en la centralita de la siguiente forma, en el menú Editar/Cuentas: Nombre: Director Servidor de registro: Usuario:20011 Usuario para identificación: 20011 Contraseña: contrasena1 Tiempo de expiración 3600 Al salvar los datos debe decirme que se registró correctamente. En caso contrario, revisemos qué pusimos mal. Desde la máquina de la secretaria el registro sería igual, cambiando como es lógico el 20011 por el 20013. De forma similar procedería si usara sflphone, o en el caso de Windows, si usara 3CXPhone6, que se ve como un celular "de verdad". Es importante que en cada caso comprobemos la configuración de sonido en el cliente. En Ekiga configurar un contacto de voz exige que declare la línea SIP completa. Puedo declarar algo como: sip:20...@partagas.ettpartagas.co.cu:5060 Le doy un nombre adecuado, y lo clasifico como Amigo (o creo un grupo adecuado). Lo importante es que remitamos la llamada al servidor asterisk, que la redireccionará al equipo deseado. Si todo va bien, ya podría marcar el número de la extensión del usuario deseado y estaría conversando. Pasemos a otra tarea. Acá nos han dejado unas cajitas ATA modelo Grandstream HT701. Mediante ella podemos conectar un aparato de teléfono analógico común y corriente con nuestra centralita Asterisk, de modo que al discar un número de extensión prefijado nos responda el teléfono. Este ATA viene "de caja" configurado para recibir una dirección dinámica, pero eso no me conviene. Para configurarlo monto por un momento un servidor DHCP en mi Debian 6 instalando isc-dhcpserver, y en /etc/dhcp/dhcpd.conf declaro lo siguiente, por ejemplo: # This is a very basic subnet declaration. subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.239 192.168.0.240; # option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; } Esto es sumamente básico, solo para servir un par de direcciones IP, de modo que la cajita ATA agarre una, y luego apuntar mi navegador hacia ella para terminar de configurarlo. Inicio el servicio DHCP mediante service isc-dhcpserver start Conecto la cajita a la corriente, le pongo un cable de red que la conecte a un switch (tiene que estar en red, ¿no?) y por donde va el conector telefónico lo conecto a un teléfono común y corriente. Esperamos un poco y apuntamos el navegador a 192.168.0.239 (cogió la primera dirección, como era de esperar). La página que se abre me redirige a 192.168.0.239/cgi-bin/index En mi caso debo autorizar la ejecución de lo que va en ese cgi-bin, porque tengo activado NoScript en el Firefox. Me sale una ventana de autenticación donde tecleo la contraseña: admin Y ya estoy dentro. Voy a darle la extensión 20100 a la cajita ATA. Voy en el navegador al menú Basic Settings, le declaro el DNS interno de acá, la dirección IP fija que quiero darle (192.168.0.160) y cualquier otra cosa que haga falta. En el menú FXSPort le indico: Primary SIP Server: IP o nombre del servidor SIP SIP User ID: 20100 Authenticate ID: 20100 Authenticate Password: contrasena3 Name: Cajita Tell URI: enabled Salvé los datos declarados y mandé a resetear. Ojo, que se demora al menos 5 minutos chequeándose! No la desconecte ni apague. Ahora debo declararle una extensión a esa cajita dentro de la centralita Asterisk. Voy a /etc/asterisk/extensions.conf y añado lo siguiente: ;cajita ATA exten => 20100,1,Dial(SIP/20100,30,Ttm) exten => 20100,2,Hangup exten => 20100,102,Voicemail(20100) exten => 200100,103,Hangup Me falta dar la posibilidad de que la cajita ATA se registre en la centralita Asterisk. Voy a /etc/asterisk/sip.conf y añado lo siguiente: [20100] type=friend secret=contrasena3 qualify=yes nat=no host=dynamic canreinvite=no context=miprimerejemplo mailbox=20100@miprimerbuzon Reinicio el Asterisk, reinicio la cajita y espero con paciencia a que encienda todos sus bombillitos ;-) Si todo ha ido bien, ya podré discar en mi cliente SIP la extensión 20100 y me responderá el teléfono. A conversar! -- M.Sc. Alberto García Fumero Usuario Linux 97 138, registrado 10/12/1998 http://interese.cubava.cu Una conclusión es el punto en que usted se cansó de pensar. ______________________________________________________________________ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l