miércoles, 1 de junio de 2011

Configuración de A2Billing para "Pretarificar" Asterisk 1.4

Bueno como mucho he mencionado, aqui esta la guia completa para configurar A2Billing con funcion de "Pretarificación", es decir, poder asignar un gasto a una extensión y que dicho gasto se vaya descontando conforme hace llamadas sin que tenga que teclear un PIN asociado.

Omito el hecho de que en cada sección que configuremos algo, deberemos dar clic a: CONFIRM DATA

1.- Entramos a la sección de Calling Cards de nuestro sistema Elastix.
2.- Si tenemos la instalación default el user es: root y password: myroot
3.- Damos clic en el + de Trunk
4.- Damos clic en Create Provider
5.- Especificamos un nombre y descripcion para nuestro proveedor
6.- Damos clic en Add Trunk
7.- En VOIP-PROVIDER seleccionamos el provedor que acabamos de crear, en Label ponemos un nombre para dicha troncal, en provider tech, especificamos la tecnología de nuestra troncal, por ejemplo, para una troncal basada en dahdi ponemos: DAHDI, en Provider IP ponemos g0 si ese es el grupo de troncales configurada.
8.- Damos clic en: Create New RateCard
9.- En TARIFFNAME, ponemos un nombre de forma global a la tarifa, en TRUNK seleccionamos la Troncal que acabamos de crear.
10.- Damos clic en: Add Rate
11.- Seleccionamos la RATECARD que acabamos de crear, DIAL PREFIX vamos a poner el prefijo que queremos tarificar Por ejempl: 044, en DESTINATION ponemos el nombre del destino para este caso: Celular Local, en BUYING RATE el precio que a nosotros nos cuesta esa troncal, BUY RATE MIN DURATION es el tiempo minimo que se requiere en la llamada para que esta sea cobrada, BUYRATE BILLING CLOCK cada cuantos segundos se hara el cargo definido en BUYINGRATE, en la parte de SELLING, aplica lo mismo, pero es el costo que cobraremos a cada extensión que se configure. Si deseamos definir un costo por conexión (Por ejemplo para tarificar llamadas y no minutos, ponemos un valor ahi), seleccionamos la Troncal por la cual vamos a sacar ese prefijo.
12.- Damos clic a: Create Call Plan
13.- Damos un nombre al Call Plan y seleccionamos LCD, damos CONFIRM DATA
14.- Nos vamos a: List Call Plan y damos edit en el CALL PLAN Creado
15.- Agregamos los RATECARD que se requieran para ese CALL PLAN
16.- Damos clic en el + de CUSTOMERS
17.- Clic en Create Customers
16.- Creamos los Custmomers que requiramos (Lo ideal es uno por extensión)
17.- Una vez creados, entramos a cada Customer, y en la parte de abajo, veremos que podemos agregar Callerid, lo que se tiene que agregar en cada Customer, es precisamente la extension a la que estaremos asignando el credito de ese Customer
18.- Nos vamos a la sección PBX de nuestro Elastix
19.- Nos vamos a Trunks
20.-Creamos una troncal Custom
21.- En Custom Dial String ponemos:   A2B/$OUTNUM$
22.- Lo siguiente es modificar archivos a nivel del sistema de asterisk como sigue:

La versión de asterisk 1.4.24, tiene problemas y no recibe de forma correcta el pin con el A2Billing, se requiere de realizar: yum update asterisk*, para que pase por lo menos a la versión:  1.4.33.1 (o posteriores)

Agregar al final del archivo: /etc/asterisk/extensions_custom.conf

[macro-dialout-trunk-predial-hook]
exten => s,1,GotoIf($["${OUT_${DIAL_TRUNK}:4:4}" = "A2B/"]?custom-freepbx-a2billing,${OUTNUM},1:2)
exten => s,2,MacroExit

[custom-freepbx-a2billing]
exten => _X.,1,DeadAGI(a2billing.php|${OUT_${DIAL_TRUNK}:8})
exten => _X.,n,Hangup()


#include extensions_a2billing.conf


En el archivo: /etc/asterisk/extensions_a2billing.conf

[a2billing]
include => custom-a2billing-did
exten => _X.,1,Answer
exten => _X.,2,Wait(1)
exten => _X.,3,DeadAGI(a2billing.php|1)
exten => _X.,4,Hangup

[custom-a2billing-did]
exten => _X.,1,deadAGI(a2billing.php|1|did)
exten => _X.,2,Hangup



Modificar el archivo: /var/lib/asterisk/agi-bin/libs_a2billing/Class.A2Billing.php

La línea: 1836 dice: !is_numeric($this->CallerID) && $this->CallerID<=1 Debe decir: !is_numeric($this->CallerID) && $this->CallerID<=0


Es probable que en el proceso de copiado y pegado algo no quede bien, pero escribanme y con gusto les enviaré el texto de forma plana.

De igual forma, para Asterisk 1.6 (Elastix 2.0.3) hay varios cambios, que con gusto les enviare si me lo solicitan.

Escucha de Extensiones en asterisk 1.4

Para escuchar extensiones en asterisk 1.4, es el mismo procedimiento que para 1.6, solo que cambia la funcion:

[custom-spy]

exten => _8XXX,1,Authenticate(4321)
exten => _8XXX,2,ChanSpy(|q(${EXTEN}))
exten => _8XXX,3,Hangup

Alguna duda?, escribanme!

Escucha de Extensiones en Elastix 1.6

Muchas veces si tenemos instalado nuestro sistema Elastix para un Call center o en una oficina convencional, se requiere el poder escuchar conversaciones de ciertas extensiones. Si bien es cierto que con la fucion: 555 podemos tomar un canal al azar, si queremos poder escuchar de forma especifica una llamada en una extensión, lo que necesitamos hacer es lo siguiente:

En el Archivo: extensions_custom.conf vamos a agregar la siguiente linea en el contexto indicado:
[from-internal-custom]
exten => 1234,1,Playback(all-circuits-busy-now)
exten => 1234,2,Hangup()
exten => h,1,Hangup()
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup

include => custom-spy

y al final del archivo, agregaremos esto:

[custom-spy]
exten => _8.,1,Authenticate(4321)
exten => _8.,n,Set(ESPIAR=${EXTEN:1})
exten => _8.,n,ChanSpy(SIP/${ESPIAR},q)
exten => _8.,n,Hangup

De esta forma, bastara con marcar en nuestro teléfono: 8+exten (a 3 Digitos), nos pedira el password (Definimos: 4321) y empezaremos a escuchar la conversación.
 

lunes, 16 de mayo de 2011

Como instalar A2Billing

Estoy por terminar el tutorial de como Configurar de forma correcta A2Billing para pretarificación, es decir, para que en base a una tarjeta asignada con credito a una extensión, dicha extensión vaya consumiendo el credito hasta llegar a cero. Muy util para controlar los gastos de telefonía para empresas grandes.

Sobre vulnerabilidad en elastix 1.5 y 1.6

Desde marzo publique sobre esta vulnerabilidad, incluso en un foro de Elastix, pero un experto solo respondió que: "Los usuarios avanzados de Elastix ya sabian eso", pero nadie publicó ni subió un parche al respecto, sino hasta que se vulneraron muchos servidores y muchos sitios con Elastix tuvieron mala reputación.

Esperemos que los usuarios "Expertos", la próxima vez, publiquen una solución a tiempo.

sábado, 26 de marzo de 2011

Vulnerabilidad grave en Elastix 1.6.x

Esta no es una Vulnerabilidad que halla descubierto yo, de hecho alguien mas ya la descubrió y la ha estado explotando, es una forma de verdad sencilla de obtener los numeros de extension y sus contraseñas para registrarnos en cualquier conmutador que sea visible desde Internet.

Es muy simple, a la dirección de su conmutador basta agregar esto:

http://ip-de-tu-conmutador/modules/extensions_batch/libs/download_csv.php

Y nos permitirá descargar el batch de las extensiones, con lo que no importa cuanto nos esmeremos en poner contraseñas seguras, siempre podran accederlas para logearse como quieran y cuando quieran para hacernos cargos de llamadas.

domingo, 17 de octubre de 2010

Asterisk 1.33.x + Wanpipe 3.5.17

Nunca, nunca realizar esta combinación, esta versión de wanpipe, la 3.5.17 hace que todo el sistema se congele, no hay forma de hacer downgrade la unica solución es reinstalar el sistema. Elastix 1.6-12