Resumo do a2billing

Créditos: Cassiano Moralles

1) Minha necessidade era de os clientes SIP(x-lite) acessarem o servidor
autenticando com ramal e senha(método CALLERID) e começa a tarifar as
ligações apenas para controle interno de gastos e para limitar o uso por
créditos para os funcionários, tudo transparente para o usuário sem
necessidade de digitar o nro PIN do a2billing ( PIN = ACCOUNTCODE).

2) Entrar em http://192.168.X.X/a2billing/ (usuário: root ; senha: myroot)

3) Modificar o tronco padrão (default trunk) TRUNK -> List Trunk -> Edit,
aqui no meu caso como tenh apenas linhas alocadas no asterisk e não vou usar
outro provedor para distribuir coloquei como na figura trunk_01.jpg, ou seja
as ligações vão sair por uma linha local conectada ao asterisk. Caso vc
queira adicionar um provedor sip ou iax modifique conforme sua necessidade,
e botão CONFIRM DATA click here.

4) Criar o ratecard clique em RATECARD > Create new RateCard , em tariffname
coloquei teste, as datas deixei padrão mas vc pode alterar, o trunk deixei o
default ateh pq no teste só tenho um mesmo, na descrição coloquei o nro de
telefone dele em DNID deixei all , mas eh interessante vc alterar se
precisar, e botão CONFIRM DATA click here.

5) Criar um Rate clique em RATECARD -> Add Rate

campos

RATECARD teste
DIALPREFIX 3,4,5,6 (todos os telefones q iniciarem em 3,4,5,6 serã
tarifados conforme esta regra)
DESTINATION local
BUYING RATE 0.2
BUYRATE INIT BLOCK 30
RATEINITIAL 0.15
MIN DURATION 60
BILLING BLOCK 6
Marcar ratio YES em todos os dias da semana
TRUNK default

, e botão CONFIRM DATA click here.

6) Criar um grupod e tarifação para associar os rates, RATECARD -> Create
TariffGroup em TARIFFGROUPNAME: testando e em TARIFFPLAN: colocar o nome do
RateCard criado antes “teste” botaão ADD, e botão CONFIRM DATA click here.

7)Criar um cliente CUSTOMERS -> Create customer

WEBUI PASSWORD 123456
CREDIT 10
TARIFFGROUP testando

CARD ALIAS 2000
ACTIVATED YES

8) Clique no botão SIP para o campo sip ficar YES

9)Clique em “GENERATE ADDITIONAL_A2BILLING_SIP.CONF”

10) Clique em “Click here to reload Asterisk Server”

11) Entre em CUSTOMERS -> List Customer, Clique em Edit ao lado do
cartão,modifique os seguintes campos WEBUI PASSWORD coloquei 123456, CARD
ALIAS coloquei 2000, CALLERID coloquei 2000 (número do ramal que ira usar o
cartão)

12) Para saber quantos créditos o usuário tem acesse Customer login:
http://192.168.X.X/a2customer
Usuário: Número do cartão e senha: WEBUI PASSWORD (em CUSTOMERS > List
customers > clique em edit na esquerda do número do cartão desejado cartão)

11 ) Clique em CUSTOMERS > List SIP-FRIEND > EDIT e altere o CALLERID,
USERNAME para 2000 e apague ACCOUINTCODE e em SECRET coloque 123456 = WEBUI
PASSWORD em context tem que estar o contexto callingcard que vamos colocar
no extensions.conf.

12) Para atender as minhas necessidades de tarifar transparente alterei as
seguintes configs de /etc/asterisk/a2billing/ dentro do contexto [agi-conf1]
:

[agi-conf1]

; if YES it will catch the DNID and try to dial it out directly without
asking for the phonenumber to call
; value : YES, NO

use_dnid=YES

; Play the balance to the user after the authentication (values : yes – no)
say_balance_after_auth=NO

; Play the balance to the user after the call (values : yes – no)
say_balance_after_call=NO

; Play the time the user can call (values : yes – no)
say_timetocall=NO

; enable the callerid authentication
; if this option is active the CC system will check the CID of caller
;cid_enable=NO
cid_enable=YES

13) Inseri o contexto callingcard dentro de /etc/asterisk/extensions.conf

[callingcard]
;allow phones to access trunks
include => outbound-allroutes
exten => _X.,1,Answer
exten => _X.,2,Wait,2
exten => _X.,3,DeadAGI,a2billing.php
exten => _X.,4,Wait,2
exten => _X.,5,Hangup

14) Verificar se em sip.conf existe a linhas abaixo:

#include additional_a2billing_sip.conf

15) Configure o x-lite :

Menu > ajuste do sistema > Sip Proxy > Default :

– enable : YES
– Username: 2000
– Authentication user: 2000
– Password: 123456
– Domain/real: 192.168.X.X
– Sip Proxy: 192.168.X.X
– Out Bound Proxy: 192.168.X.X

16) Abra o shell no asterisk como root;

digite:

[root em asterisk1 ~]# asterisk -r

para conecar no shell do asterisk.

digite para setar na tela os logs detalhados das ligações:

asterisk1*CLI> debug level 3 logs

LOGS:

— Executing Answer(“SIP/2000-1143”, “”) in new stack
— Executing Wait(“SIP/2000-1143”, “2”) in new stack
— Executing DeadAGI(“SIP/2000-1143”, “a2billing.php”) in new stack
— Launched AGI Script /var/lib/asterisk/agi-bin/a2billing.php
a2billing.php: IDCONFIG : 1
a2billing.php:
— AGI Script Executing Application: (SetLanguage) Options: (en)
— AGI Script Executing Application: (Dial) Options:
(ZAP/g0/99XXXXXX|30|HL(19818000:61000:30000))
— Limit Data for this call:
— – timelimit = 19818000
— – play_warning = 61000
— – play_to_caller= yes
— – play_to_callee= no
— – warning_freq = 30000
— – start_sound = UNDEF
— – warning_sound = timeleft
— – end_sound = UNDEF
— Called g0/99XXXXXX
— Zap/4-1 answered SIP/2000-1143
— Hungup ‘Zap/4-1’

Obviamente o celular acima é o meu e troquei os nros finais por X.

Pelos logs acima ele encaminhou certo ao a2billing sem precisar de PIN ou
informar o nro para o qual queria ligar e tarifou na base.

SEGURANÇA:

Bom pessoal existem uma série de cuidados de segurança, vou colocar apenas
alguns e não todos, qql ajuda eh bem-vinda:

– altere as senhas padrão de instalação para senhas fortes;
– instale apenas serviçoes “realmente” necessários;
– limite o acesso físico e remoto; (sugestão ssh com chaves e senha e a
criação de outro usuário com permissões limitadas para acesso, evite usar a
conta root)
– atualize os softwares com as atualizações críticas, sugiro testá-las
antes em um “lab” fora de produção, existem listas sobre segurança;
– as senhas em texto plano são serio risco a segurança, ainda mais se o
seu asterisk fica exposto a internet;
– eu uso como firewall um front-end shorewall , aqui se encontra um
tutorial para asterisk em home mas q funfa para trixbox tb
http://samyantoun.50webs.com/asterisk/firewall/firewall.htm e o site eh
www.shorewall.net .

Bom pessoal existem inumeros aspectos a mais para colocar aqui espero ter
ajudado vocês, desculpem os erros de portugues ou a falta de clareza e qql
ajuda e correção sempre é bem-vinda, mas construtiva pessoal.

Agradeço a todos pela colaboração na lista que acompanho a mais de 01 ano e
pelo alto nível da mesma.

Principais links usados:

Ótimo site:

http://samyantoun.50webs.com/

http://samyantoun.50webs.com/asterisk/athome/a2billing/

http://sourceforge.net/forum/forum.php?thread_id=1398290&forum_id=420324

http://dumbme.voipeye.com.au/trixbox/trixbox_without_tears.htm

http://www.asterisk2billing.org/html/x517.html

Deixe um comentário