<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.3790.2759" name=GENERATOR>
<STYLE>@page Section1 {size: 595.3pt 841.9pt; margin: 70.85pt 3.0cm 70.85pt 3.0cm; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EstiloDeEmail17 {
        COLOR: windowtext; FONT-FAMILY: Arial; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=PT-BR vLink=purple link=blue bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Faça isso que funciona...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Quero deixar claro que não sou especialista em 
Asterisk, mas tenho feito algumas implementações e desenvolvido algumas 
coisitas, se alguém tiver algo para acrescentar será muito bem vindo, assim é 
claro que críticas desde que construtivas. Vou compartilhar a solução com todos 
sobre as dificuldades q tive para configurar o Asterisk com a2billing, agradeço 
a todos que me ajudaram e tomei a iniciativa, bom pois vai lah o q fiz ;-) 
:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; - Ao instalar o Trixbox ou 
Asterisk em Home o a2billing não vem automaticamente funcionando são necessarios 
alguns passos para a configuração e operação correta dele:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>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 <BR>ligações apenas para controle interno de gastos e para limitar o 
uso por créditos para os funcionários,&nbsp; tudo transparente para o usuário 
sem <BR>necessidade de digitar o nro PIN do a2billing ( PIN = 
ACCOUNTCODE).</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>2) Entrar em <A 
href="http://192.168.X.X/a2billing/">http://192.168.X.X/a2billing/</A> (usuário: 
root ; senha: myroot)</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>3) Modificar o tronco padrão (default trunk) TRUNK 
-&gt; List Trunk -&gt; 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.</FONT></DIV>
<DIV>&nbsp;</DIV><FONT face=Arial size=2>
<DIV><BR>4) Criar o ratecard clique em RATECARD &gt; 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 
<BR>precisar, e botão CONFIRM DATA click here.</DIV>
<DIV>&nbsp;</DIV>
<DIV>5) Criar um Rate clique em RATECARD -&gt; Add Rate</DIV>
<DIV>&nbsp;</DIV>
<DIV>campos</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;RATECARD teste<BR>&nbsp;DIALPREFIX 3,4,5,6 (todos os telefones q 
iniciarem em 3,4,5,6 serão tarifados conforme esta regra)<BR>&nbsp;DESTINATION 
local<BR>&nbsp;BUYING RATE 0.2<BR>BUYRATE INIT BLOCK 30<BR>RATEINITIAL 
0.15<BR>MIN DURATION 60<BR>BILLING BLOCK 6<BR>Marcar ratio YES em todos os dias 
da semana<BR>TRUNK default</DIV>
<DIV>&nbsp;</DIV>
<DIV>, e botão CONFIRM DATA click here.</DIV>
<DIV>&nbsp;</DIV>
<DIV>6) Criar um grupo de tarifação para associar os rates, RATECARD -&gt; 
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.</DIV>
<DIV>&nbsp;</DIV>
<DIV>7)Criar um cliente CUSTOMERS -&gt; Create customer</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WEBUI PASSWORD&nbsp;&nbsp;&nbsp; 
123456<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CREDIT&nbsp; 
10<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TARIFFGROUP&nbsp; testando</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;CARD ALIAS 2000<BR>ACTIVATED YES</DIV>
<DIV>&nbsp;</DIV>
<DIV>8) Clique no botão SIP para o campo sip ficar YES</DIV>
<DIV>&nbsp;</DIV>
<DIV>9)Clique em "GENERATE ADDITIONAL_A2BILLING_SIP.CONF"</DIV>
<DIV>&nbsp;</DIV>
<DIV>10) Clique em "Click here to reload Asterisk Server"</DIV>
<DIV>&nbsp;</DIV>
<DIV>11) Entre em CUSTOMERS -&gt; 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)</DIV>
<DIV>&nbsp;</DIV>
<DIV>12) Para saber quantos créditos o usuário tem acesse Customer login:<BR><A 
href="http://192.168.X.X/a2customer">http://192.168.X.X/a2customer</A><BR>Usuário: 
Número do cartão e senha: WEBUI PASSWORD (em CUSTOMERS &gt; List customers &gt; 
clique em edit na esquerda do número do cartão desejado cartão)</DIV>
<DIV>&nbsp;</DIV>
<DIV>11 )&nbsp; Clique em CUSTOMERS &gt; List SIP-FRIEND &gt; 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.</DIV>
<DIV>&nbsp;</DIV>
<DIV>12) Para atender as minhas necessidades de tarifar transparente alterei as 
seguintes configs de /etc/asterisk/a2billing/ dentro do contexto [agi-conf1] 
:</DIV>
<DIV>&nbsp;</DIV>
<DIV>[agi-conf1]</DIV>
<DIV>&nbsp;</DIV>
<DIV>; if YES it will catch the DNID and try to dial it out directly without 
asking for the phonenumber to call<BR>; value : YES, NO</DIV>
<DIV>&nbsp;</DIV>
<DIV>use_dnid=YES</DIV>
<DIV>&nbsp;</DIV>
<DIV>; Play the balance to the user after the authentication (values : yes - 
no)<BR>say_balance_after_auth=NO</DIV>
<DIV>&nbsp;</DIV>
<DIV>; Play the balance to the user after the call (values : yes - 
no)<BR>say_balance_after_call=NO</DIV>
<DIV>&nbsp;</DIV>
<DIV>; Play the time the user can call (values : yes - 
no)<BR>say_timetocall=NO</DIV>
<DIV>&nbsp;</DIV>
<DIV>; enable the callerid authentication<BR>; if this option is active the CC 
system will check the CID of caller<BR>;cid_enable=NO<BR>cid_enable=YES</DIV>
<DIV>&nbsp;</DIV>
<DIV>13) Inseri o contexto callingcard dentro de 
/etc/asterisk/extensions.conf</DIV>
<DIV>&nbsp;</DIV>
<DIV>[callingcard]<BR>;allow phones to access trunks<BR>include =&gt; 
outbound-allroutes<BR>exten =&gt; _X.,1,Answer<BR>exten =&gt; 
_X.,2,Wait,2<BR>exten =&gt; _X.,3,DeadAGI,a2billing.php<BR>exten =&gt; 
_X.,4,Wait,2<BR>exten =&gt; _X.,5,Hangup</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>14) Verificar se em sip.conf&nbsp; existe a linhas abaixo:</DIV>
<DIV>&nbsp;</DIV>
<DIV>#include additional_a2billing_sip.conf</DIV>
<DIV>&nbsp;</DIV>
<DIV>15) Configure o x-lite :</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Menu &gt; ajuste do sistema &gt; Sip Proxy &gt; Default 
:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - enable : 
YES<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Username: 
2000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Authentication user: 
2000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Password: 
123456<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Domain/real: 
192.168.X.X<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Sip Proxy:&nbsp; 
192.168.X.X<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Out Bound Proxy: 
192.168.X.X</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>16) Abra o shell no asterisk como root;</DIV>
<DIV>&nbsp;</DIV>
<DIV>digite:</DIV>
<DIV>&nbsp;</DIV>
<DIV>[root em asterisk1 ~]# asterisk -r</DIV>
<DIV>&nbsp;</DIV>
<DIV>para conecar no shell do asterisk.</DIV>
<DIV>&nbsp;</DIV>
<DIV>digite para setar na tela os logs detalhados das ligações:</DIV>
<DIV>&nbsp;</DIV>
<DIV>asterisk1*CLI&gt; debug level 3 logs</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>LOGS:</DIV>
<DIV>&nbsp;</DIV>
<DIV>-- Executing Answer("SIP/2000-1143", "") in new stack<BR>&nbsp;&nbsp;&nbsp; 
-- Executing Wait("SIP/2000-1143", "2") in new stack<BR>&nbsp;&nbsp;&nbsp; -- 
Executing DeadAGI("SIP/2000-1143", "a2billing.php") in new 
stack<BR>&nbsp;&nbsp;&nbsp; -- Launched AGI Script 
/var/lib/asterisk/agi-bin/a2billing.php<BR>&nbsp; a2billing.php: IDCONFIG : 
1<BR>&nbsp; a2billing.php:<BR>&nbsp;&nbsp;&nbsp; -- AGI Script Executing 
Application: (SetLanguage) Options: (en)<BR>&nbsp;&nbsp;&nbsp; -- AGI Script 
Executing Application: (Dial) Options: 
<BR>(ZAP/g0/99XXXXXX|30|HL(19818000:61000:30000))<BR>&nbsp;&nbsp;&nbsp; -- Limit 
Data for this call:<BR>&nbsp;&nbsp;&nbsp; -- - timelimit&nbsp;&nbsp;&nbsp;&nbsp; 
= 19818000<BR>&nbsp;&nbsp;&nbsp; -- - play_warning&nbsp; = 
61000<BR>&nbsp;&nbsp;&nbsp; -- - play_to_caller= yes<BR>&nbsp;&nbsp;&nbsp; -- - 
play_to_callee= no<BR>&nbsp;&nbsp;&nbsp; -- - warning_freq&nbsp; = 
30000<BR>&nbsp;&nbsp;&nbsp; -- - start_sound&nbsp;&nbsp; = 
UNDEF<BR>&nbsp;&nbsp;&nbsp; -- - warning_sound = timeleft<BR>&nbsp;&nbsp;&nbsp; 
-- - end_sound&nbsp;&nbsp;&nbsp;&nbsp; = UNDEF<BR>&nbsp;&nbsp;&nbsp; -- Called 
g0/99XXXXXX<BR>&nbsp;&nbsp;&nbsp; -- Zap/4-1 answered 
SIP/2000-1143<BR>&nbsp;&nbsp;&nbsp; -- Hungup 'Zap/4-1'</DIV>
<DIV>&nbsp;</DIV>
<DIV>Obviamente o celular acima é o meu e troquei os nros finais por X.</DIV>
<DIV>&nbsp;</DIV>
<DIV>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.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Abraço</DIV>
<DIV>&nbsp;</DIV>
<DIV>Rodrigo</FONT></DIV></BODY></HTML>