Archive for the ‘asterisk para windows’ Category

Directorios de asterisk

August 6, 2008

En asterisk hay toda una extructura de directorios que detallamos a continuacion:

/etc/asterisk—Asterisk’s configuration files, including the dialplans. •
/var/lib/asterisk/astdb—AstDB file and following subdirectories… •
/var/lib/asterisk/agi-bin—AGI scripts. •
/var/lib/asterisk/firmware—Firmware for asterisk compatible devices. •
/var/lib/asterisk/images—Images to be used with applications supporting images. •
/var/lib/asterisk/keys—Authentication keys for public/private key authentication of peers. •
/var/lib/asterisk/mohmp3—Music on hold files. •
/var/lib/asterisk/sounds—Sounds such as voice prompts.
/usr/lib/asterisk/modules—Asterisk loadable kernel modules. •
/var/spool/asterisk—Asterisk uses this directory for certain things that can be done using
spooling.

/var/run—Process ID information on all active Asterisk processes. •
/var/log/asterisk—Asterisk writes its logs in this location. •
/var/log/asterisk/cdr-csv—Asterisk uses this directory to store call records. •

DeStar: Management Interface for the Asterisk PBX.

June 4, 2008

Destar is a web-based interface to manage the Asterisk PBX.

It provides high-level abstraction of the Asterisk configuration.

Download the latest version: destar-0.2.2

Versions 0.2.X contain many improvements over the 0.1 one:

  • A new interface style (see screenshots).
  • Referencial integrity.
  • Better i18n support (english, spanish and french right now).
  • Better statistics for CDR.
  • Updated for asterisk 1.2.X.
  • Many new features.
  • Several Bug fixes.
  • First version of user manual

Esta opcion la voy a probar en mi maquina asterisk experimental a ver que tal anda.

andlinux, colinux y asterisk

May 2, 2008

andlinux es ubuntu con dos posibles escritorios: xfce y gnome corriendo sobre colinux. Yo lo instale sobre una maquina con windows xp, y a traves de la magnificas utilidades apt-get y synaptic le instale un asterisk 1.4 mas su gui-asterisk de un solo jalon (instalando gcc, make, librerias, etc, etc)

Otra forma de tener linux en un mundo lleno de puertas y ventanas (gates and windows). Yo solo uso mocosoft para experimentar.

Otra forma de tener asterisk sobre windows (bueno en realidad es solo para fines experimentales porque la utlilidad practica de esto es nula) es con cygwin o con asteriskwin32 que usa a cygwin como escalon para montar el sistema.

IAX vs SIP como protocolo de VoIP

April 14, 2008

Tomado de: http://www.asterisk-es.org/modules/news/article.php?storyid=15

Los objetivos de este nuevo protocolo fueron minimizar el ancho de banda necesario para señalización y el medio, y proporcionar soporte interno para traspararencia en la traducción de direcciones de red (NAT), todo ello permitiendo la escalabilidad necesaria para futuras mejoras de funcionalidades. No es necesaria ninguna configuración adicional para hacer funcionar IAX para atravesar firewalls NAT.

En lugar de usar “Real-time Protocol” (RTP), IAX utiliza “User Datagram Protocol” (UDP) sobre un único puerto de Internet (Puerto 4569) para transmitir y recibir la señalización y el medio. IAX atraviesa fácilmente firewalls y emplea muchas menos cabeceras que RTP. IAX puede triplicar el número de llamadas enviadas a través de un solo megabit cuando se utiliza por ejemplo el codec con compresión G.729. Por ejemplo, empleando G.729 a través de protocolo IAX se permiten efectuar al menos 103 llamadas a través de 1M bit de ancho de banda simétrico.

En lugar de “parsear” comandos de texto, IAX utiliza datos únicamente binarios porque esta es la forma natural de comunicarse entre sí los ordenadores.

Las respuestas del protocolo IAX se envían de vuelta desde donde quiera que viniesen en lugar de tener que negociar una dirección IP externa. Al estar continuamente enviándose solicitudes “ping-pong”, si la línea se cae de repente, el dispositivo IAX se percataría en menos de 1 minuto.

Toda la señalización tiene lugar dentro de una consistente capa 2 de datos. Los tonos multifrecuencia (DTMF) se envían siempre a través del mismo camino como el resto de señalizaciones de datos y de esta forma son retransmitidos de forma fiable al otro extremo.

El protocolo IAX transmite los paquetes de audio con tan sólo 4 bytes de cabecera y los comandos emplean un ancho de banda muy reducido. Para llamadas múltiples, el “trunking” IAX reduce las cabeceras de cada canal combinando los datos de varios canales en un sólo paquete, reduciendo así no sólo el número de cabeceras, sino también el número de paquetes, lo cual es importante, por ejemplo, en redes WiFi.

Es más, el protocolo IAX es tan simple y directo que el stack IP completo, el stack IAX, el itnterface TDM, la cancelación de eco y la generación de caller ID se puede implementar en un adaptador de terminales analógicos (ATA). El dispositivo ATA que incluye un puerto de Ethernet un puerto de teléfono, y convierte el teléfono analógico en un teléfono IP se puede contruir con tan sólo un microprocesador de 8-bits, 4K bytes de RAM y 64K bytes de memoria flash interna, por lo que en un futuro cercano, alguien podría construir un teléfono IP por 10$ usando estos componentes tan comunes y baratos.

La presencia de productos futuros

El protocolo IAX se está extendiendo para incluir encriptación y funcionalidades de intercomunicación. Aunque todas las implementaciones son iguales, el principal obstáculo para la aceptación de IAX’s por parte de los fabricantes parece ser la falta de un estandar documentado (documentación disponible en el área de descargas de asterisk-es). Sin embargo, muchos colaboradores están trabajando en la creación de un estándar, y cualquiera puede de forma voluntaria contribuir a la causa.

Incluso sin un estándar documentado, algunos fabricantes han creado nuevos productos compatibles con IAX o extendido las capacidades de sus productos existentes para soportar IAX.

El servicio de telefonía analógica tradicional es fiable porque es tan simple que hay muy pocas posibilidades de equivocarse. El objetivo que persiguen los ingenieros que trabajan con IAX es llegar a hacer la VoIP igual de simple, de forma que un día incluso el menos hábil técnicamente de los empleados de una oficina pueda enchufar un teléfono IP de muy bajo coste y empezar a hacer llamadas directamente.

IAX: How it works (Gráfica Adjunta)

Software opensource for windows, linux, mac………..

March 8, 2008

http://www.opensourcelist.org/

3CX phone system

March 6, 2008

http://www.3cx.com/PBX/sip-server.html

Este PBX basado en software es solo para windows.

Asterisk sobre linux, Asterisk sobre windows, IPPBX y codecs:G.711 y G.729

February 1, 2008

Hoy en dia la VoIP aumenta rapidamente, casi todos los operadores estan migrando o tienen en sus planes estrategicos destinar recursos para que buena parte de su plataforma sea IP, pero no es necesario ser uno de los grandes para beneficiarse de esta tecnologia, o incluso con un poco de dinero, suerte, y conocimientos es posible adentrarse en este fascinante mundo. El porque es basicamente ahorro de costos, ademas de agregar caracteristicas especiales y valores añadidos que seria muy complicado tenerlo en otro sistema, el hecho de poder estructurar un sistema en capas y que ademas no estemos atado a hardware propietario hace que sea atractivo. Luego viene todo el tema del carrier class (99,99 o 99,999, confiabilidad de los equipos IT, respaldos, UPS, conexiones a internet redundantes, ipv4, ipv6, etc)

Por ejemplo ya hemos hablado en este mismo blog muchas veces de asterisk, incluso hemos arrancado sistemas de este tipo con distribuciones tipo livecd, incluso nuestro atrevimiento ha sido mayor al arrancar un sistema de este tipo con qemu (maquina virtual) y luego puesto a funcionar un pequeño sistema VoIP casero con telefonos virtuales. Algunos conceptos claves:

1.- IPPBX: En un PBX ip nativo que no requiere tarjetas adicionales para tener mayor funcionalidad, la activación de más extensiones o nuevas características se realiza mediante licencias de software. A veces para aligerar de carga a los procesadores del servidor se pueden adquirir tarjetas especializadas en determinadas tareas, ejemplo: la codificacion G.729, esta tarea al ser ejecutada en una tarjeta con su propio procesador le quita carga a los procesadores centrales. Basicamente estamos hablando de un servidor con varios procesadores, discos SCSI ( o serial-ATA segun lo que se necesite y el presupuesto) . Los codecs se pueden activar por licencias lo cual implica que seran asociados a la mac de la tarjeta de red (ejemplo no se que pasaria si se me quema la tarjeta de red, las licencias son transferibles???, no lo se buena pregunta) o se pueden comprar la tarjeta con las licencias activadas. Recomiendo visitar esta pagina:

http://atorresa.wordpress.com/category/quintum/

2.- Codecs G.729 y G.711:

El codec g711 tiene dos versiones conocidas como alaw (usado en Europa) y ulaw (usado en USA y Japón). U-law se corresponde con el estandar T1 usado en Estados Unidos y A-law con el estandar E1 usado en el resto del mundo. La diferencia es el método que se utiliza para muestrear la señal. La señal no se muestrea de forma lineal sino de forma logaritmica. A-law tiene un mayor rango.

G729: Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear-prediction (CS-ACELP). Retardo menores de 15 ms.

Existen varias versiones del codec g729 que es interesante explicar por su extendido uso
G729: es el códec original
G729A o anexo A: es una simplificación de G729 y es compatible con G729. Es menos complejo pero tiene algo menos de calidad.
G729B o anexo B: Es G729 pero con supresion de silencios y no es compatible con las anteriores.
G729AB: Es g729A con supresión de silencios y sería compatible solo con G729B.
Aparte de esto G729 (todas las versiones) en general tienen un bit rate de 8Kbps pero existen versiones de 6.4 kbps (anexo D) y 11.4 Kbps (anexo E).

Desde que inicio el proyecto asterisk, digium vendió el codec g729 para que pudiera ser instalado dentro de asterisk por un costo de 10 dólares por canal. Existe la manera de para hacer funcionar el codec g729 sin cargos.

Hasta donde tengo entendido solo funciona en motherboards que tengan un procesador Intel, pero para aquellos que si lo tengan pues ya no tendrán que pagar 10 dólares por canal, creo que tambien ha funcionado en computadoras con procesadores AMD.

El g729 es un equipo que traen muchos equipos y es un codec que funciona incluso en una conexión por MODEM.

Tambien existe el codec g723 para H323, algunos dicen que es el codec utilizado por Skype.

Muchos expertos afirman que G729 es mucho mejor que G711 (tanto en compresiòn como en calidad, es el standard de compresiòn VoIP ) a continuacion algunos datos:
Conexion a 80 K (64 K + cabeceras de ruteo) usando G711.

En cambio, G729 usa aproximadamente 22 K: 8K + cabeceras de ruteo.

Existe un codec en desarrollo que se llama Speex, si se llegara a perfeccionar Speex (un muy cercano competidor de G729) entonces serìa aplicable la comunicación de VoIP libre y sin limitaciones. ILBC está en el mismo rango que G711u/a.

3.- Asterisk es una centralita software (PBX) de codigo abierto. Tomado de para futuras referencias: (http://www.voipforo.com/asterisk/)
Como cualquier centralita PBX permite interconectar telefonos y conectar dichos telefonos a la red telefónica convencional (RTB – Red telefónica básica)- Su nombre viene del simbolo asterisco (*) en inglés.

El creador original de esta centralita es Mark Spencer de la compañia Digium que sigue siendo el principal desarrollador de las versiones estables. Pero al ser de código libre, existen multitud de desarrolladores que han aportado funciones y nuevas aplicaciones. Originalmente fue creada para sistemas Linux pero hoy en día funciona también en sistemas OpenBSD, FreeBSD, Mac OS X, Solaris Sun y Windows. Pero Linux sigue siendo la que mas soporte presenta.

El paquete básico de Asterisk incluye muchas características que antes sólo estaban disponibles en caros sistemas propietarios como creación de extensiones, envío de mensajes de voz a e-mail, llamadas en conferencia, menus de voz interactivos y distribución automática de llamadas. Además se pueden crear nuevas funcionalidades mediante el propio lenguaje de Asterisk o módulos escritos en C o mediante scripts AGI escritos en Perl o en otros lenguajes.

Para poder utilizar telefonos convencionales en un servidor Linux corriendo Asterisk o para conectar a una línea de teléfono analógica se suele necesitar hardware especial (no vale con un modem ordinario). Digium y otras compañias venden tarjetas para este fin.

Pero quizás lo mas interesante es que Asterisk soporta numerosos protocolos de VoIP como SIP y H.323. Asterisk puede operar con muchos telefonos SIP, actuando como “registrar” o como “gateway” o entre telefónos IP y la red telefónica convencional. Los desarrolladores de Asterisk han diseñado un nuevo protocolo llamado IAX para un correcta optimización de las conexiones entre centralitas Asterisk.

Al soportar una mezcla de la telefonía tradicional y los servicios de VoIP, Asterisk permite a los desarrolladores construir nuevos sistemas telefónicos de forma eficiente o migrar de forma gradual los sistemas existentes a las nuevas tecnologías. Algunos sitios usan Asterisk para reemplazar a antiguas centralitas propietarias, otros para proveer funcionalidades adicionales y algunas otras para reducir costes en llamadas a larga distancia utilizando Internet.

Asterisk para windows

Asterisk puede ser instalado en windows. Se basa en cygwin, es decir fue compilado bajo esta paltaforma para poder ser luego corrido en windows.

Aunque es preferible para aplicaciones comerciales instalarlo bajo Linux o FreeBSD es una buena manera de conocer su funcionamiento y de probar numerosos comandos y opciones. Paea windows es basado en cygwin, este programa permite correr aplicaciones nativas linux en sistemas operativos windows.

La página de referencia es http://www.asteriskwin32.com

Nos descargamos la versión Setup0.56.exe y ejecutamos el programa de instalación. En principio seleccionamos la “full instalation” que nos instalará ejemplos de los ficheros de configuración.

Una vez acabada la instalación debemos arrancar el servidor asterisk. Para ello podemos ejecutar C:\cygroot\bin\asteriskwin32.exe

Al principio nos saldrán unos cuantos errores o warnings pero no nos preocupamos demasiado (son debido a que no tenemos tarjetas RDSI o modems TAPI). En principio ya tenemos instalado y funcionando Asterisk. Vamos a comprobar que funciona.

Configuramos un softphone como el SJPhone (para más info consultar configuracion del sjphone) para poder acceder a nuestro propio Asterisk. La configuración que hemos hecho trae dos usuarios por defecto que podemos utilizar:

A: usuario: 3000 password=cualquiera vale
B: usuario: 3001 password=cualquiera vale

Una vez que lo tenemos configurado y el usuario se ha registrado correctamente en nuestro servidor podemos llamar a algunos numeros de prueba que vienen por defecto en el plan de numeración:

1000 – Menú principal
1234 – Pasar llamada a la consola (veréis en la consola la llamada)
1235 – Contestador automático de la consola
1236 – LLamar a la consola

3000 – LLamar al usuario SIP 3000
3001 – LLamar al usuario SIP 3001

500 – Llamar a Digium

600 – Prueba de eco

Ejemplos practicos de dimensionamiento de los equipos:

El tema del dimensionamiento inicial pasa por saber las necesidades del cliente: trafico a cursar, intentos (BHCA o busy hour call atempt), tiempo promedio de una llamada (MHT, mean holding time), en base a todos estas premisas iniciales se debe escoger el servidor que se usara como PBX. He aqui algunos detalles utiles:

.- Aunque es muy relativo, un servidor con un procesador Dual Core Xeon de 1.6 Ghz con 2 GB de ram puede manejar un promedio de 60 a 75 llamadas simultaneas en g729.

.- Al usar tarjetas adicionales de proceasmiento en hardware, ejemplo la tarjeta de transcoding Digium TC400B permite que el proceso de transcoding (convertir de un codec a otro) no utilice el procesador del servidor sino que ese trabajo se haga en la tarjeta, esto mejora el proceso.
La tarjeta provee licenciamiento y garantiza hasta 96 canales simultaneos en g729 y algunos menos en g723.1

.- No hay una ciencia clara respecto a las capacidades de crecimiento de Asterisk

Algunas personas indican que Asterisk esta limitado a 400 llamadas simultaneas, aunque hay gente que incluso comercializa una version (soft y hardware)que podrian soportar 5000 extensiones, pero no hay muchas cosas claras porque afecta, el protocolo, el codec, tipos de lineas, etc.
Por ejemplo Asterisk puede manejar mas llamadas simultaneas en IAX que en SIP, y muchas menos en H323.
Tambien afecta el uso de aplicaciones en base de datos, sistemas de billing, ivr, etc.
El hardware es un factor que esta variando mucho, ya que ahora con la posibilidad de contar con multiples procesadores de 4 cores cada uno hacen que esos limites cambien.
De todas maneras las empresas que estan trabajando cosas muy grandes con Asterisk se han orientado por evitar los problemas de sobrecarga haciendo balanceo de carga y registrando las extensiones SIP en otros servidores sip proxy (ejemplo OpenSer), y que ademas enruta el trafico RTP entre varios servidores asterisk o gateways lo que genera balanceo de carga y permite que se aprovechen las funcionalidades de Asterisk distribuido en muchos servidores.

Algunas direcciones que considero utiles para seguir aprendiendo:

http://es.wikipedia.org/wiki/Asterisk

http://www.asterisk.org/

http://www.digium.com/en/training/

http://groups.google.es/group/asterisk-es/browse_thread/thread/e6ba95ebf752509f

http://www.sinologic.net/2007-07/configura-tu-cluster-de-asterisk-facilmente/

http://voip-cluster.org/

http://www.voipnovatos.es/

http://blog.aliax.net/

http://bytecoders.homelinux.com/


Follow

Get every new post delivered to your Inbox.