Diferencia entre puertos FXS y FXO

noviembre 27, 2008

Debido a que estos dos terminos FXS y FXO son muy populares en el mundo de la la telefonia IP y tambien para tener claro el concepto de lo que se desea implementar y de las caracteristicas de la tarjeta que se quiere comprar, aqui les dejo un buen aparte de la diferencia entre estos puertos, lo tome prestado de aqui.

Cual es la diferencia entre dispostivos FXO y FXS ?

  • Los dispositivos FXO permiten manejar una línea telefónica externa, los dispositivos FXO solo “reciben” tono de marcado, es decir, son lo mismo que los telefonos analogos, necesitan de una linea (FXS) que les provea tono para funcionar. En los jerga de los PBX se conocen como las entradas de las troncales.
  • Tambien existen los dispositivos FXS los cuales permiten simular el comportamiento de una línea telefónica (voltaje, corriente, timbres…) a estos dispositivos se conectan dispositivos FXO como los telefonos convencionales o maquinas de fax. En la jerga de los PBX estan son las salidas de extension.
  • En resumen a dispositivos FXS solo se pueden conectar dispositivos FXO y viceversa
  • Con asterisk las extensiones no estan limitadas al uso de dispositivos FXO, tambien existen los telefonos IPs los cuales se pueden conectar directamente a una red de datos TCP/IP o tambien existen en forma de programa de computador como el SJPhone, es decir que si tiene un computador portatil puede llevarse la extension consigo a todas partes.

Es importante aclarar que la tarjeta que se empleara para el proyecto PICA tiene 4 puertos donde se pueden combinar por ejemplo 2 puertos FXO y 2 puertos PXS. Por lo general estos puertos son de color rojo para el FXO y verde para el FXS. 

digium-tdm410p

La tarjeta para el proyecto PICA solamente posee 1 puerto FXO y nungun FXS. Despues prometo que enviare la imagen de mi tarjeta.

Anuncios

Asterisk-addons que es y como se instala.

noviembre 25, 2008

Asterisk Addons es un paquete que permite integrar a nuestra central de telefonia ip, PICA tres funcionalidades muy importantes como son:

  1. Tener un registro de las llamadas en un database usando MySql (si deseamos con base de datos)
  2. Poder utilizar archivos MP3 para la musica en espera
  3. Añadir el protocolo H.323 fue diseñado con un objetivo principal: Proveer a los usuarios con tele-conferencias que tienen capacidades de voz, video y datos sobre redes de conmutación de paquetes.

A continuacion describire como se instala este archivo:

Damos los siguientes comandos:

make clean
./configure
make make install
make samples

Los diversos mensajes que arroja la compilacion cuando es satisfactorio, aqui estan:

./configure
[LD] res_config_mysql.o -> res_config_mysql.so
+—-    AsteriskAddons Build Complete   —-+
+                                             +
+    Addons has successfully been built .     +
+    If you would like to install it :        +
+                                             +
+                make install                  +
+———————————————+

make install

+—- AsteriskAddons Installation Complete —-+
+                                               +
+    Addons has successfully been installed.    +
+    If you would like to install the sample    +
+    configuration files (overwriting any       +
+    existing config files), run:               +
+                                               +
+               make samples                    +
+———————————————–+
make samples
[ferney@asterisk asteriskaddons-1.4.7]$ sudo make samples
mkdir -p /etc/asterisk
for x in configs/*.sample; do \
if [ -f /etc/asterisk/`basename $x .sample` ]; then \
if [ “y” = “y” ]; then \
if cmp -s /etc/asterisk/`basename $x .sample` $x ; then \
echo “Config file $x is unchanged”; \
continue; \
fi ; \
mv -f /etc/asterisk/`basename $x .sample` /etc/asterisk/`basename $x .sample`.old ; \
else \
echo “Skipping config file $x”; \
continue; \
fi ;\
fi ; \
/usr/bin/install -c -m 644 $x /etc/asterisk/`basename $x .sample` ;\
done

Aqui ya tenemos asterisk-addons instalado.



Tarjeta TDM410P con 1 FXO

noviembre 24, 2008

El proyecto pica empleara una tarjeta Digium TDM410P con 1 puerto FXO (para conectar una linea telefonica PSTN), para tener una configuracion apropiada y para que podamos trabajar perfectamente en la entrada y salidas de llamadas, se deben seguir los pasos a continuacion:

1. Compilar el modulo zaptel.

2. Editar y configurar correctamente los archivos de asterisk:

zaptel.conf

zapata.conf

A continuacion describiremos como se hace:

Debemos tener claro primero que son los puertos fxo y fxs.

Podemos extraer el siguiente parrafo del link anterior:

¿Qué significan los términos FXS y FXO?

FXS y FXO son los nombres de los puertos usados por las líneas telefónicas analógicas (también denominados POTS – Servicio Telefónico Básico y Antiguo)

FXS – La interfaz de abonado externo es el puerto que efectivamente envía la línea analógica al abonado. En otras palabras, es el “enchufe de la pared” que envía tono de marcado, corriente para la batería y tensión de llamada

FXO – Interfaz de central externa es el puerto que recibe la línea analógica. Es un enchufe del teléfono o aparato de fax, o el enchufe de su centralita telefónica analógica. Envía una indicación de colgado/descolgado (cierre de bucle). Como el puerto FXO está adjunto a un dispositivo, tal como un fax o teléfono, el dispositivo a menudo se denomina “dispositivo FXO”.

FXO y FXS son siempre pares, es decir, similar a un enchufe macho/hembra.”

Para esta tarjeta primero que todo es importante editar el archivo zaptel.con que se encuentra ubicado en la ruta /etc/zaptel.conf y se tiene que configurar el tipo de señal, mas no el tipo de puerto.

Se debe tener bien claro que:

  • Los puertos FXO utilizan las señales FXS
  • Los puertos FXS utilizan señales FXO.

Este tipo de tarjetas con este puerto FXO utiliza señales kewl start, que a continuacion se describe:

La señalización de Loopstart es usada por prácticamente todas las líneas analógicas telefónicas. Esto permite que un teléfono indique el colgado/descolgado, y que el punto terminal indique el ring/no ring.

La señalización Kewlstart está basada en loopstart, pero amplía el protocolo permitiendo al punto terminal invertir la polaridad de la línea telefónica para indicar al teléfono que el otro extremo de la llamada ha colgado. La mayoría de los puntos terminales y casi ninguna Centralita (excepto Asterisk, desde luego) soportan esta característica. Generalmente, es necesario para detectar el colgado.

La señalización GroundStart es utilizada a veces por las centralitas. Si no sabes lo que es, no te preocupes, que no la necesitarás.”

Tomado de: http://hannotaf.free.fr/modules.php?name=News&file=article&sid=4041


Que es libpri, compilar e instalar.

noviembre 21, 2008

Libpri permite dar soporte para conexiones digitales.

De acuerdo a la instalacion que desee hacer con asterisk, usted decide si sirve o no este paquete, por lo pronto la manera como se instala es al igual que los demas, pero en este caso solamente empleamos:

make y make install.

A continuacion un video de como compilamos libpri



Conexiones digitales (conmutadas como la RDSI o dedicadas)

noviembre 21, 2008

1. ¿Qué se entiende por conexión digital? 

Es un tipo de comunicación en la cual lo que se transmite desde el origen son unos y ceros (o bits, en jerga informática). Esto hace que la transmisión sea más confiable (menos propensa a errores).

2. ¿Cuales son los tipos de conexión digital existentes? 

Puede haber conexiones digitales conmutadas (como la RDSI) o dedicadas, en las cuales se establece un canal de datos permanente entre un origen y un destino dados. Además, se puede distinguir entre conexiones de baja velocidad (hasta 2 millones de bits por segundo), también llamadas de banda angosta, y conexiones de alta velocidad, o de banda ancha, sobre esa velocidad de transmisión.

3. Usos de este tipo de conexión 

Casi todas las aplicaciones de datos de los últimos tiempos apuntan a tener velocidades de transmisión cada vez mayores, como por ejemplo el envío de archivos o el acceso a páginas web. Esto lleva a que los usuarios de estos servicios quieran aumentar cada vez su velocidad de conexión, y tiendan hacia los servicios llamados de banda ancha. 

Esto es aplicable tanto a los profesionales que trabajan desde su casa, como a las empresas pequeñas y medianas que necesitan acceder a redes de alta velocidad o montar sus propios servidores de internet.

(Tomado de http://www.188.cl/productos/digital.htm)

Líneas dedicadas
Las líneas “dedicadas” posibilitan la transmisión de datos a velocidades medias y altas (de 64Kbps a 140 Mbps) a través de conexiones de punto a punto o multipunto (servicio Transfix).
En Europa, existen cinco tipos de líneas que se distinguen según sus velocidades:
  • E0 (64 Kbps)
  • E1 = 32 líneas E0 (2 Mbps)
  • E1 = 128 líneas E0 (8 Mbps)
  • E3 = 16 líneas E1 (34 Mbps)
  • E4 = 64 líneas E1 (140 Mbps)
En Estados Unidos, el concepto es el siguiente:
  • T1 (1,544 Mbps)
  • T2 = 4 líneas T1 (6 Mbps)
  • T3 = 28 líneas T1 (45 Mbps)
  • T4 = 168 líneas T1 (275 Mbps)
¿Para que se necesita una línea dedicada?
Como regla general, para obtener una conexión a Internet se debe pagar un abono a un proveedor de servicios de Internet o a un servicio en línea. Los costos de esta conexión dependen de la velocidad de la transferencia de datos.

Videos compilar asterisk

noviembre 21, 2008

A continuacion aparecen una serie de videos de la compilacion de asterisk:

Opcion make clean y ./configure:

Opcion make menuselect:

Opcion make y make install:

Opcion make samples y make progdocs:


Compilar asterisk, opcion make menuselect

noviembre 21, 2008

La opcion make menuselect al compilar el modulo de asterisk nos brinda las siguientes opciones:

**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

1.  Applications
2.  Call Detail Recording
3.  Channel Drivers
4.  Codec Translators
5.  Format Interpreters
6.  Dialplan Functions
7.  PBX Modules
8.  Resource Modules
9.  Voicemail Build Options
10. Compiler Flags
11. Module Embedding
12. Core Sound Packages
13. Music On Hold File Packages
14. Extras Sound Packages

Empecemos ahora una por una y ver que opciones se escogen

1. aplications

**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  app_adsiprog
[*] 2.  app_alarmreceiver
[*] 3.  app_amd
[*] 4.  app_authenticate
[*] 5.  app_cdr
[*] 6.  app_chanisavail
[*] 7.  app_channelredirect
[*] 8.  app_chanspy
[*] 9.  app_controlplayback
[*] 10. app_dahdibarge
[*] 11. app_dahdiras
[*] 12. app_dahdiscan
[*] 13. app_db
[*] 14. app_dial
[*] 15. app_dictate
[*] 16. app_directed_pickup
[*] 17. app_directory
[*] 18. app_disa
[*] 19. app_dumpchan
[*] 20. app_echo
[*] 21. app_exec
[*] 22. app_externalivr

[*] 23. app_festival

[*] 24. app_flash
[*] 25. app_followme
[*] 26. app_forkcdr
[*] 27. app_getcpeid
[*] 28. app_hasnewvoicemail
[*] 29. app_ices
[*] 30. app_image
[ ] 31. app_ivrdemo
[*] 32. app_lookupblacklist
[*] 33. app_lookupcidname
[*] 34. app_macro
[*] 35. app_meetme
[*] 36. app_milliwatt
[*] 37. app_mixmonitor
[*] 38. app_morsecode
[*] 39. app_mp3
[*] 40. app_nbscat
XXX 41. app_osplookup
[*] 42. app_page
[*] 43. app_parkandannounce
[*] 44. app_playback
[*] 45. app_privacy
[*] 46. app_queue

[*] 47. app_random

[*] 70. app_verbose
[*] 71. app_voicemail
[*] 72. app_waitforring
[*] 73. app_waitforsilence
[*] 74. app_while
[*] 75. app_zapateller

[*] 48. app_read
[*] 49. app_readfile
[*] 50. app_realtime
[*] 51. app_record
[ ] 52. app_rpt
[*] 53. app_sayunixtime
[*] 54. app_senddtmf
[*] 55. app_sendtext
[*] 56. app_setcallerid
[*] 57. app_setcdruserfield
[*] 58. app_settransfercapability
[ ] 59. app_skel
[*] 60. app_sms
[*] 61. app_softhangup
[*] 62. app_speech_utils
[*] 63. app_stack
[*] 64. app_system
[*] 65. app_talkdetect
[*] 66. app_test
[*] 67. app_transfer
[*] 68. app_url
[*] 69. app_userevent

2. Call Detail Recording

**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  cdr_csv
[*] 2.  cdr_custom
[*] 3.  cdr_manager
[*] 4.  cdr_odbc
XXX 5.  cdr_pgsql
XXX 6.  cdr_radius
XXX 7.  cdr_sqlite
XXX 8.  cdr_tds

3. Channel Drivers
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

1.  Applications
2.  Call Detail Recording
—> 3.  Channel Drivers
4.  Codec Translators
5.  Format Interpreters
6.  Dialplan Functions
7.  PBX Modules
8.  Resource Modules
9.  Voicemail Build Options
10. Compiler Flags
11. Module Embedding
12. Core Sound Packages
13. Music On Hold File Packages
14. Extras Sound Packages

4. Codec Translators
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  codec_adpcm
[*] 2.  codec_alaw
[*] 3.  codec_a_mu
[*] 4.  codec_dahdi
[*] 5.  codec_g726
[*] 6.  codec_gsm
[ ] 7.  codec_ilbc
[*] 8.  codec_lpc10
XXX 9.  codec_speex
[*] 10. codec_ulaw

5. Format Interpreters
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  format_g723
[*] 2.  format_g726
[*] 3.  format_g729
[*] 4.  format_gsm
[*] 5.  format_h263
[*] 6.  format_h264
[*] 7.  format_ilbc
[*] 8.  format_jpeg
[*] 9.  format_ogg_vorbis
[*] 10. format_pcm
[*] 11. format_sln
[*] 12. format_vox
[*] 13. format_wav
[*] 14. format_wav_gsm

6. Dialplan Functions
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  func_base64
[*] 2.  func_callerid
[*] 3.  func_cdr
[*] 4.  func_channel
[*] 5.  func_curl
[*] 6.  func_cut
[*] 7.  func_db
[*] 8.  func_enum
[*] 9.  func_env
[*] 10. func_global
[*] 11. func_groupcount
[*] 12. func_language
[*] 13. func_logic
[*] 14. func_math
[*] 15. func_md5
[*] 16. func_moh
[*] 17. func_odbc
[*] 18. func_rand
[*] 19. func_realtime
[*] 20. func_sha1
[*] 21. func_strings
[*] 22. func_timeout
[*] 23. func_uri

7. PBX Modules
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  pbx_ael
[*] 2.  pbx_config
[*] 3.  pbx_dundi
XXX 4.  pbx_gtkconsole
[*] 5.  pbx_loopback
[*] 6.  pbx_realtime
[*] 7.  pbx_spool

8. Resource Modules

**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  res_adsi
[*] 2.  res_agi
[*] 3.  res_clioriginate
[*] 4.  res_config_odbc
XXX 5.  res_config_pgsql
[*] 6.  res_convert
[*] 7.  res_crypto
[*] 8.  res_features
[*] 9.  res_indications
XXX 10. res_jabber
[*] 11. res_monitor
[*] 12. res_musiconhold
[*] 13. res_odbc
[*] 14. res_smdi
XXX 15. res_snmp
[*] 16. res_speech

9.  Voicemail Build Options
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

( ) 1.  ODBC_STORAGE
[*] 2.  IMAP_STORAGE //porque almacenaremos nuestros mensajes en ser. correo electronico

10. Compiler Flags
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[ ] 1.  DONT_OPTIMIZE
[ ] 2.  DEBUG_CHANNEL_LOCKS
[ ] 3.  DEBUG_THREADS
[ ] 4.  LOW_MEMORY
[ ] 5.  MALLOC_DEBUG
[ ] 6.  RADIO_RELAX
[ ] 7.  STATIC_BUILD
[ ] 8.  IAX_OLD_FIND
[*] 9.  LOADABLE_MODULES

11. Module Embedding

**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  apps
[*] 2.  cdr
[*] 3.  channels
[*] 4.  codecs
[*] 5.  formats
[*] 6.  funcs
[*] 7.  pbx
[*] 8.  res

12. Core Sound Packages

**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[ ] 1.  CORE-SOUNDS-EN-WAV
[ ] 2.  CORE-SOUNDS-EN-ULAW
[ ] 3.  CORE-SOUNDS-EN-ALAW
[ ] 4.  CORE-SOUNDS-EN-GSM
[ ] 5.  CORE-SOUNDS-EN-G729
[ ] 6.  CORE-SOUNDS-EN-G722
[*] 7.  CORE-SOUNDS-ES-WAV
[*] 8.  CORE-SOUNDS-ES-ULAW
[*] 9.  CORE-SOUNDS-ES-ALAW
[*] 10. CORE-SOUNDS-ES-GSM
[*] 11. CORE-SOUNDS-ES-G729
[*] 12. CORE-SOUNDS-ES-G722
[ ] 13. CORE-SOUNDS-FR-WAV
[ ] 14. CORE-SOUNDS-FR-ULAW
[ ] 15. CORE-SOUNDS-FR-ALAW
[ ] 16. CORE-SOUNDS-FR-GSM
[ ] 17. CORE-SOUNDS-FR-G729
[ ] 18. CORE-SOUNDS-FR-G722

13. Music On Hold File Packages
**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[*] 1.  MOH-FREEPLAY-WAV
[ ] 2.  MOH-FREEPLAY-ULAW
[ ] 3.  MOH-FREEPLAY-ALAW
[ ] 4.  MOH-FREEPLAY-GSM
[ ] 5.  MOH-FREEPLAY-G729
[ ] 6.  MOH-FREEPLAY-G722

14. Extras Sound Packages

**************************************************
Asterisk Module and Build Option Selection
**************************************************

Press ‘h’ for help.

[ ] 1.  EXTRA-SOUNDS-EN-WAV
[ ] 2.  EXTRA-SOUNDS-EN-ULAW
[ ] 3.  EXTRA-SOUNDS-EN-ALAW
[ ] 4.  EXTRA-SOUNDS-EN-GSM
[ ] 5.  EXTRA-SOUNDS-EN-G729
[ ] 6.  EXTRA-SOUNDS-EN-G722

Luego de dar las aopiones de make menuselect, procedemos a dar make y make install por separado y despues de compilar asterisk (algunos minutos), aparece un mensaje como el siguiente:

configure: creating ./config.status
config.status: creating build_tools/menuselect-deps
config.status: creating makeopts
config.status: creating channels/h323/Makefile
config.status: creating include/asterisk/autoconfig.h

.$$$$$$$$$$$$$$$=..
.$7$7..          .7$$7:.
.$$:.                 ,$7.7
.$7.     7$$$$           .$$77
..$$.       $$$$$            .$$$7
..7$   .?.   $$$$$   .?.       7$$$.
$.$.   .$$$7. $$$$7 .7$$$.      .$$$.
.777.   .$$$$$$77$$$77$$$$$7.      $$$,
$$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7
$$$       .7$$$$$$$$$$$$$$$$      :$$$.
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.
$$$        $$$   7$$$7  .$$$    .$$$.
$$$$             $$$$7         .$$$.
7$$$7            7$$$$        7$$$
$$$$$                        $$$
$$$$7.                       $$  (TM)
$$$$$$$.           .7$$$$$$  $$
$$$$$$$$$$$$7$$$$$$$$$.$$$$$$
$$$$$$$$$$$$$$$$.

configure: Package configured for:
configure: OS type  : linux-gnu
configure: Host CPU : i686
[ferney@asterisk asterisk-1.4.22]$

Si no aparece este mensaje, es porque no quedo bien compilado.