You are on page 1of 21

Que es Asterisk?

- Introduccin a Asterisk

Asterisk es una centralita software (PBX) de codigo abierto. Como cualquier centralita PBX permite interconectar telefonos y conectar dichos telefonos a la red telefnica convencional (RTB - Red telefnica bsica)- Su nombre viene del simbolo asterisco (*) en ingls. El creador original de esta centralita es Mark Spencer de la compaia Digium que sigue siendo el principal desarrollador de las versiones estables. Pero al ser de cdigo libre, existen multitud de desarrolladores que han aportado funciones y nuevas aplicaciones. Originalmente fue creada para sistemas Linux pero hoy en da funciona tambin en sistemas OpenBSD, FreeBSD, Mac OS X, Solaris Sun y Windows. Pero Linux sigue siendo la que mas soporte presenta. El paquete bsico de Asterisk incluye muchas caractersticas que antes slo estaban disponibles en caros sistemas propietarios como creacin de extensiones, envo de mensajes de voz a e-mail, llamadas en conferencia, menus de voz interactivos y distribucin automtica de llamadas. Adems se pueden crear nuevas funcionalidades mediante el propio lenguaje de Asterisk o mdulos 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 lnea de telfono analgica se suele necesitar hardware especial (no vale con un modem ordinario). Digium y otras compaias venden tarjetas para este fin. Pero quizs 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 telefnos IP y la red telefnica convencional. Los desarrolladores de Asterisk han diseado un nuevo protocolo llamado IAX para un correcta optimizacin de las conexiones entre centralitas Asterisk. Al soportar una mezcla de la telefona tradicional y los servicios de VoIP, Asterisk permite a los desarrolladores construir nuevos sistemas telefnicos de forma eficiente o migrar de forma gradual los sistemas existentes a las nuevas tecnologas. 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. PROTOCOLOS VoIP Hasta hoy en da ha habido una divisin clara entre dos tipos de redes: -Redes de voz, basadas en conmutacin de circuitos, por lo que se ocupa un circuito y el enrutamiento durante una comunicacin se realiza siempre por el mismo camino. Ej: Red Telefnica convencional -Redes de datos, basadas en conmutacin de paquetes, la informacin se discretiza en paquetes y cada paquete puede viajar por caminos diferentes.Ej: Internet Para poder mandar la informacin por las redes de datos tipo Internet basadas en conmutacin de paquetes es necesario adoptar unos protocolos que permitan transmitir y recuperar la informacin. El problema con la tecnologa de conmutacin de circuitos es que requiere una significativa cantidad de ancho de banda o bandwidth para cada llamada y el circuito no es empleado eficientemente ya que emplea un canal durante toda la duracin de la llamada pero la mayora de las conversaciones telefnicas estn hechas de silencio Las redes de datos, por el contrario, slo transmiten informacin cuando es necesario, aprovechando al mximo el ancho de banda y en la cual el retardo, la alteracin del orden de llegada o la prdida de paquetes no son un inconveniente, ya que en el sistema final se tiene una serie de procedimientos de recuperacin de la informacin original; pero para la voz y el video estos factores son altamente influyentes, por lo tanto se requieren redes y protocolos que ofrezcan un alto grado de QoS (calidad de servicio). Voz sobre IP (VoIP) define los sistemas de enrutamiento y los protocolos necesarios para la transmisin de conversaciones de voz a travs de Internet, la cual es una red de conmutacin de paquetes basado en el protocolo TCP/IP para el envo de informacin. Actualmente existen, principalmente, dos arquitecturas de VoIP para la transmisin de voz por Internet que se utilizan de forma abundante: SIP (Session Initiation Protocol)
SIP son las siglas en ingls del Protocolo para Inicio de Sesin, siendo un estndar desarrollado por el IETF, identificado como RFC 3261, 2002. SIP es un protocolo de sealizacin para establecer las llamadas y

conferencias en redes IP. El inicio de la sesin, cambio o trmino de la misma, son independientes del tipo de medio o aplicacin que se estar usando en la llamada; una sesin puede incluir varios tipos de datos, incluyendo audio, video y muchos otros formatos

H.323
H.323 fue el primer estndar internacional de comunicaciones multimedia, que facilitaba la convergencia de

voz, video y datos. Fue inicialmente construido para las redes basadas en conmutacin de paquetes, en las cuales encontr su fortaleza al integrarse con las redes IP, siendo un protocolo muy utilizado en VoIP. TELEFONOS

Entre los diferentes programas software o softphones para hablar por VoIP podemos hacer una clasificacin entre: - Libre eleccin del proveedor: Se pueden configurar los servidores SIP proxy o gatekeepers y elegir el proveedor de VoIP que ms nos interese. - Clientes preconfigurados: Son los programas que permiten hablar con otros usuarios que tengan el mismo programa. (quien no ha oido hablar de Skype?). Pero no se puede hablar con usuarios de otros proveedores. - Programas tipo messenger con Voz: Los programas de chat de toda la vida pero en los que actualmente puedes hablar tambin. 1. LIBRE ELECCIN DEL PROVEEDOR Nombre Web Comentarios Disponible en Windows,Linux y Mac. Soporta tanto H.323 como SIP. Admite codecs g711a, g711u, gsm y iLBC. Admite mltiples configuraciones. Gratuito. (Para mi el mejor con diferencia). Tenemos un manual de
instalacin y configuracin del sjphone

Valoracin

SJPHONE

SoftJoys Labs

EXPRESS TALK

Slo en Windows. Slo vlido para SIP. Soporta 4 canales SIP Ahe NCH Swift Sound simultaneamente. Admite codecs ad Software AG g711a, g711u y gsm. Cancelacin de eco y reduccin de ruido. Gratuito.
CounterPath Solutions, Inc.

EYEBEAM (XTEN)

Disponible en Windows, Mac y Pocket PC. Soporta SIP. Admite codecs G.711, iLBC, Speex, GSM, G.723.1, G.726, G.729a. Buen diseo. De pago. Disponible en linux. Clsico programa de cdigo libre que adolece de diseo pero que como siempre funciona estupendamente. Gratuito (por supuesto) Disponible en Windows y pocket-pc. Soporta protocolo G729 aparte de los protocolos habituales De pago.

KPHONE

OpenSource

ADORE SOFTPHONE

Adore Softphone

Si conoces algn otro software que merezca la pena estar aqu te agradecera que nos lo dijeras. Lo probaremos y le daremos nuestra opinon y por supuesto tendremos en cuenta la tuya. 2. PROGRAMAS PRECONFIGURADOS Nombre Web Comentarios Quien no conoce Skype? Debido a su gran xito es fcil encontrar a la persona que buscas en Skype. Utiliza su propia tecnologa de VoIP. Ser los ms grandes tiene sus ventajes( y sus inconvenientes) . La comunidad Gizmo se ha convertido Valoracin

SKYPE

Skype

GIZMO

Gizmo

en el principal competidor de Skype. Ofrece lo mismo que Skype y funciona bastante bien. Si conoces algn otro software que merezca la pena estar aqu te agradecera que nos lo dijeras. Lo probaremos y le daremos nuestra opinon y por supuesto tendremos en cuenta la tuya. 3. Programas tipo messenger con Voz Nombre
Yahoo Messenger Yahoo

Web

Comentarios Messenger de Yahoo con el que puedes realizar llamadas. Se dice que la calidad de sonido es bastante mejor que en otros. Un clsico de los programas de chat que sigue evolucionando. Disponible para Windows, Mac y Symbian. El ms clsico de este apartado. quien no ha se ha dejado seducir y ha chateado con el messenger? Ayuda que venga preinstalado con el Windows. (Bill haciendo de las suyas) Otra de Bill Gates pero aqu se esforz y sac algo diferente para su poca. Videoconferencias a travs de nuestra webcam. Interesante. Cualquier idea de Google merece un respeto. Son buenos y no dejarn de sorprendernos en el futuro. Tal vez esto sea el comienzo de algo.

Valoracin

ICQ Phone

ICQ

Messenger

Microsoft

Netmeeting

Microsoft

Google Talk

Google

Si conoces algn otro software que merezca la pena estar aqu te agradecera que nos lo dijeras. Lo probaremos y le daremos nuestra opinon y por supuesto tendremos en cuenta la tuya.

Fabricantes de Telfonos IP Existen numerosos telefonos VoIP que ofrecen capacidad para poder conectarse a un ordenador, a una centralita con capacidad para VoIP o a un HUB o SWITCH. Intentaremos ir recopilando todos los que podamos... - 3COM [ web ] - ADTECH [ web ] - AVAYA [ web ] - BEIJING IPOWER [ web ] - CISCO [ web ] - AZATEL [ web ] - BELCO [ web ] - CISTRIX [ web ] - GRANDSTREAM[ - IAXTALK [ web ] - INTER-TEL [ web ] - INNOVAPHONE [ web ] - IPLINK [ web ] - LENOXA [ web ]
web ]

- AASTRA [ web ]

- ACT [ web ] - ATCOM [ web ] - BCM [ web ] - CHINAROBY [ web ]

- E-TECH [ web ]

web ]

- GAOKE [ web ] - INTER-FONE [ web ] - INNOMEDIA [ web ] - IPDIALOG [ web ] - MOIMSTONE [ web ] - ONYX [ web ] - PERFECTONE [ web ] - POLYCOM [ web ] - SIPTRONIC [
web ]

- INTELLITOUCH [

- IPCHIT-CHAT [ web ] - KGE [ web ] - MITEL [ web ] - Nortel [ web ]

- ORTENA [ web ] - PLANET [ web ] - ORTENA [ web ] - SIPURA [ web ] - SUNCOMM [ web ] - THOMPSON [ web ] - VIDA [ web ] - VOISMART [ web ] - ZULTYS [ web ]
Configuracin del Sjphone

web ]

- PCPHONELINE [ - PLEXTEL [ web ]

- SIEMENS [ web ] - SNOM [ web ]

- SOYO [ web ]

- SWISSVOICE [ web - SYSMASTER [ web ] ] - TIGER [ web ] - VLINES [ web ] - WELLTECH [ web ] - ZYXEL [ web ] - UNIDEN [ web ] - VOIPAC [ web ] - YUXIN [ web ]

Lo puedes descargar en http://www.sjlabs.com/sjp.html Despus de que lo instales lo puedes configurar de la siguiente manera. 1. Le das a la pestaa Options (la tecla del centro redonda arriba con unas herramientas)

2. Te aparece un menu con muchas pestaas. Le das a la pestaa Profiles y despus al botn New.

3. Aparece otro men llamado Create New Profile y rellenas: a. Profile Name----> pones lo que quieras b. File Name -----> te lo pone el slo al escribir el profile name c. Profile Type ---->Calls through SIP proxy OK

4. Aparece un nuevo menu de pestaas 4.1 Pestaa General ----> Ni tocar 4.2 Pestaa Initialization ---> Ni tocar 4.3 Pestaa SIP Proxy Proxy Domain: rellenar el nombre de dominio o la IP y luego : y poner el puerto (normalmente 5060) User Domain: rellenar el nombre de dominio o la IP De las pestaas es conveniente marcar: Register with proxy , Proxy is strict outbound y Unregister contact address only. Las dems sin marcar. En proxy for NAT la primera casilla la dejas en blanco y despus de los dos puntos ":" pones 0

4.4 Advanced ----> Es opcional pero resulta interesante Se configura el buzn de voz en la casilla "Voice mail number or address". Este nmero lo suele dar el proveedor y es el numero al que llamamos para escuchar el buzn de voz.

4.5 DTMF ----> No tocar 4.6 STUN -----> No tocar Pulsamos OK

5. ltima pantalla Service Te pide: a. Account: Nombre de tu cuenta b. Password: Password de la cuenta Pulsamos OK

6. otra vez OK y ya est.


Trucos o Configuracin avanzada de audio de Sjphone

Exixten algunos trucos o configuraciones interesantes que podemos seleccionar en el SJPHONE y que pueden ser de gran utilidad en determinados casos o que conviene saber cuando profundizamos ms en los temas de VoIP. - Seleccin de Codecs a utilizar El SJphone admite los codecs G.711 A o a-law, G.711 u o u-law, ILBC con 20 ms o 30 ms de frame size y por ltimo el codec GSM. Para configurar el orden en que preferimos usar los codecs o para habilitar o deshabilitar algn codec tenemos que ir a una pantalla que est un poco escondida. Pinchamos en el botn "Options" y despus en la pestaa Audio

Despus pinchamos en la pestaa inferior que pone "Compression Settings" A continuacin aparece ya la pantalla con los codecs:

En esta pantalla podemos: - UP - subir un codec para que tenga ms prioridad - DOWN - bajarlo para que tenga menos prioridad - USE DEFAULT - Usa los codec por defecto tal y como se muestran en la imagen anterior - PROPERTIES - Sirve para habilitar o deshabilitar el codec seleccionado Tambin existe en esta pantalla una extensin que permite recuperar paquetes perdidos "Lost data recovery". Esta funcin si la activamos realiza una estimacin de los fragmentos de voz que se hayan perdido en funcin

de los anteriores. Esto puede mejorar un poco la calidad en algunos casos pero hace consumir ms recursos al ordenador. - No enviar silencios SJphone es capaz de detectar momentos sin conversacin y no enviar paquetes RTP durante esoso instantes reduciendo el ancho de banda. Esto es especialmente recomendable en conexiones a Internet que tengan problemas de velocidad o de capacidad. Para que SJPhone realice esta operacin en la pestaa de Audio seleccionamos "Advanced Settings"

y nos aparece una ventana como la siguiente.

Los primeros valores es mejor no tocarlos si no sabemos bien lo que estamos haciendo. La pestaa que pone "Do not send silence" es la pestaa que tenemos que marcar para no enviar paquetes en momentos de silencio.

QoS (Quality of service) Introduccin

El auge de la telefona IP es algo evidente y la principal razn es el reaprovechamiento de los recursos y la disminucin en el coste de llamadas a travs de Internet. Sin embargo, si de algo adolece todava la VoIP es de la calidad de los sistemas telefnicos tradicionales. Los problemas de esta calidad son muchos veces inherentes a la utilizacin de la red (Internet y su velocidad y ancho de banda) y podrn irse solventando en el futuro. Mientras tanto, cuanto mejor conozcamos los problemas que se producen y sus posibles soluciones mayor calidad disfrutaremos. Los principales problemas en cuanto a la calidad del servicio (QoS) de una una red de VoIP, son la Latencia, el Jitter la prdida de paquetes y el Eco. En VoIP estos problemas pueden ser resueltos mediante diversas tcnicas que se explican en los siguientes apartados. Los problemas de la calidad del servicio en VoIP vienen derivados de dos factores principalmente: a) Internet es un sistema basado en conmutacin de paquetes y por tanto la informacin no viaja siempre por el mismo camino. Esto produce efectos como la prdida de paquetes o el jitter. b) Las comunicaciones VoIP son en tiempo real lo que produce que efectos como el eco, la prdida de paquetes y el retardo o latencia sean muy molestos y perjudiciales y deban ser evitados.
Jitter

CAUSAS: El jitter es un efecto de las redes de datos no orientadas a conexin y basadas en conmutacin de paquetes. Como la informacin se discretiza en paquetes cada uno de los paquetes puede seguir una ruta distinta para llegar al destino. El jitter se define tcnicamente como la variacin en el tiempo en la llegada de los paquetes, causada por congestin de red, perdida de sincronizacin o por las diferentes rutas seguidas por los paquetes para llegar al destino. Las comunicaciones en tiempo real (como VoIP) son especialmente sensibles a este efecto. En general, es un problema frecuente en enlaces lentos o congestionados. Se espera que el aumento de mecanismos de QoS (calidad del servicio) como prioridad en las colas, reserva de ancho de banda o enlaces de mayor velocidad (100Mb Ethernet, E3/T3, SDH) puedan reducir los problemas del jitter en el futuro aumque seguir siendo un problema por bastante tiempo. VALORES RECOMENDADOS: El jitter entre el punto inicial y final de la comunicacin debiera ser ser inferior a 100 ms. Si el valor es menor a 100 ms el jitter puede ser compensado de manera apropiada. En caso contrario debiera ser minimizado. POSIBLES SOLUCIONES: - La solucin ms ampliamente adoptada es la utilizacin del jitter buffer. El jitter buffer consiste bsicamente en asignar una pequea cola o almacen para ir recibiendo los paquetes y sirviendolos con un pequeo retraso. Si alguno paquete no est en el buffer (se perdi o no ha llegado todava) cuando sea necesario se descarta. Normalmente en los telefonos IP (hardware y software) se pueden modificar los buffers. Un aumento del buffer implica menos perdida de paquetes pero ms retraso. Una disminucin implica menos retardo pero ms perdida de paquetes.
Latencia

CAUSAS: A la latencia tambin se la llama retardo. No es un problema especfico de las redes no orientadas a conexin y por tanto de la VoIP. Es un problema general de las redes de telecomunicacin. Por ejemplo, la latencia en los enlaces via satelite es muy elevada por las distancias que debe recorrer la informacin. La latencia se define tcnicamente en VoIP como el tiempo que tarda un paquete en llegar desde la fuente al destino. Las comunicaciones en tiempo real (como VoIP) y full-duplex son sensibles a este efecto. Es el problema de "pisarnos". Al igual que el jitter, es un problema frecuente en enlaces lentos o congestionados. VALORES RECOMENDADOS:

La latencia o retardo entre el punto inicial y final de la comunicacin debiera ser ser inferior a 150 ms. El odo humano es capaz de detectar latencias de unos 250 ms, 200 ms en el caso de personas bastante sensibles. Si se supera ese umbral la comunicacin se vuelve molesta. POSIBLES SOLUCIONES: No hay una solucin que se pueda implementar de manera sencilla. Muchas veces depende de los equipos por los que pasan los paquetes, es decir, de la red misma. Se puede intentar reservar un ancho de banda de origen a destino o sealizar los paquetes con valores de TOS para intentar que los equipos sepan que se trata de trfico en tiempo real y lo traten con mayor prioridad pero actualmente no suelen ser medidas muy eficaces ya que no disponemos del control de la red. Si el problema de la latencia est en nuestra propia red interna podemos aumentar el ancho de banda o velocidad del enlace o priorizar esos paquetes dentro de nuestra red
Eco

CAUSAS: El eco se produce por un fenomeno tcnico que es la conversin de 2 a 4 hilos de los sistemas telefnicos o por un retorno de la seal que se escucha por los altavoces y se cuela de nuevo por el microfono. El eco tambin se suele conocer como reverberacin. El eco se define como una reflexin retardada de la seal acustica original. El eco es especialmente molesto cuanto mayor es el retardo y cuanto mayor es su intensidad con lo cual se convierte en un problema en VoIP puesto que los retardos suelen ser mayores que en la red de telefona tradicional. VALORES RECOMENDADOS: El odo humano es capaz de detectar el eco cuando su retardo con la seal original es igual o superior a 10 ms. Pero otro factor importante es la intensidad del eco ya que normalmente la seal de vuelta tiene menor potencia que la original. Es tolerable que llegue a 65 ms y una atenuacin de 25 a 30 dB. POSIBLES SOLUCIONES: En este caso hay dos posibles soluciones para evitar este efecto tan molesto. - Supresores de eco - Consiste en evitar que la seal emitida sea devuelta convirtiendo por momentos la linea full-duplex en una linea half-duplex de tal manera que si se detecta comunicacin en un sentido se impide la comunicacin en sentido contrario. El tiempo de conmutacin de los supresores de eco es muy pequeo. Impide una comunicacin full-duplex plena. - Canceladores de eco - Es el sistema por el cual el dispostivo emisor guarda la informacin que enva en memoria y es capaz de detectar en la seal de vuelta la misma informacin (tal vez atenuada y con ruido). El dispostivo filtra esa informacin y cancela esas componentes de la voz. Requiere mayor tiempo de procesamiento.
Perdida de paquetes

CAUSAS: Las comunicaciones en tiempo real estn basadas en el protocolo UDP. Este protocolo no est orientado a conexin y si se produce una prdida de paquetes no se reenvian. Adems la perdida de paquetes tambin se produce por descartes de paquetes que no llegan a tiempo al receptor. Sin embargo la voz es bastante predictiva y si se pierden paquetes aislados se puede recomponer la voz de una manera bastante ptima. El problema es mayor cuando se producen prdidas de paquetes en rfagas. VALORES RECOMENDADOS: La perdida de paquetes mxima admitida para que no se degrade la comunicacin deber ser inferior al 1%. Pero es bastante dependiente del cdec que se utiliza. Cuanto mayor sea la compresin del codec ms pernicioso es el efecto de la prdida de paquetes. Una prdida del 1% degrada ms la comunicacin si se usa el cdec G.729 en vez del G.711. POSIBLES SOLUCIONES: Para evitar la prdida de paquetes una tcnica muy eficaz en redes con congestin o de baja velocidad es no transmitir los silencios. Gran parte de las conversaciones estn llenas de momentos de silencio. Si solo

transmitimos cuando haya informacin audible liberamos bastante los enlaces y evitamos fenomenos de congestin. De todos modos este fenomeno puede estar tambin bastante relacionado con el jitter y el jitter buffer.
Pruebas de VoIP

Para poder comprobar como es la calidad de vuestro enlace para el funcionamiento de la VoIP existen algunas herramientas y web muy interesantes que podis consultar y que os darn resultados muy interesantes. - Para comprobar como es la calidad de vuestro enlace y el MOS (valoracin del 1 al 5) en las comunicaciones a varios lugares del mundo
http://www.testyourvoip.com/

- Para comprobar si existe algn problema en vuestros routers o firewalls que impida progresar las llamadas VoIP podeis consultar la siguiente pgina web.
http://www.bandwidth.com/tools/voipTest

- Para hacernos una idea de cuantas llamadas o conexiones VoIP podemos tener simultneamente
http://www.talkswitch.com/voip/voip_capacity.php Codecs

La comunicacin de voz es analgica, mientras que la red de datos es digital. El proceso de convertir ondas analgicas a informacin digital se hace con un codificador-decodificador (el CODEC). Hay muchas maneras de transformar una seal de voz analgica, todas ellas gobernadas por varios estndares. El proceso de la conversin es complejo. Es suficiente decir que la mayora de las conversiones se basan en la modulacin codificada mediante pulsos (PCM) o variaciones. Adems de la ejecucin de la conversin de analgico a digital, el CODEC comprime la secuencia de datos, y proporciona la cancelacin del eco. La compresin de la forma de onda representada puede permitir el ahorro del ancho de banda. Esto es especialmente interesante en los enlaces de poca capacidad y permite tener un mayor numero de conexiones de VoIP simultaneamente. Otra manera de ahorrar ancho de banda es el uso de la supresin del silencio, que es el proceso de no enviar los paquetes de la voz entre silencios en conversaciones humanas. A continuacin se muestra una tabla resumen con los cdecs ms utilizados actualmente: - El Bit Rate indica la cantidad de informacin que se manda por segundo. - El Sampling Rate indica la frecuencia de muestreo de la seal vocal.(cada cuanto se toma una muestra de la seal analgica) - El Frame size indica cada cuantos milisegundos se envia un paquete con la informacin sonora. - El MOS indica la calidad general del cdec (valor de 1 a 5) Para entender mejor la formacin de un codec y los parametros expresados en la tabla recomendamos leer el apartado funcionamiento de un codec donde se puede aprender como funciona detallamente el codec G.711 y que significan en su caso los parametros de la tabla. MOS (Mean Opinion Score)

Nombre Estandarizado

Descripcin

Bit rate (kb/s)

Sampling Frame rate size (ms) (kHz)

Observaciones

G.711 *

ITU-T

Pulse code modulation (PCM) Adaptive differential pulse code modulation (ADPCM) 7 kHz audiocoding within 64 kbit/s Codificacin a 24

64

Tiene dos versiones u-law 8 Muestreada (US, Japan) y alaw (Europa) para muestrear la seal Obsoleta. S e ha 8 Muestreada transformado en la G.726. Divide los 16 Khz en dos bandas 16 Muestreada cada una usando ADPCM 16 20

4.1

G.721

ITU-T

32

G.722

ITU-T

64 24/32

G.722.1 ITU-T

y 32 kbit/s para sistemas sin manos con baja perdida de paquetes Extensin de la norma G.721 a 24 y 40 kbit/s para aplicaciones en circuitos digitales. Obsoleta por G.726. Es 8 Muestreada totalmente diferente de G.723.1. Parte de H.324 video conferencing. Codifica la seal usando linear predictive analysis-bysynthesis coding. Para el codificador de high rate utiliza 30 Multipulse Maximum Likelihood Quantization (MPMLQ) y para el de low-rate usa Algebraic-CodeExcited LinearPrediction (ACELP). ADPCM; reemplaza a G.721 y G.723.

G.723

ITU-T

24/40

G.723.1 ITU-T

Dual rate speech coder for multimedia communications transmitting at 5.3 and 6.3 kbit/s

5.6/6.3

3.8-3.9

G.726

ITU-T

40, 32, 24, 16 kbit/s adaptive differential pulse 16/24/32/40 code modulation (ADPCM) 5-, 4-, 3- and 2bit/sample embedded adaptive differential pulse code modulation (ADPCM) Coding of speech at 16 kbit/s using low-delay code excited linear prediction Coding of speech at 8 kbit/s using conjugatestructure algebraic-codeexcited linearprediction (CSACELP) RegularPulse Excitation LongTerm Predictor (RPE-LTP) Linear-predictive codec

8 Muestreada

3.85

G.727

ITU-T

var.

ADPCM. Muestreada Relacionada con G.726.

G.728

ITU-T

16

2.5 CELP.

3.61

G.729 **

ITU-T

10

Bajo retardo (15 ms)

3.92

GSM 06.10

ETSI

13

Usado por la 22.5 tecnologa celular GSM 10 coeficientes.La 22.5 voz suena un poco "robotica" 30 ( NB ) 34 ( WB ) 30

LPC10

Gobierno de USA

2.4

Speex iLBC

2.15-24.6 (NB) 8, 16, 32 4-44.2 (WB) 8 13.3

DoD CELP

American Department of Defense (DoD) Gobierno de USA 3GPP2 Interactive Multimedia Association (IMA) Enhanced Variable Rate CODEC DVI4 uses an adaptive delta pulse code modulation (ADPCM) Uncompressed audio data samples

4.8

30

EVRC

9.6/4.8/1.2

20

Se usa en redes CDMA

DVI

32

Variable Muestreada

L16

128

Variable Muestreada

* El codec g711 tiene dos versiones conocidas como alaw (usado en Europa) y ulaw (usado en USA y Japn). 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 mtodo que se utiliza para muestrear la seal. La seal no se muestrea de forma lineal sino de forma logaritmica. A-law tiene un mayor rango. Para mas informacin de las diferencias ver G.711
Ley A vs Ley u

** existen varias versiones del codec g729 que es interesante explicar por su extendido uso G729: es el cdec original G729A o anexo A: es una simplificacin 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 supresin de silencios y sera 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). Como ya se ha comentado la comunicacin de voz es analgica, mientras que la red de datos es digital. La transformacin de la seal analgica a una seal digital se realiza mediante una conversin analgico-digital. Este proceso de conversin analgico digital o modulacin por impulsos codificados (PCM) se realiza mediante tres pasos: - Muestreo (sampling) - Cuantificacin (quantization) - Codificacin (codification) En el proceso de cuantificacin como explicaremos se puede realizar una compresin de la voz utilizando diferentes esquemas:
Muestreo

El proceso de muestreo consiste en tomar valores instantneos de una seal analgica, a intervalos de tiempo iguales. A los valores instantneos obtenidos se les llama muestras. Este proceso se ilustra en siguiente figura:

El muestreo se efecta siempre a un ritmo uniforme, que viene dado por la frecuencia de muestreo fm o sampling rate. La condicin que debe cumplir fm viene dada por el teorema del muestreo "Si una seal contiene nicamente frecuencias inferiores a f, queda completamente determinada por muestras tomadas a una velocidad igual o superior a 2f."

De acuerdo con el teorema del muestreo, las seales telefnicas de frecuencia vocal (que ocupan la Banda de 300 a - 3.400 Hz), se han de muestrear a una frecuencia igual o superior a 6.800 Hz (2 x 3.400). En la practica, sin embargo, se suele tomar una frecuencia de muestreo o sampling rate de fm = 8.000 Hz. Es decir, se toman 8.000 muestras por segundo que corresponden a una separacin entre muestras de: T=1/8000= 0,000125 seg. = 125 s Por lo tanto, dos muestras consecutivas de una misma seal estn separadas 125 s que es el periodo de muestreo.
Cuantificacin

La cuantificacin es el proceso mediante el cual se asignan valores discretos, a las amplitudes de las muestras obtenidas en el proceso de muestreo. Existen varias formas de cuantificar que iremos detallando segn su complejidad. Cuantificacin uniforme Hay que utilizar un nmero finito de valores discretos para representar en forma aproximada la amplitud de las muestras. Para ello, toda la gama de amplitudes que pueden tomar las muestras se divide en intervalos iguales y a todas las muestras cuya amplitud cae dentro de un intervalo, se les da el mismo valor. El proceso de cuantificacin introduce necesariamente un error, ya que se sustituye la amplitud real de la muestra, por un valor aproximado. A este error se le llama error de cuantificacin. El error de cuantificacin se podra reducir aumentando el nmero de intervalos de cuantificacin, pero existen limitaciones de tipo prctico que obligan a que el nmero de intervalos no sobrepase un determinado valor. Una cuantificacin de este tipo, en la que todos los intervalos tienen la misma amplitud, se llama cuantificacin uniforme. En siguiente figura se muestra el efecto de la cuantificacin para el caso de una seal analgica. El nmero de intervalos de cuantificacin se ha limitado a ocho. La seal original es la de trazo continuo, las muestras reconstruidas en el terminal distante, se representan por puntos y la seal reconstruida es la lnea de trazos. El error de cuantificacin introducido en cada muestra, da lugar a una deformacin o distorsin de la seal reconstruida que se representa por lnea de trazos y puntos.

Cuantificacin no uniforme En una cuantificacin uniforme la distorsin es la misma cualquiera que sea la amplitud de la muestra. Por lo tanto cuanto menor es la amplitud de la seal de entrada mayor es la influencia del error. La situacin se hace ya inadmisible para seales cuya amplitud analgica est cerca de la de un intervalo de cuantificacin. Para solucionar este problema existen dos soluciones:

- Aumentar los intervalos de cuantificacin - si hay ms intervalos habr menos errores pero necesitaremos ms nmeros binarios para cuantificar una muestra y por tanto acabaremos necesitando mas ancho de banda para transmitirla. - Mediante una cuantificacin no uniforme, en la cual se toma un nmero determinado de intervalos y se distribuyen de forma no uniforme aproximndolos en los niveles bajos de seal, y separndolos en los niveles altos. De esta forma, para las seales dbiles es como si se utilizase un nmero muy elevado de niveles de cuantificacin, con lo que se produce una disminucin de la distorsin. Sin embargo para las seales fuertes se tendr una situacin menos favorable que la correspondiente a una cuantificacin uniforme, pero todava suficientemente buena. Por lo tanto lo que podemos hacer es realizar una cuantificacin no uniforme mediante un codec (compresordecompresor) y una cuantificacin uniforme segn se ve en la siguiente figura:

Ley de codificacin o compresin El proceso de cuantificacin no uniforme responde a una caracterstica determinada llamada ley de Codificacin o de compresin. Hay dos tipos de leyes de codificacin: las continuas y las de segmentos. En las primeras, los intervalos de cuantificacin son todos de amplitud distinta, creciendo ordenadamente desde valores muy pequeos, correspondientes a las seales de nivel bajo, a valores grandes, correspondientes a las seales de nivel alto En las segundas, la gama de funcionamiento se divide en un nmero determinado de grupos y dentro de cada grupo los intervalos de cuantificacin tienen la misma amplitud, siendo distinta de unos grupos a otros. Normalmente se utilizan las leyes de codificacin de segmentos. G.711 Ley A (a-law) y ley (u-law) Actualmente, las dos leyes de compresin de segmentos mas utilizadas son la ley A (a-law) y la ley (u-law) que dan lugar al codec g.711. La ley A (a-law) se utiliza principalmente en los sistemas PCM europeos, y la ley (u-law)se utiliza en los sistemas PCM americanos. La ley A esta formada por 13 segmentos de recta (en realidad son 16 segmentos, pero como los tres segmentos centrales estn alineados, se reducen a 13). Cada uno de los 16 segmentos, esta dividido en 16 intervalos iguales entre si, pero distintos de unos segmentos a otros. La formulacin matemtica de la Ley A es: y= Ax / 1+ LA --------------------- para 0 =< x =< 1/A y= 1+ L (Ax) / 1+ LA ------------- para 1/A=< x =< 1 siendo L logaritmo neperiano.

El parmetro A toma el valor de 87,6 representando x e y las seales de entrada y salida al compresor. La ley se representa matemticamente como: y= L(1+x) / L (1+)-------------- para 0 =< x =< 1 donde = 255 En siguiente figura se representa grficamente la ley A (a-law):

Cuantificacin diferencial En las seales de frecuencia vocal, predominan generalmente las bajas frecuencias, por ello las amplitudes de dos muestras consecutivas difieren generalmente en una cantidad muy pequea. Aprovechando esta circunstancia, se ha ideado la cuantificacin diferencial. En la cuantificacin diferencial, en lugar de tratar cada muestra separadamente, se cuantifica y codifica la diferencia entre una muestra y la que le precede. Como el nmero de intervalos de cuantificacin necesarios para cuantificar la diferencia entre dos muestras consecutivas es lgicamente inferior al necesario para cuantificar una muestra aislada, la cuantificacin diferencial permite una reduccin sensible de la frecuencia de transmisin en lnea, ya que esta es proporcional al numero de intervalos de cuantificacin Cuantificacin diferencial delta y ADPCM (Adaptative delta PCM) Si en un sistema DPCM vamos aumentando la frecuencia de muestreo, llega un momento en que dos muestras consecutivas tienen una amplitud tan prxima, que no se necesita ms que un solo intervalo de cuantificacin para cuantificar la diferencia. En este caso solo se necesitara un bit por muestra, y la velocidad de transmisin en lnea (bit rate) sera igual a la velocidad de muestreo. Este tipo de modulacin se conoce con el nombre de modulacin delta. La modulacin delta descrita, se denomina modulacin delta porque la magnitud de la variacin producida a la salida es fija. Existen otros tipos de modulacin delta mas sofisticados, en los cuales dicha variacin no es fija sino que depende de las variaciones de la seal de entrada. Por ejemplo ADPCM o Adaptative delta PCM se basa

en ajustar la escala de cuantificacin de forma dinmica para adaptarse mejor a las diferencias pequeas o grandes.
Codificacin - Decodificacin

La codificacin es el proceso mediante el cual se representa una muestra cuantificada, mediante una sucesin de "1's" y "0's", es decir, mediante un nmero binario. En el punto anterior va hemos indicado que cada muestra cuantificada se representa, o codifica mediante un numero binario. Normalmente en telefona se utilizan 256 intervalos de cuantificacin para representar todas las posibles muestras (por ejemplo para G.711 tanto ley A como ley ), por tanto se necesitarn nmeros binarios de 8 bits para representar a todos los intervalos (pues 28 = 256). Otros codecs que usan ADPCM o cuantificacin delta utilizan menos intervalos y por tanto menos bits. El dispositivo que realiza la cuantificacin y la codificacin se llama codificador. La decodificacin es el proceso mediante el cual se reconstruyen las muestras, a partir de la seal numrica procedente de lnea. Este proceso se realiza en un dispositivo denominado decodificador. Al conjunto de un codificador y de un decodificador en un mismo equipo, se le llama codec. IMPORTANTE: De esta explicacin se deduce que si queremos calcular el bit-rate de un codec necesitamos solamente multiplicar la frecuencia de muestreo (sample rate) expresada en muestras por segundo o Herzios por los bits necesarios para cuantificar cada muestra y nos da como resultados los bits por segundo (bit-rate) del codec en cuestin. De todos modos por la posibilidad de utilizar compresin en codecs complejos, el bit-rate no puede deducirse siempre de esta manera. A continuacin se muestran unas muestras en ingls de varios de los codecs para poder comparar la calidad de los cdecs y como a medida que se va comprimiendo ms la seal de audio la calidad disminuye. Por otro lado la compresin hace que el ancho de banda necesario para mandar la informacin sea menor y los retrasos tambin menores. Ejemplo de muestra de 5 segundos: [.WAV] [.WAV] [.WAV] [.WAV] G.711 - 64 kbps Intel/DVI ADPCM codec - 32 Kbps (muy parecido a G.721) GSM codec - 13.2 Kbps LPC10 codec - 2.4 Kbps

Ejemplo de muestra de 25 segundos: [.WAV] [.WAV] [.WAV] [.WAV] G.711 - 64 kbps Intel/DVI ADPCM codec - 32 Kbps (muy parecido a G.721) GSM codec - 13.2 Kbps LPC10 codec - 2.4 Kbps

A medida que la voz se va comprimiendo la voz suena ms metalica y la calidad se deteriora. Estas muestras estan sacadas del proyecto Hawk Software y podis consultarlo en
http://www.hawksoft.com/hawkvoice/codecs.shtml

Asterisk para linux

La pgina de referencia es http://www.asterisk.org/ Nos descargamos la versin 1.2.9.1 y lo descomprimimos 1) # tar -zxvf asterisk-1.2.9.1.tar.gz # rm -f asterisk-1.2.9.1.tar.gz # cd asterisk-1.2.9.1 2) ejecutar "make"

Suponiendo que todo ha ido correctamente 3) ejecutar "make install" Si es la primera vez que instalas la centralita Asterisk es recomendable instalar los ejemplos con el comando 4) "make samples" Pero recuerda que este comando sobreescribir todos los ficheros de configuracin que ya tengas. Finalmente puedes arrancar el Asterisk con el comando: # asterisk -vvvc Vers un montn de mensajes en la pantalla cuando Asterisk se inicializa. (las vvv pertenecen al modo " very very verbose" y la c a que nos mostrar al final una linea de comandos en forma consola) *CLI> A partir de este momento ya est Asterisk instalado y funcionando. Se puede utilizar el comando "help" para ayuda Tambin puedes utilizar el comando "man asterisk" en la lnea de comandos de linux para obtener detalles de como arrancar y parar el servidor Asterisk. Los ficheros de configuracin de Asterisk se habrn instalado en el directorio /etc/asterisk donde podrs encontrar un montn de informacin. Vamos a comprobar que funciona: Configuramos un softphone como el SJPhone (para ms info consultar configuracion del sjphone) para poder acceder a nuestro propio Asterisk. La configuracin 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 numeracin: 1000 1234 1235 1236 Men principal Pasar llamada a la consola (veris en la consola la llamada) Contestador automtico de la consola LLamar a la consola

3000 - LLamar al usuario SIP 3000 3001 - LLamar al usuario SIP 3001 500 - Llamar a Digium 600 - Prueba de eco 8500 - Menu del contestador 99990 99991 99992 99999 Test AGI Test EAGI Dice la hora Suena msica de manera infinita

700 Deja aparcada la llamada 701-720 Llamadas aparcadas Una buena prueba en este momento es configurar 2 softphones en dos ordenadores diferentes; uno con el usuario 3000 y otro con el usuario 3001 e intentar hacer una llamada entre ambos. Si funciona podemos pasar a aprender a configurar Asterisk y crear nuevos usuarios y planes de numeracin.

You might also like