Ahorrando prácticamente: Implantemos una centralita Asterisk (II)

Llegados a este punto ya tenemos configurado el entorno alrededor de Asterisk: Tenemos un ordenador, con las tarjetas digitalizadoras de voz instaladas, conectado a nuestra red (si Trixbox ha cogido sólo IP por existir en la red un servidor DHCP, será muy interesante que la IP de la centralita sea fija… salvo que queráis configurar adecuadamente los DNS de vuestro servidor de red, pero eso es otra historia), y tenemos configurado el driver Zaptel para que Asterisk pueda utilizar las tarjetas OpenVox.

A partir de este momento, podemos distinguir a grandes rasgos 3 grupos principales de elementos a configurar:

  • La configuración del módulo encargado de utilizar las líneas analógicas (las de teléfono de toda la vida): Zapata
  • Configuración general de Asterisk
  • Dialplan (el conjunto de extensiones y reglas internas a nuestra centralita: nuestra instalación local)

Veamos la configuración de Zapata. Ello se hace editando directamente el fichero /etc/asterisk/zapata.conf . Hay detalles muy importantes en él, que pueden dar más de un quebradero de cabeza. Os adjunto el zapata.conf que me función a mí, profusamente comentado. Digo el que me funcionó a mí, porque dependiendo de vuestra línea habréis de configurar una u otras cosas (en mi caso, por ejemplo, casi no tuve que configurar nada de cancelación de eco, por ejemplo).

La idea en este fichero es la de definir “canales”  por los que circulará la voz para Asterisk. En este caso, configuraremos un único canal (g0) que podrá ubicar 4 comunicaciones de voz con el exterior (tantas como puertos tiene la tarjeta digitalizadora, y como líneas de teléfono tengo contratadas).

;
; Zapata telephony interface
;
; Configuration file

[trunkgroups]

[channels]
; Habilita la recepcion del Caller ID (es decir, del número
; del llamante). Sin esta opción, Asterisk no será capaz de
; obtener el número de teléfono de quién nos llama
usercallerid=yes

; Usando el valor asreceived en callerid, te pasa directamente
; la identificación que viene en la linea por el provedor de
; telefonía
callerid=asreceived

; Permitimos que en las llamadas salientes se indique nuestro
; número
hidecallerid=no

relaxdtmf=yes

; Esta opción es válida cuando tenemos una línea con ADSI
; (Analog Display Services Interface)
adsi=yes

; En esta opción se especifica en qué momento la operadora
; nos envía el identificador de llamada.
; El número que aparece es el número de tonos (de rings)
sendcalleridafter=2

; Esta opción es la que nos proporcionará identificación de
; llamada y es también vital. Sin ella, se produce algo raro
; en las llamadas: Al llamar se produce un evento
; "Starting switch on Zap" y un hangup justo antes de contestar;
; la llamada. Al contestar Asterisk la llamada se produce
; otro "Starting switch on Zap" (Es como si hubiera dos llamadas
; dentro de una misma, una justo antes de contestar y otra a
; posteriori). Sin este parámetro, el CALLERID(num)
; sólo es detectado en el primer evento, y cuando se
; descuelga, se ha perdido el CALLERID.
; Esta opción, hace que el callerid se mantenga en el segundo
; evento. Os dejo parte de la documentación original en inglés:
;
; distinctiveringaftercid = yes | no
;
; If this is enabled a short initial ring is generated
; followed by caller;  ID and then the normal or distinctive
; ring cadence is used. This type of ringing is used in
; Australia and on some UK cable company exchanges. If this
; is turned off then sendcalleridafter MUST be correct and all
; user defined cadences MUST have a suitable silence marked for
; caller ID.
distinctiveringaftercid=yes

; Si el caller ID se envía antes del primer ring, la operadora
; señalizará el inicio de ese envío con una inversión de la
; polaridad en la línea: con esta opción, nuestro hardware
; local, lo detectará.
polarityevents=yes

; Esta opcion da graves problemas en la deteccion del
; "descolgado", ya que es una opción que sólo funciona
; adecuadamente en EEUU. Sirve para poder identificar el
; fin de una llamada. (Sí, hay ciertas ocasiones en las que
; Asterisk puede no detectar que en el extremo remoto
; se ha colgado la llamada)
;callprogress=yes

; Esta opcion hará que suenen unos pips en las llamadas,
; cuando se este haciendo una llamada por un canal, y se
; produzca otra llamada por el mismo canal. (La opción de llamada en espera)
callwaiting=yes

; Puesta a yes establece que Asterisk enviara el Caller
; ID al telefono durante la indicación de una llamada en
; espera. Requiere que la anterior opción este a yes.
callwaitingcallerid=yes

; Esta opción permite poner una llamada en espera.
; Estamos hablando del canal analógico zaptel, nada
; tiene que ver con las extensiones que se crearán después.
threewaycalling=no

; This option has effect only when threewaycalling=yes.
; If threewaycalling=yes and transfer=yes, then once you've
; placed a call on hold with a hook flash, you can transfer
; that call to another extension by dialling the extension
; and hanging up
transfer=yes

; Cuando esta opción esté a yes, al transferir una llamada
; a otro teléfono, el CallerID original se transferirá también.
useincommingcalleridonzaptransfer=yes

; Opciones que indica el tipo de señalización que utiliza
; tu operadora para transmitir el callerId.
; En España (Telefónica) son estas:
cidsignalling=bell
cidstart=ring
;
; Type of caller ID signalling in use
;     bell     = bell202 as used in US
;     v23      = v23 as used in the UK
;     v23_jp   = v23 as used in Japan
;     dtmf     = DTMF as used in Denmark, Sweden and Netherlands
;     smdi     = Use SMDI for callerid.  Requires SMDI to be
;                enabled (usesmdi).
;
;cidsignalling=bell
;     ring     = a ring signals the start
;     polarity = polarity reversal signals the start
; 

; Opciones que sirven para que Asterisk detecte si en
; el otro extremo (a quien realizamos la llamada)
; está ocupado
busydetect=yes
busycount=6

; Para tener todo en español
language=es

; Definirá el contexto de este canal: Será utilizado
; dentro del Dialplan para indicarle a Asterisk, por qué
; canales, o contexto, pueden entrar y salir llamadas.
context=from-zaptel

; Señalización. Tenemos canales FXO con senializacion FXS
signalling=fxs_ks

; Estas tres opciones son necesarias para saber
; cuando se cuelga y descuelga. Sin ellas es probable que
; vuestra tarjeta digitalizadora no sepa cuándo está
; recibiendo una llamada
; o cuando en el otro extremo han descolgado.
answeronpolarityswitch=yes
hanguponpolarityswitch=yes
polarityonanswerdelay=1
faxdetect=both
group=0
channel => 1-4
; Cuando creemos la de salida y se quiera hacer una
; llamada, especificaremos que se haga a través del
; canal g0 . Esa primera letra g, puede cambiarse según
;   g: Utiliza el canal de menor número disponible del
;      grupo especificado
;   G: Utiliza el canal de mayor número disponible del
;      grupo especificado
;   r: Sigue una estrategia Round-Robin de menor a mayor
;   R: Round-Robin de mayor a menor
; En nuestro caso, g
; La configuración anterior es válida hasta aquí:
; Si queremos configurar otro canal,
; reescribiremos a partir de aquí su nueva configuración
; hasta acabar en una línea similar

En el siguiente post estableceremos la configuración básica de Asterisk.




You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 Responses to “Ahorrando prácticamente: Implantemos una centralita Asterisk (II)”

  1. chencho Says:

    Interesante, sin embargo, la utilidad de este sistema no lo acabo de ver claro, más que las llamadas en espera y buzón de voz.

    Lo digo porque con este sistema tienes que morir en la línea de teléfono tradicional, es decir, sigues pagando la línea y las llamadas salientes se siguen tarificando normalmente, así que, si me permites la pregunta: ¿por qué te decidiste a montar un sistema de voip?

  2. David Pinelo Says:

    Es cierto, que las llamadas mueren en una línea tradicional, aunque internamente tengo un sistema VoIP. Pero, con esto ya tengo bastante ventajas:
    1.- Por todas las funcionalidades que ofrece la centralita Asterisk + FreePBX (llamadas en espera, buzones de voz, colas, grupos de captura, conferencias, faxes en pdf… etc)
    2.- Porque puedo ya, con la centralita IP interconectar a través de simples ADSL varias sedes sin necesidad de pagar cánones adicionales a nadie. (Otra cosa es que me decida a contratar algún servicio IP en el futuro).
    3.- Porque una centralita que ofrezca los servicios de (1) es más caro que lo friki que soy y lo bien que me lo he pasado montándolo… jeje (esta razón es de bastante peso :P)

    Por cierto, tengo que terminar esos post… pero el mes de Diciembre ha sido bastante jodido, por razones personales.

Leave a Reply

Debe estar logado para añadir un comentario.