Instalación y configuración de la tarjeta X100P en Asterisk 1.6.X

Una de las posibilidades brindadas por Asterisk es la de conectarlo, a través de dispositivos Hardware, a la red telefónica conmutada (RTB). Los dispositivos pueden ser de distintos tipos:

  • Dispositivos FXO

  • Dispositivos FXS

  • Dispositivos Mixtas (FXO/FXS)

  • Dispositivos BRI (ISDN)

  • Dispositivos PRI (E1, T1, J1)

FXO (Foreign Exchange Office) es un dispositivo de computador que permite conectar éste a la RTB, y mediante un software especial, realizar y recibir llamadas de teléfono.

FXS (Foreign Exchange Station) es el conector en una central telefónica o en la pared de nuestro hogar, que permite conectar un teléfono analógico estándard.

Los dispositivos Mixtos FXO/FXS combinan los dos tipos de conexiones según las necesidades del adquirente. Un ejemplo de dispositivo FXO/FXS es la tarjeta Digium TDM400P que permite instalar un total 4 módulos FXO/FXS.

image

Los dispositivos BRI (Basic rate interface) permiten conectar una linea ISDN (Integrated Services Digital Network) al servidor Linux. Las líneas ISDN están compuestas de dos canales audio (de 64Kbit/s cada uno) y un canal D que se utiliza para la señalizacion con la central telefónica (de 16 Kbit/s).

Los dispositivos E1, T1, J1, que también se pueden denominar primarios, son líneas digitales que según el tipo brindan de 24 (T1) a 34 (E1) canales de voz. La diversa nomenclatura de estas lineas está relacionada con los países donde se usan. T1 son la líneas disponibles en Estados Unidos, E1 en Europa y J1 en Japón.

El tipo de dispositivos a utilizar estará relacionado con el tipo de instalación que se está haciendo (casa, oficina, pequeña empresa, etc.)

En este capitulo se verá como instalar un dispositivo FXO en el computador y como configurarlo en Asterisk para efectuar y recibir llamadas.

Instalación X100P

El dispositivo X100P es una tarjeta PCI con un canal FXO disponible.

Para la instalación de la tarjeta en un servidor Linux, distribución CentOS estos son los pasos a seguir:

  1. Apagar el computador

  2. Desconectar el cable de alimentación

  3. Abrir el chasis del Computador

  4. Insertar la tarjeta en una ranura PCI disponible

  5. Volver a poner el chasis del computador

  6. Conectar el cable de alimentación al computador

  7. Conectar la línea telefónica al puerto FXO de la tarjeta a través de un normal cable telefónico

  8. Prender el computador

Normalmente CentOS reconoce automáticamente la nueva tarjeta instalada y le asigna un IRQ para que pueda comunicarse con el procesador del computador.

Una vez arrancado el sistema comprobamos que efectivamente la tarjeta ha sido reconocida por el sistema:

lspci -v

Según el modelo y marca en la pantalla tendremos una salida de este tipo:

02:08.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface

Subsystem: Intel Corporation Digium X100P/X101P analogue PSTN FXO interface

Flags: bus master, medium devsel, latency 64, IRQ 201

I/O ports at d800 [size=256]

Memory at fdc00000 (32-bit, non-prefetchable) [size=4K]

Capabilities: [40] Power Management version 2

Se comprueba el IRQ

cat /proc/interrrupts

201: 330596875 IO-APIC-level wcfxo

 

Configuración X100P

El programa/librería que se encarga de detectar y configurar el puerto FXO en Asterisk es DAHDI. DAHDI trabaja “encima” de Asterisk y por eso hay que arrancarlo siempre antes de Asterisk. Para la configuración de la tarjeta se usarán algunas utilidades presentes en el paquete DAHDI-tools.

La primera utilidad que se usará es dahdi_genconf que reconoce el tipo de tarjeta instalado y crea/modifica dos archivos:

/etc/dahdi/system.conf

/etc/asterisk/dahdi-channels.conf

dahdi_genconf -v

El resultado:

Default parameters from /etc/dahdi/genconf_parameters

Generating /etc/dahdi/system.conf

Generating /etc/asterisk/dahdi-channels.conf

Ahora se abren los dos archivos para ver que cambios hizo esta utilidad:

nano /etc/dahdi/system.conf

# Autogenerated by /usr/sbin/dahdi_genconf on Mon Nov 30 09:19:08 2009

# If you edit this file and execute /usr/sbin/dahdi_genconf again,

# your manual changes will be LOST.

# Dahdi Configuration File

#

# This file is parsed by the Dahdi Configurator, dahdi_cfg

#

# Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER) RED

fxsks=1

;el tipo de señalizacion utilizada por el canal. En este caso protocolo FXS Koolstart

echocanceller=mg2,1

;el tipo de cancelacion del echo software (mg2) y el canal (en este caso existe solamente el 1)

loadzone =us

defaultzone=us

; zona predefinida para la señalizacion (tono de llamada, tono de ocupado, etc..)

El único cambio que hay que hacer es poner en lugar de us (United States) co (Colombia)

Se guardan los cambios.

El segundo archivo:

nano /etc/asterisk/dahdi-channels.conf

; Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER) RED

;;; line="1 WCFXO/0/0 FXSKS (In use) (SWEC: MG2)"

signalling=fxs_ks

; el tipo de señalizacion del canal. Normalmente es el contrario del puerto instalado. Si el puerto es FXO la señalizacion es FXS y viceversa.

callerid=asreceived

; aquí se puede configurar el callerid completo para la linea telefónica conectada al puerto FXO. Si se deja el parámetro en “asreceived” se presentará al llamante el numero telefónico asignado a la linea por la compañía telefónica.

group=1

; si se disponen de muchos canales se pueden crear grupos. Este tipo de parámetro será útil al momento de configurar el dialplan

context=from-pstn

; es el contexto en donde entrarán las llamadas procedentes de la línea telefónica.

channel => 1

; numero de canales disponibles en la tarjeta (en este caso 1)

Para que el archivo dahdi-channels sea leído por Asterisk tenemos que poner un include en el archivo chan_dahdi.conf

nano /etc/asterisk/chan_dahdi.conf

el fondo del archivo se añade la línea:

#include dahdi-channels.conf

Se guardan los cambios.

Desde la consola de Asterisk recargamos la configuración de DAHDI

asterisk -rvvvvvvvvvvvvvvvvvvv

CLI> dahdi restart

Si no sale ningún error significa que la configuración es correcta.

El estado de los canales DAHDI

CLI> dahdi show status

Description                 Alarms IRQ bpviol CRC4 Fra Codi Options LBO

Generic Clone Board 1 OK 0 0 0 CAS Unk YEL 0 db (CSU)/0-133 feet (DSX-1)

Una serie de informaciones acerca del canal configurado:

CLI> dahdi show channel 1

Channel: 1

File Descriptor: 15

Span: 1st

Extension:

Dialing: no

Context: from-pstn

Caller ID:

Calling TON: 0

Caller ID name:

Mailbox: none>

Destroy: 0

InAlarm: 0

Signalling Type: FXS Kewlstart

Radio: 0t

Owner: <None>>

Real: <None>

Callwait: <None>

Threeway: <None>

Confno: -1

Propagated Conference: -1

Real in conference: 0

DSP: nost

Busy Detection: no

TDD: nost

Relax DTMF: no

Dialing/CallwaitCAS: 0/0

Default law: ulaw

Fax Handled: no

Pulse phone: no

DND: nost

Echo Cancellation:

localhos128 taps

localhoscurrently OFF

Actual Confinfo: Num/0, Mode/0x0000

Actual Confmute: No

Hookstate (FXS only): Onhook

Ultima parte de la configuración es crear en el plan de llamadas un contexto para las llamadas entrantes de la línea telefónica y unas líneas en el contexto externas:

  • Para hacer llamadas desde una extensión conectada a Asterisk en el contexto externas se pone:

exten => _9.,1,Dial(DAHDI/g1/${EXTEN:1},45)

exten => _9.,n,Hangup

Para todas las llamadas locales y nacionales se usara la línea telefónica. Para diferenciar estas llamadas de las internacionales se ha puesto el numero 9 que representa el valor a marcar antes de cualquier numero local o nacional. Con g1 se indica el grupo (el puerto FXO pertenece al grupo 1).

Otra forma puede ser:

exten => _9.,1,Dial(DAHDI/1/${EXTEN:1},45)

exten => _9.,n,Hangup

En lugar de g1 se pone 1 que es el canal del puerto FXO

Para las llamadas en entrada desde la linea telefónica:

[from-pstn]

exten => s,1,Dial(SIP/1000,45)

exten => s,n,Hangup

Todas las llamadas que entran a través de la linea telefónica se desvían a la extensión 1000.

Se guardan los cambios y se reinicia Asterisk

/etc/init.d/asterisk restart

Para más puertos FXO el procedimiento es casi idéntico.

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo

23 comentarios

Llamada Entrante/Saliente FXO

Una consulta, tengo configurada una FXO en asterisk y ocurre lo siguiente, puedo generar llamadas sólo desde el momento que recibo una por la línea FXO, desde ahí no hay problemas, el detalle está en cuando lo reinicio debe pasar lo mismo.

Alguna solución?

Problema con llamadas

Buenas tardes,

en primer lugar quiero darte las gracias por el gran tutorial que has realizado para la instalación y configuración de la tarjeta FXO en Asterisk. No sé si yo seré muy torpe al realizar las búsquedas, pero la verdad es que la documentación que se puede encontrar con respecto a este tema es bastante escasa. Gracias al post he podido también aclarar algunos conceptos que se me quedaban en el aire.

Mi comentario tiene la finalidad de encontrar un poco de ayuda en un problema con el que llevo enganchado un par de días y que me está empezando a volver loco. La cuestión es que he seguido los pasos descritos con éxito; ya tengo mi canal FXO en servicio tal y como puedo comprobar con los comandos de la CLI. En cambio, cuando trato de realizar una llamada con la aplicación Dial (estoy empleando zoiper como softphone, una vez lo conecto a mi servidor asterisk marco una extensión cuya definición es parecida a exten=>_9.,1,Dial(DAHDI/1/${EXTEN:1},45). 

Misteriosamente, este es el mensaje que me devuelve la CLI:

 

    -- Executing [9615683231@phones:1] Dial("SIP/Fernando-00000006", "DAHDI/1/615683231,20") in new stack

[Jul  7 14:58:55] WARNING[3032]: app_dial.c:1745 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 0 - Unknown)

  == Everyone is busy/congested at this time (1:0/0/1)

No tengo ni idea de cómo interpretarlo y por tanto de poner una solución. 
Por favor, si alguien tiene alguna idea o al menos cree que me puede dar una indicación hacia la referencia adecuada (yo he sido incapaz de encontrarla) estaría muy agradecido.
Muchas gracias. Un saludo,
Fernando.

 

 

 

Buenas, muchas gracias por tu

Buenas, muchas gracias por tu ayuda.

He probado a cambiar la línea en la que realizo la llamada a la aplicación Dial en el fichero extensions.conf por la que me has indicado: exten=>_9.,1,Dial(DAHDI/0/${EXTEN:1},45)

Lamentablemente sigue persistiendo el mismo problema, en la línea obtengo el siguiente mensaje:

  == Using SIP RTP CoS mark 5

    -- Executing [9615683231@phones:1] Dial("SIP/Fernando-00000002", "DAHDI/0/615683231,45") in new stack

[Jul 12 08:42:57] WARNING[2968]: app_dial.c:1745 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 0 - Unknown)

  == Everyone is busy/congested at this time (1:0/0/1)

Si es necesario posteo la información de los ficheros de configuración de DAHDI o la del extensions.conf para que podamos echar un vistazo y tratar de averiguar dónde está el problema.

De nuevo te agradezco mucho que te hayas interesado por ayudarme.

 

Re: canal DAHDI

Hola Fernando,

postea el resultado de estos dos comandos (desde la consola)

CLI> dahdi show channels

y

CLI> dahdi show status

Saludos

Resultado de los comandos

Hola de nuevo,

aquí está el resultado de ejecutar los comandos desde la CLI de Asterisk:


debian*CLI> dahdi show channels

 

   Chan Extension  Context         Language   MOH Interpret        Blocked    State     

 pseudo                 default                            default                                   In Service

      1                    phones                            default                                   In Service

 


Hasta donde yo sé este resultado parece correcto ya que es el canal 1 el que yo he configurado como se indica en el primer mensaje de este hilo. No entiendo la aparición del canal pseudo pero como al aparecer es algo que sale por defecto tampoco me he preocupado por ello.


debian*CLI> dahdi show status

 

Description                              Alarms  IRQ    bpviol CRC4   Fra  Codi  Options  LBO

Wildcard X100P Board 1           RED     0        0        0         CAS Unk  YEL       0 db (CSU)/0-133 feet (DSX-1)


En cambio de este resultado me inquieta un poco el valor de 'Alarms' a 'RED'. La verdad es que no entiendo el significado de este campo y por tanto tampoco lo que me indica su valor pero la cuestión es que en el tutorial no he visto que la salida obtenida al ejecutar este canal fuera la misma.

Aprovecho también para postear la información detallada del canal 1 por si hubiera algún problema que podamos descubrir:


debian*CLI> dahdi show channel 1

Channel: 1> 

File Descriptor: 13

Span: 1

Extension: 

Dialing: no

Context: phones

Caller ID: 

Calling TON: 0

Caller ID name: 

Mailbox: none

Destroy: 0

InAlarm: 1

Signalling Type: FXS Kewlstart

Radio: 0

Owner: <None>

Real: <None>

Callwait: <None>

Threeway: <None>

Confno: -1

Propagated Conference: -1

Real in conference: 0

DSP: no

Busy Detection: no

TDD: no

Relax DTMF: no

Dialing/CallwaitCAS: 0/0

Default law: ulaw

Fax Handled: no

Pulse phone: no

DND: no

Echo Cancellation:

128 taps

currently OFF

Wait for dialtone: 0ms

Actual Confinfo: Num/0, Mode/0x0000

Actual Confmute: No

Hookstate (FXS only): Onhook


De este resultado lo único que me parece un poco raro es que el canal lo indique como '1>' en la primera línea. Yo esperaba que el resultado fuera simplemente 'Channel: 1'. Por si acaso he comprobado que en la línea del fichero dahdi-channels.conf la declaración del canal se hace correctamente channel=>1.

Agradezco de veras tu ayuda y tu interés por encontrar una solución al problema.

Re: Resultados de los comandos

Hola Fernando,

efectivamente el problema reside aquí:

Description                              Alarms  IRQ    bpviol CRC4   Fra  Codi  Options  LBO

Wildcard X100P Board 1           RED     0        0        0         CAS Unk  YEL       0 db (CSU)/0-133 feet (DSX-1)

Alarms tiene que estar en OK. Normalmente está en RED cuando el cable de la linea telefonica no esta conectado en la misma. Revisa que el cable esté bien (conectalo a un telefono tradicional y mira si hay tono), conectalo nuevamente a la tarjeta y reinicia asterisk.

Saludos

El problema persiste

Buenas de nuevo,

muchas gracias por la indicación. Ya conseguí solucionar el problema del estado de la alarma de la tarjeta, de hecho ahora mismo la salida de la CLI es la siguiente:

 

 


debian*CLI> dahdi show status

 

Description                              Alarms  IRQ    bpviol CRC4   Fra   Codi Options  LBO

Wildcard X100P Board 1           OK        0       0        0         CAS Unk  YEL        0 db (CSU)/0-133 feet (DSX-1)

 


También he comprobado que queda bien solucionado y comprendido que era por el tema de que el socket de línea que estaba utilizando no estaba dado de alta y tenía que utilizar otro que tenía disponible. Para ello simplemente desconecto el cable ethernet de la tarjeta X100P y observo en la CLI el mensaje

 

[Jul 14 15:05:55] WARNING[2954]: chan_dahdi.c:5692 handle_alarms: Detected alarm on channel 1: Red Alarm

 

y cuando vuelvo a conectar
[Jul 14 15:06:04] NOTICE[2954]: chan_dahdi.c:9379 handle_init_event: Alarm cleared on channel 1
De todas formas, el problema inicial sigue persistiendo. Es decir, cuando realizo una llamada desde mi softphone obtengo el mensaje en la CLI

  == Using SIP RTP CoS mark 5
    -- Executing [90615683231@phones:1] Dial("SIP/Fernando-00000002", "DAHDI/0/0615683231,45") in new stack
[Jul 14 14:58:22] WARNING[2979]: app_dial.c:1745 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 0 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)

Desde el softphone marco antes del número al que deseo llamar los dos dígitos 90, 9 por como tengo configurada  el dialplan en Asterisk (extensions.conf) y 0 porque la línea necesita un 0 antes del número a llamar (esto lo he comprobado realizando llamadas previamente conectando el cable que ahora mismo tengo conectado a la tarjeta X100P a un teléfono convencional).
¿Alguna idea de por qué puede estar pasando esta vez?
Te agradezco mucho la ayuda y que me hayas indicado cómo solucionar el tema de la línea, además me ha servido para aprender más :-).

 

 

Re: El problema persiste

Hola Fernando,

intenta llamar el numero telefonico de la linea conectada a la tarjeta para ver si las llamadas en entrada funcionan. Luego, si funcionan, intenta marcar nuevamente el numero y mira que pasa.

Que versión de Asterisk estás usando?

Saludos

Llamadas entrantes y salientes. Versión asterisk.

Buenas,

he probado a realizar llamadas tanto de entrada como de salida conectando el cable de la línea telefónica a un teléfono convencional y en ambos casos el resultado ha sido satisfactorio.

Cuando conecto el cable de la línea a tarjeta X100P instalada en el ordenador ocurre lo siguiente. Al realizar una llamada al número de la línea conectada a la tarjeta observo los siguientes mensajes en la CLI de asterisk:

 


    -- Starting simple switch on 'DAHDI/1-1'
[Jul 16 12:11:35] NOTICE[3116]: chan_dahdi.c:8692 ss_thread: Got event 18 (Ring Begin)...
[Jul 16 12:11:36] NOTICE[3116]: chan_dahdi.c:8692 ss_thread: Got event 2 (Ring/Answered)...
[Jul 16 12:11:40] NOTICE[3116]: chan_dahdi.c:8692 ss_thread: Got event 18 (Ring Begin)...
  == Starting DAHDI/1-1 at phones,s,1 failed so falling back to exten 's'
  == Starting DAHDI/1-1 at phones,s,1 still failed so falling back to context 'default'
    -- Executing [s@default:1] Answer("DAHDI/1-1", "") in new stack
    -- Executing [s@default:2] Playback("DAHDI/1-1", "hello-world") in new stack
    -- <DAHDI/1-1> Playing 'hello-world.gsm' (language 'en')
    -- Executing [s@default:3] Hangup("DAHDI/1-1", "") in new stack
  == Spawn extension (default, s, 3) exited non-zero on 'DAHDI/1-1'
    -- Hungup 'DAHDI/1-1'


 

Que se corresponde perfectamente con lo definido en el extensions.conf:

 


[globals]

[general]
autofallthrough=yes

[default]
exten => s,1,Answer()
exten => s,n,Playback(hello-world)
exten => s,n,Hangup()

[incoming]
; incoming calls from the FXO port are redirected to this context
; from /etc/asterisk/chan_dahdi.conf
exten => s,1,Answer()
exten => s,n,Playback(hello-world)
exten => s,n,Hangup()

[phones]
include => outgoing
;include => incoming

[outgoing]
exten => _9.,1,Dial(DAHDI/0/${EXTEN:1},45)
exten => _9.,n,Playback(hello-world)
exten => _9.,n,Hangup()

exten => 666666,1,Answer()
exten => 666666,n,Playback(hello-world)
exten => 666666,n,Hangup()


 

Y por tanto he podido oír, aunque con bastante mala calidad, el hello-world desde el teléfono llamante.

En cambio cuando realizo una llamada desde mi softphone (estoy utilizando zoiper para más información) para que se pueda comunicar con un teléfono a través del canal DAHDI, sigo obteniendo el mismo problema mostrado por la CLI:

 


  == Using SIP RTP CoS mark 5
    -- Executing [90615683231@phones:1] Dial("SIP/Fernando-00000000", "DAHDI/0/0615683231,45") in new stack
[Jul 16 12:17:06] WARNING[3164]: app_dial.c:1745 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 0 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)


 

En cuanto a la versión de asterisk que estoy utilizando:

 


$ asterisk -version
Asterisk 1.6.2.6, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.


 

¿Alguna nueva idea de por qué puede estar sucediendo esto?

Muchas gracias.

Canal DAHDI

Hola Fernando,

tres cosas:

el contexto definido para el canal DAHDI es phones:

Context: phones

Mientras debería ser incoming o default (según tu dialplan).

Segundo el canal que se configuró es el 1 y no el 0.

Para marcar tienes que usar esta linea:

exten => _9.,1,Dial(DAHDI/1/${EXTEN:1},45)

o en alternativa:

exten => _9.,1,Dial(DAHDI/g1/${EXTEN:1},45)

Tercero. La extensión que configuraste en el sip.conf debe tener acceso a ese contexto.

A veces, he leido, algunas tarjetas no empiezan a funcionar hasta que no se reciba una llamada en la linea conectada. Mira si despues de recibir una llamada logras marcar (antes lo hacias con el channel 0 y quizas por eso te daba error).

Saludos

Solucionado

Buenas,

ya he conseguido realizar una llamada desde el ordenador a un teléfono móvil utilizando como herramienta software un softphone así que al parecer el problema ha quedado resuelto!! :-)

En cuanto al asunto del contexto, he dejado como contexto asociado al canal DAHDI phones tal y como lo tenía, únicamente que he descomentado la línea de este contexto que hacía el include del contexto incoming. De todas formas creo que éste no era el problema principal.

Además he modificado en el extensions.conf la línea en la que hago uso de la aplicación Dial tal y como me recomendaste, utilizando el canal 1 y no el 0 como yo lo había hecho. Este ha sido el cambio que ya ha hecho funcionar todo el sistema correctamente.

En último luego, en cuanto al tercer apunte que me hacías, no lo he podido comprobar ya que la primera prueba que he realizado es hacer una llamada saliente y ha funcionado correctamente. De todas formas, sí es cierto que la semana pasada, cuando no me funcionaban todavía las llamadas salientes, hice una llamada a la línea instalada en el ordenador así es posible que sea cierto lo que comentabas, que antes de poder realizar llamadas se debe recibir una llamada a línea conectada. Insisto que no lo puedo asegurar.

Muchas gracias por toda tu ayuda. Sinceramente pienso que lo hubiera acabado de conseguir sin tus indicaciones. Te estoy muy agradecido por tu interés, tu paciencia y el siguiente que has realizado de mis dudas. Me siento en deuda contigo.

Un saludo, 

Fernando.

Re: Solucionado

Hola Fernando,

Para ver si hay un problema con la tarjeta podrías hacer la ultima prueba.

Reinicia el servidor Asterisk y miras si marcando la llamada sale.

Si asi no fuera, marcas a la linea conectada a Asterisk y una vez efectuada la llamada entrante, vuelves a marcar hacia afuera.

Deudas aquí no hay, lo que si se aceptan son donaciones (de cualquier monto) :)

Saludos

ECHO CANCELL

Antes que nada quiero agradecer la informacion que has puesto ya que me sirvio 100%. Muchas gracias. Si no es mucha molestia te pediria que me ayudes con lo siguiente. Cada ves que llamo o recibo llamadas me surje este mensaje en el cli.

[Aug 11 14:29:54] WARNING[24389]: chan_dahdi.c:2005 dahdi_enable_ec: Unable to enable echo cancellation on channel 1 (No such device)
[Aug 11 14:29:56] WARNING[24389]: chan_dahdi.c:2005 dahdi_enable_ec: Unable to enable echo cancellation on channel 1 (No such device)

Cabe destacar que siento algunos problemitas de eco. Te muestro mis archivos:

pbx:~# cat /etc/dahdi/system.conf

fxsks=1
echocanceller=mg2,1
# channel 2, WCTDM/4/1, no module.
# channel 3, WCTDM/4/2, no module.
# channel 4, WCTDM/4/3, no module.

# Global data

loadzone        = us
defaultzone     = us

----------------

pbx:~# cat /etc/asterisk/chan_dahdi.conf

[trunkgroups]
; define any trunk groups

[channels]
; hardware channels

; default
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
echocancelwhenbridged=yes

; define channels
context=incoming
signaling=fxs_ks
channel => 1

#include dahdi-channels.conf
----------------------------------

pbx:~# cat /etc/asterisk/dahdi-channels.conf
; Autogenerated by /usr/sbin/dahdi_genconf on Mon Aug  9 11:46:26 2010
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCTDM/4 "Wildcard TDM400P REV I Board 5" (MASTER)
;;; line="1 WCTDM/4/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-pstn
channel => 1
callerid=
group=
context=default

Muchas gracias por tu ayuda!!

Canales DAHDI

Buenos días a todos

Tengo una pequeña duda, que aún no he sabido solucionar. En mi Asterisk tengo tres tarjetas configuradas, dos Digium B410P para RDSI básicos y una Digium TE212 para una línea de básico, confuguradas así en /etc/asterisk/dahdi-channels.conf:


; Autogenerated by /usr/sbin/dahdi_genconf on Tue Jun 28 09:35:41 2011

; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: B4/0/1 "B4XXP (PCI) Card 0 Span 1" (MASTER) HDB3/CCS/CRC4
group=0,11
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 1-2
context = default
group = 63

; Span 2: B4/0/2 "B4XXP (PCI) Card 0 Span 2"
group=0,12
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 4-5
context = default
group = 63

; Span 3: B4/0/3 "B4XXP (PCI) Card 0 Span 3"
group=0,13
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 7-8
context = default
group = 63

; Span 4: B4/0/4 "B4XXP (PCI) Card 0 Span 4"
group=0,14
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 10-11
context = default
group = 63

; Span 5: B4/1/1 "B4XXP (PCI) Card 1 Span 1"
group=0,15
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 13-14
context = default
group = 63

; Span 6: B4/1/2 "B4XXP (PCI) Card 1 Span 2"
group=0,16
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 16-17
context = default
group = 63

; Span 7: B4/1/3 "B4XXP (PCI) Card 1 Span 3"
group=0,17
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 19-20
context = default
group = 63

; Span 8: B4/1/4 "B4XXP (PCI) Card 1 Span 4"
group=0,18
context=entrantes
switchtype = euroisdn
signalling = bri_cpe
channel => 22-23
context = default
group = 63

; Span 9: WCT1/0 "Wildcard TE121 Card 0"
group=0,19
context=resto
switchtype = euroisdn
signalling = pri_cpe
channel => 25-39,41-55
context = default
group = 63


El caso es que utilizamos los básicos para llamadas entrantes, como queda definido en el contexto, y queremos utilizar el primario para llamadas salientes (en este caso, contexto resto).

Mi pregunta es cómo defiinir un grupo o similar en el extensions.conf para que las llamadas salientes vayan redirigidas ahí, es decir, del canal 25 en adelante. Si pongo

exten => _6XXXXXXXX,1,Dial(DAHDI/g1/${EXTEN},90)

El asterisk se queja indicándome que no puede crear un canal DAHDI así.

Gracias por vuestra ayuda.

Un saludo

Re: Canales DAHDI

Hola,

intenta cambiar esta linea:

exten => _6XXXXXXXX,1,Dial(DAHDI/g1/${EXTEN},90)

con esta:

exten => _6XXXXXXXX,1,Dial(DAHDI/g19/${EXTEN},90)

ya que has configurado el primario con los grupos 0 y 19 como aparece en esta linea:

; Span 9: WCT1/0 "Wildcard TE121 Card 0"
group=0,19

Cuéntanos si te funciona.

Saludos

Funciona!

Efectivamente, funciona! Me había hecho un pequeño lio con los grupos, y me estaba volviendo loco.

Como siempre, muchísimas gracias!

Javier

Hola, exelente tutorial. Les

Hola, exelente tutorial.
Les escribo porque al no he podido configurar mi targeta por el siguiente error:

Changing signalling on channel 1 from Unused to FXO Kewlstart
DAHDI_CHANCONFIG failed on channel 1: Invalid argument (22)
Selected signaling not supported
Possible causes:
FXO signaling is being used on a FXO interface (use a FXS
signaling variant)
RBS signaling is being used on a E1 CCS span
Signaling is being assigned to channel 16 of an E1 CAS span

alguien puede ayudarme con esto?. Estare atento a sus comentario
graciasss
Saludoss...

No puedo hacer llamadas a traves de tarjeta x100p

Hola

Muy buena informacion, Instale una tarjea x100P en asterisk version 11, puedo recibir llamadas externas pero cuando de hacer una llamada externa a traves de la tarjeta x100P me generar un error:

== Using SIP RTP CoS mark 5
[Mar 12 09:30:33] NOTICE[2435][C-00000003]: chan_sip.c:25632 handle_request_invite: Call from '1000' (192.20.20.148:56019) to extension '92268982' rejected because extension not found in context 'from-sip'.
-- Registered SIP '1000' at 192.20.20.148:56019
> Saved useragent "Z 3.2.21357 r21367" for peer 1000

Mi archivo extensions.conf tiene lo siguiente configurado:

[from-sip]
exten => 1000,1,Dial(SIP/1000,15,Trt)
exten => 1001,1,Dial(SIP/1001,15,Trt)

[internos]
exten=> 1000,1,dial(dahdi/1,20,Trt)
exten=> 1000,1,hangup

[outgoing]

exten => _9.,1,Dial(DAHDI/1/${EXTEN:1},45)

exten => _9.,n,Hangup

[from-pstn]

exten => s,1,Dial(SIP/1000,45)

exten => s,n,Hangup

Re: No puedo hacer llamadas a traves de tarjeta x100p

Hola,

creo que en la configuración de las extensiones (sip.conf) pusiste como contexto from-sip mientras el contexto para las llamadas salientes es [outgoing]; por eso la llamada no sale.

Intenta modificar este bloque:

[from-sip]
exten => 1000,1,Dial(SIP/1000,15,Trt)
exten => 1001,1,Dial(SIP/1001,15,Trt)

con:

[from-sip]

include => outgoing

exten => 1000,1,Dial(SIP/1000,15,Trt)
exten => 1001,1,Dial(SIP/1001,15,Trt)

Guardas los cambio, recarga el dialplan e inténtalo nuevamente.

Saludos

no me aparecen los canales

estoy siguiendo tu configuracion todo me sale igual aplicando los pasos que dices pero a la hora de hacer el dahdi show channel 1 me da Command 'dahdi show channel 1' failed. Usando el dahdi show channels tampoco me figura el canal pero con el dahdi show status si me figura mi placa aca se puede deber? muchas gracias desde ya

Asterisk

Hola fernando excelente tu tutorial solo que tengo un pequeño problema ojala me puedas ayudar, ya tengo mi asterisk instalado con su tarjeta pci todo funciona correcto, a exepcion de las llamadas entrantes no puedo recibir llamadas hago sin problemas pero no recibo, soy principiante en esto apenas estoy aprendiendo como se hace todo esto no se manejar muy bien el cli pero de acuerdo a los comandos que pusiste esto es lo que me arroja mi linea 1 espero me puedas ayudar te lo agradeceria.

Channel: 1
Description:
File Descriptor: 10
Span: 1
Extension:
Dialing: no
Context: DID_trunk_1
Caller ID:
Calling TON: 0
Caller ID subaddress:
Caller ID name:
Mailbox: none
Destroy: 0
InAlarm: 0
Signalling Type: FXS Kewlstart
Radio: 0
Owner:
Real:
Callwait:
Threeway:
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: no
Busy Detection: yes
Busy Count: 3
Busy Pattern: 500,500,0,0
TDD: no
Relax DTMF: no
Dialing/CallwaitCAS: 0/0
Default law: ulaw
Fax Handled: no
Pulse phone: no
Gains (RX/TX): 0.00/0.00
Dynamic Range Compression (RX/TX): 0.00/0.00
DND: no
Echo Cancellation:
1 taps
(unless TDM bridged) currently OFF
Wait for dialtone: 0ms
Actual Confinfo: Num/0, Mode/0x0000
Actual Confmute: No
Hookstate (FXS only): Offhook

Suscribirse a Comentarios de "Instalación y configuración de la tarjeta X100P en Asterisk 1.6.X" Suscribirse a VozToVoice - Todos los comentarios