como configurar a2billing y crear una tarjeta

worldxcomputers

Joined
Aug 26, 2009
Messages
126
Likes
0
Points
0
#1
hola tengo que dejar claro que esto lo eh encontrado en Asterisk Peru, esta muy bien explicado, y con esto podeis crear una tarjeta de llamadas, lo unico que es una tarjeta para llamar desde una cuenta sip ( o asi lo entiendo yo ), aunque pone que se puede consultar el saldo sin tener un ordenador cerca, lo cual me hace pensar que es un telefono con gateway, porque no especifica un numero de telefono tipo 900 al que llamar, en fin ya lo vereis.

un saludo y encantado de aportar.






Configurar a2billing en menos de 10 minutos
Esta es una replica del articulo publicado en Ecualug.


Ya sabemos como instalar a2billing, ahora vamos a configurarlo para que empieze a controlar las tarifas de las llamadas que se realizen desde asterisk.

Una de las cosas que se tornan mas difíciles (instalarlo es super fácil) es entender como manejar el sistema de facturación. Sabemos que puede mostrarnos el consumo monetario de una llamada realizada por alguna de nuestras extensiones (clientes), pero configurarlo desde su amigable interfaz web es algo confuso las primeras veces.

No hay mejor manera de explicar un procedimiento que con la práctica, voy a explicar como lograr que a2billing funcione para tarificación del consumo telefónico. Para esto voy a asumir lo siguiente:

- Tengo instalado y configurado Asterisk;
- Tengo configurado un proveedor de minutos que usa SIP al que llamare proveedorsip;
- Mi proveedor NO requiere que se agregen 00 ó 011 antes del código de país;
- Tengo instalado a2billing y su interfaz de usuario;
- Para hacer llamadas internacionales mis extensiones agregan el 00 antes del código de país.

En nuestro archivo de configuracion sip.conf debemos tener las líneas para la configuración del proveedor:


[proveedorsip]
username=usuario
type=peer
secret=una-clave
nat=yes
insecure=very
host=sip.proveedorsip.com
fromuser=usuario
fromdomain=sip.proveedorsip.com
dtmfmode=info
disallow=all
canreinvite=no
authuser=usuario
allow=g723
allow=g729
allow=alaw

El procedimiento:
1.- Crear un proveedor:

TRUNK --> Create Provider

He creado el Proveedor ProveedorSIP en donde ingreso detalles informativos del proveedor.

2.- Agregar un Trunk:

TRUNK --> Add Trunk

Un trunk es el canal por donde saldrán las llamadas, podemos tener varios trunks por ejemplo uno para llamadas internacionales, otro para llamadas locales, etc. Estos trunks pueden usar el mismo proveedor pero se diferencian entre ellos por los dígitos que se agregan o eliminan al marcado que envia el cliente, así en este ejemplo debemos agregar 00 para llamadas inernacionales; agregar 5935(yo estoy en Manabí) para las llamadas locales.

Se ingresan los detalles de la troncal, por ejemplo que prefijo se debe agregar a cada llamada que por esta troncal salga, para ilustrar el ejemplo estos son los datos que ingreso para el Trunk que llamaré internacional-proveedorsip, debo tener en cuenta que a este proveedor enviarle el codigo de pais y el numero de telefono, por ejemplo si voy a llamar a Venezuela el debera recibir 582121234567 y no 00582121234567, el prefijo de marcado varía entre los diferentes proveedores, otros requieren que envies un 011 ó 00 antes del codigo de pais para poder terminar la llamada.

Mis usuarios marcarán:

00 + codigo de pais + codigo de area + numero de telefono

El proveedor podra terminar la llamada si el marcado le llega como:

codigo de pais + codigo de area + numero de telefono

Así debería de quedar el trunk en a2billing para que se cumplan los requerimientos anteriores:


VOIP-PROVIDER ProveedorSIP
LABEL internacional-proveedorsip
ADD PREFIX (en este caso no es necesario agregar prefijos)
REMOVE PREFIX 00
PROVIDER TECH SIP
PROVIDER IP proveedorsip
ADDITIONAL PARAMETER
FAILOVER TRUNK (no es necesario por ahora)

La última opción es bastante útil si tenemos mas de un proveedor. Podemos tener varios trunks que hagan terminación a un mismo destino pero con diferentes proveedores, asi si el proveedor A esta sin servicio la llamada puede ser terminada por el proveedor B.

3.- Creamos un grupo de tarifas (TariffGroup)

RATECARD --> Create TariffGroup

TARIFFGROUPNAME Oro
LC TYPE LCR
REMOVE INTER PREFIX NO

Podemos tener varios grupos de tarifas que contendran diferentes precios, por ejemplo podemos tener 3 grupos de tarifas Oro, Plata y Bronce. En Oro van tarifas bien bajas, y en Bronce las altas. Los grupos de tarifas contienen las Ratecard y estas últimas los precios de los destinos. Los grupos de tarifas pueden tener tambien LCR o LCD.

LCR es Low Cost Routing que quiere decir que escogera de las tarifas que existan a un destino la que nos cuesta menos. LCD es Low Cost Dialing que quiere decir que escogerá la tarifa de venta mas económica para el usuario.

4.- Crear RATECARD

RATECARD --> Create new Ratecard

TARIFFNAME Internacional
START DATE
TRUNK internacional-proveedorsip
DESCRIPTION Tarifas internacionales
DNID PREFIX all

Ratecard va a contener Rates (precios) para cada destino, en el ejemplo se ha creado la tarifa llamada Internacional que usara el trunk internacional-proveedorsip para terminar las llamadas.

5.- Crear tarifas

RATECARD --> Add Rate

RATECARD internacional
DIALPREFIX 001
DESTINATION Estados Unidos
BUYING RATE 0.05
BUYRATE MIN DURATION 6
BUYRATE BILLING BLOCK 30
SELLING RATE 0.10
SELLRATE MIN DURATION 6
SELLRATE BILLING BLOCK 30
CONNECT CHARGE 0
DISCONNECT CHARGE 0
TRUNK internaciona-proveedorsip

Seguimos el procedimiento para cada destino que queramos agregar. Hacerlo para todos los paises del mundo sería bastante tedios, para ello existe la opcion de importar un archivo separado por comas (CSV) que hallamos editado en nuestra hoja de calculo favorita. Esta tarea se la logra en:
RATECARD --> Import RateCard

El separador de columnas debe ser el ; (punto y coma) ya que si usamos , nos dará error al importar.

6.- Crear clientes

CUSTOMERS --> Create Customers

CARD NUMBER (generado por a2billing)
CARD ALIAS 123
WEBui PASSWORD 123
BALANCE 10
LANGUAGE SPANISH
TARIFFGROUP Oro
SIMULTANEOUS ACCESS INDIVIDUAL ACCESS
CURRENCY U.S. Dollar (USD)
LASTNAME Apellido
FIRSTNAME Nombre
EMAIL email@mail.da.ru
ADDRESS Direccion
CITY Ciudad
STATE/PROVINCE Provincia
COUNTRY País
PHONENUMBER Telefono
FAXNUMBER Fax
SIP ACCOUNT Yes
IAX ACCOUNT Yes

A2billing nos genera automáticamente el numero de tarjeta, si quieremos darle a nuestro usuario un número que sea más fácil de recordar para el podemos usar el campo CARD ALIAS. En este ejemplo el usuario tiene un crédito de US$10,00 y la cuenta no puede ser usada simultáneamente.

A cada tarjeta podemos agregarles usuarios adicionales SIP e IAX. Esto se lo logra listando las tarjetas y dando click al botón respectivo (SIP, IAX) en el resultado de listar las tarjetas:


CUSTOMERS --> List Customers
Dar click en SIP para crear un usuario SIP
Dar click en IAX para crear un usuario IAX

7.- Agregar RATECARD al TARIFFGROUP

RATECARD --> LIST TARIFFGROUP
Escoger el tariffgroup Oro y agregar el ratecard internacional

Ahora debemos probar si nuestra configuración surte efecto. Configuramos un dispositivo SIP o IAX2 para que se registre con los datos de usuario sip ó iax friend y marcamos un número de USA. Si todo esta bien en el CDR veremos registrada la llamada, su Duración y precio.

Tips:
* Al editar un cliente no puedes modificar el número de tarjeta porque este campo esta protegido contra escritura, esto implica que una llamada entre usuarios del mismo servidor pueda ser hecha entre números de tarjeta y no entre alias de tarjetas, los números que se aprenden mis usuarios son los alias porque son más sencillos de aprender. Por otra parte en lo personal se me hace mas fácil asignar manualmente el número de tarjeta que será el número de usuario. Para lograrlo debemos editar la linea 199 y eliminar la palabra readonly en el archivo /var/www/a2billing//Public/form_data/FG_var_card.inc la línea en mención nos quedaría mas o menos así:
Antes:

"size=20 $maxi readonly maxlength=40",

Despues:

"size=20 $maxi maxlength=40",

* Por defecto a2billing.conf muestra el consumo desde que marcas el numero hasta que cuelgas, muchos al igual que yo deben querer que sea facturado solo el tiempo hablado, es decir desde que la llamada es contestada. Esto se logra modificando el parámetro dialcommand_param para agregar la letra C

dialcommand_param="|90|HLrC(%timeout%:61000:50000)"

* Muchos clientes deben querer porder saber su saldo en dinero sin necesidad de tener una computadora cerca, para esto realizamos el siguiente hack:

cd /var/lib/asterisk/agi-bin
cp a2billing.php balance.php
cp -r libs_a2billing balance
Editamos balance.php y cambiamos todas las referencias de libs_a2billing a balance, de igual manera hacemos con /var/lib/asterisk/agi-bin/balance/Class.A2Billing.php y reemplazamos a2billing.conf por balance.conf


cd /etc/asterisk/
5 cp a2billing.conf balance.conf
Editamos las siguientes opciones en balance.conf

say_balance_after_auth=YES
use_dnid=NO
answer_call=YES
Finalmente se agrega la siguiente linea en extensions.conf en el contexto que usamos para a2billing:

7. Add Extentenstion for balance

exten => *0,1,DeadAGI(balance.php)

Al marcar *0 desde cualquier equipo registrado en el sistema escucharemos el saldo de la cuenta.
 

hugo_cba

Joined
May 22, 2008
Messages
222
Likes
0
Points
0
#2
Veo que seguís a full con tu proyecto!

Excelente aporte!
 

gamba47

Joined
May 28, 2009
Messages
595
Likes
0
Points
0
#3
Yo lo vi tambien pero no me funciono!

Lo voy a tener que probar de nuevo.
Gracias.

gamba47
 

worldxcomputers

Joined
Aug 26, 2009
Messages
126
Likes
0
Points
0
#4
cuando me meto algo en mi cabezota, no paro hasta conseguirlo, jajaja
 

worldxcomputers

Joined
Aug 26, 2009
Messages
126
Likes
0
Points
0
#5
Gracias Hugo, la verdad que me eh dado cuenta que con este tuto solo te dan la idea de montar una tarjeta de prepago con 1 proveedor a la vez, osea me explico, el que lo este haciendo sabra a que me refiero. Cuando quieres hacer una tarjeta internacional y vas a elegir el proveedor que quieras, solo te deja uno y es una putada, ya que uno lo que quiere es tener los mejores precios.

Se me a ocurrido una buena idea, y que tal si nos hacemos proveedores de nosotros mismos, yo tengo 7 proveedores instalados, funcionando y que tal si me hago una troncal a partir de una extension?, nose si me explico.

Me hago una extension como un usuario cuando ese usuario llama, segun el destino cobra un proveedor u otro, porque asi lo hemos configurado en A2billing, prefijo xx troncal x, y asi con todas.

pues una vez hecho esto tenemos los mejores precios de venta al mercado.

dsede esta cuenta la configuramos como troncal y de ahi a la tarjeta, tal como suena es de puta madre, una tarjeta de lo mas competitiva.

voy a probar si funciona, un saludo

para mi gusto esto es un super aporte, pues normalmente estas cosillas cuando uno se da cuenta no se dicen :p jajajaja
 

worldxcomputers

Joined
Aug 26, 2009
Messages
126
Likes
0
Points
0
#6
Gamba47, una pregunta, eh visto tu perfil, y en el apartado website pone BrazilFW, por casualidad es una distro de manejo para proveedores wireless??, esque llevo buscando eso mucho tiempo, realmente mucho tiempo,hace tiempo eh sido proveedor en una pequeña zona, pero lo tenia chungo porque lo tengo que hacer todo manual e improvisar sobre la marcha, osea, para que el cliente entre hacer filtrados mac, usar mi wifi zone que te informa cada vez que un nuevo cliente quiere entrar, vamos una lista blanca y negra de direcciones ip y direcciones mac, si eso es una distro para manejo pro de proveedor wireless me harias un chico feliz jajajaja, espero tu respuesta ansiosamente, jajaja y gracias . :)
 

jcastellanos

Joined
Feb 10, 2009
Messages
2,404
Likes
0
Points
0
#7
genial, es exelente base, gracias
 

delfin

Joined
Jun 30, 2009
Messages
14
Likes
0
Points
0
#8
Yo también me uno a este idea.

Por favor me pueden recomendar un buen proveedor de VOIP para realizar las llamadas junto con las tarjetas.

:huh:

desde ya gracias!
 

worldxcomputers

Joined
Aug 26, 2009
Messages
126
Likes
0
Points
0
#9
hombre yo si te digo la verdad hago una mezcla de todos, asi saco la mejor tarifa de cada uno, eso si, asegurate que al coger tarifas baratas, tengas buena calidad de llamada, pues si lo que quieres es vender voip, y la calidad no es buena, tendras clientes descontentos, suerte :)
 

zeoneo

Joined
Sep 24, 2009
Messages
549
Likes
0
Points
0
#10
buenisimo aporte...

casi no existe informacion de a2billing.

Nos vemos
 

aebenite

Joined
Aug 2, 2010
Messages
1
Likes
0
Points
0
#11
worldxcomputers said:
Gracias Hugo, la verdad que me eh dado cuenta que con este tuto solo te dan la idea de montar una tarjeta de prepago con 1 proveedor a la vez, osea me explico, el que lo este haciendo sabra a que me refiero. Cuando quieres hacer una tarjeta internacional y vas a elegir el proveedor que quieras, solo te deja uno y es una putada, ya que uno lo que quiere es tener los mejores precios.

Se me a ocurrido una buena idea, y que tal si nos hacemos proveedores de nosotros mismos, yo tengo 7 proveedores instalados, funcionando y que tal si me hago una troncal a partir de una extension?, nose si me explico.

Me hago una extension como un usuario cuando ese usuario llama, segun el destino cobra un proveedor u otro, porque asi lo hemos configurado en A2billing, prefijo xx troncal x, y asi con todas.

pues una vez hecho esto tenemos los mejores precios de venta al mercado.

dsede esta cuenta la configuramos como troncal y de ahi a la tarjeta, tal como suena es de puta madre, una tarjeta de lo mas competitiva.

voy a probar si funciona, un saludo

para mi gusto esto es un super aporte, pues normalmente estas cosillas cuando uno se da cuenta no se dicen :p jajajaja

Hola tu idea es excelente, de hecho yo la he intentado tambien desde hace un tiempo sin embargo no he logrado hacer que funcione correctamente, te voy a indicar la plataformas con las que cuento:

1. Asterisk 1.6.0.9-samy-r27
2. Trixbox v2.8.0.1 ©2008 Fonality
3. Asterisk2Billing - Version 1.3.3 (Doudou08) - Release : 14 May 2008

Yo tengo mis propios clientes de venta al menudeo (tarjetas prepagadas) y al dia de hoy todo funciona muy bien tanto para entrada como salida de llamadas en el trixbox y el a2billing me factura perfectamente las llamadas de mis clientes. Ademas se selecciona la mejor tarifa porque cuenta con 4 proveedores VOIP.

Tengo 2 servidores configurados con las plataformas de la 1 a la 3 listadas anteriormente, en este caso estan dentro de mi misma red local, asi que uno de ellos tiene la IP: 10.1.10.154 (cliente al menudeo) y el otro la IP: 10.1.10.160 (proveedor VOIP).

Utilize el servidor 10.1.10.160 para simular mi servidor de proveedor VOIP, es decir, para venta de tiempo VOIP. Para esto le configure una cuenta (tarjeta) con su respectivo cliente SIP/IAX para utilizarlo como punto de entrada, es decir, se tiene la intencion de que esta sea la cuenta de venta al mayoreo (arriba de $10.00) para que yo le pueda vender tiempo VOIP al mayoreo a mi cliente.

Utilize el servidor 10.1.10.154 para simular mi cliente de compras al mayoreo (es decir, el podra a su vez revender este tiempo a sus clientes con sus propias tarifas), de hecho este cliente puede ver su saldo actual accesando a su interfaz de usuario en http://10.1.10.160/A2BCustomer_UI. En este mismo servidor me hice mi propia tarjeta de $5.00 (cliente terminal) para hacer mis pruebas.

En este mismo servidor de cliente, cree mi respectiva troncal en Trixbox (Asterisk) y a su vez configure la respectiva troncal en el a2billing y ambas interactuan correctamente.

Hasta aqui todo funciona "bien", ya que cuando marco mi numero telefonico de acceso y me dirige a mi tarjeta (de usuario terminal de $5.00) en este servidor de cliente (10.1.10.154) todo trabaja bien ya que me permite seleccionar mi idioma, me pide mi numero de PIN, me dice mi saldo ($5.00), me pide que marque el numero de destino y me dice el tiempo que puedo hablar. Inmediatamente enruta mi llamada por la troncal que se dirige a mi servidor de proveedor (10.1.10.160) y este efectivamente contesta pero aqui viene el problema: La contestadora del servidor 10.1.10.160 me vuelve a preguntar el numero de PIN (de mi tarjeta configurada en este servidor que es diferente al del servidor 10.1.10.154) y me pregunta todos los demas datos y me pide que vuelva a marcar el numero de destino, al final me da las demas informaciones y efectivamente logra comunicarme con mi numero destino y se factura de manera correcta en el servidor proveedor (10.1.10.160).

Como se ve, se logra la comunicacion, pero el servidor proveedor no debe volver a preguntar los datos que ya se le pidieron una vez al cliente terminal, sin embargo el a2billing del servidor proveedor debe facturar la llamada de este cliente terminal y todos los demas que esten ligados con esta cuenta (tarjeta) del servidor proveedor para que una vez que se agote el saldo, mi cliente de mayoreo (10.1.10.154) me vuelva a compra tiempo VOIP al servidor proveedor (10.1.10.160).

Agradeceria mucho el aporte para solucionar este problema y que la llamada del cliente terminal fuera "transparente" (mi servidor proveedor solo debe retransmitir la llamada seleccionando la mejor tarifa de mis proveedores), es decir, que el, solo use su tarjeta (de $5.00) y se comunique con su destino.


Anexo la configuracion de troncal en el servidor cliente:

[trixbox2]
username=0557598599
type=friend
secret=6008613072
host=10.1.10.160
fromuser=0557598599
context=a2billing ; change for proper context
allow=g729 ; we support ulaw,alaw,ilbc,gsm,g723.1,g726,g729a
trustrpid=yes
sendrpid=yes
canreinvite=no


y mi contexto a2billing es el mismo tanto en el servidor cliente como proveedor:

[a2billing]
exten => _X.,1,Answer
exten => _X.,n,Wait(1)
exten => _X.,n,DeadAGI(a2billing.php,1)
exten => _X.,n,Hangup

Agradeceria el apoyo.
 

Mino

Joined
Sep 20, 2012
Messages
1
Likes
0
Points
0
#12
Excelente aporte. Gracias Por la info.
Solo tengo dos preguntas.
-Como relaciono el troncal creado en el A2billing y el troncal creado en Elastix.
-Como recargo el cliente.
Saludos
 

carlosalfonso144

Joined
Aug 2, 2012
Messages
28
Likes
0
Points
0
#13
Como guia esta una nota, pero la segui y no me funciono, aun que me fue de mucha ayuda para entender en general como funciona.

Tengo mi elastix, alli tengo troncales para llamada internacional, nacional, celular etc.
lo que quiero es generarle cuentas a mis clientes para que se conecten a mi servidor y utilicen mis troncales que poseo.

solo quiero darle a mi cliente, usuario, contraseña y dominio.

pero al generarlos en el a2biling, y al hacer las pruebas no me regitran las cuentas.

algun aporte adicional?
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,887
Members
17,565
Latest member
omarmenichetti
Top