{"id":63,"date":"2010-08-19T14:36:26","date_gmt":"2010-08-19T17:36:26","guid":{"rendered":"http:\/\/blog.digavoip.com.br\/2010\/08\/19\/resumo-do-a2billing\/"},"modified":"2010-08-19T14:36:26","modified_gmt":"2010-08-19T17:36:26","slug":"resumo-do-a2billing","status":"publish","type":"post","link":"https:\/\/blog.abratel.com.br\/?p=63","title":{"rendered":"Resumo do a2billing"},"content":{"rendered":"<p>Cr\u00e9ditos: Cassiano Moralles<\/p>\n<p>1) Minha necessidade era de os clientes SIP(x-lite) acessarem o servidor<br \/>\nautenticando com ramal e senha(m\u00e9todo CALLERID) e come\u00e7a a tarifar as<br \/>\nliga\u00e7\u00f5es apenas para controle interno de gastos e para limitar o uso por<br \/>\ncr\u00e9ditos para os funcion\u00e1rios,  tudo transparente para o usu\u00e1rio sem<br \/>\nnecessidade de digitar o nro PIN do a2billing ( PIN = ACCOUNTCODE).<\/p>\n<p>2) Entrar em http:\/\/192.168.X.X\/a2billing\/ (usu\u00e1rio: root ; senha: myroot)<\/p>\n<p>3) Modificar o tronco padr\u00e3o (default trunk) TRUNK -> List Trunk -> Edit,<br \/>\naqui no meu caso como tenh apenas linhas alocadas no asterisk e n\u00e3o vou usar<br \/>\noutro provedor para distribuir coloquei como na figura trunk_01.jpg, ou seja<br \/>\nas liga\u00e7\u00f5es v\u00e3o sair por uma linha local conectada ao asterisk. Caso vc<br \/>\nqueira adicionar um provedor sip ou iax modifique conforme sua necessidade,<br \/>\ne bot\u00e3o CONFIRM DATA click here.<\/p>\n<p>4) Criar o ratecard clique em RATECARD > Create new RateCard , em tariffname<br \/>\ncoloquei teste, as datas deixei padr\u00e3o mas vc pode alterar, o trunk deixei o<br \/>\ndefault ateh pq no teste s\u00f3 tenho um mesmo, na descri\u00e7\u00e3o coloquei o nro de<br \/>\ntelefone dele em DNID deixei all , mas eh interessante vc alterar se<br \/>\nprecisar, e bot\u00e3o CONFIRM DATA click here.<\/p>\n<p>5) Criar um Rate clique em RATECARD -> Add Rate<\/p>\n<p>campos<\/p>\n<p> RATECARD teste<br \/>\n DIALPREFIX 3,4,5,6 (todos os telefones q iniciarem em 3,4,5,6 ser\u00e3<br \/>\ntarifados conforme esta regra)<br \/>\n DESTINATION local<br \/>\n BUYING RATE 0.2<br \/>\nBUYRATE INIT BLOCK 30<br \/>\nRATEINITIAL 0.15<br \/>\nMIN DURATION 60<br \/>\nBILLING BLOCK 6<br \/>\nMarcar ratio YES em todos os dias da semana<br \/>\nTRUNK default<\/p>\n<p>, e bot\u00e3o CONFIRM DATA click here.<\/p>\n<p>6) Criar um grupod e tarifa\u00e7\u00e3o para associar os rates, RATECARD -> Create<br \/>\nTariffGroup em TARIFFGROUPNAME: testando e em TARIFFPLAN: colocar o nome do<br \/>\nRateCard criado antes &#8220;teste&#8221; bota\u00e3o ADD, e bot\u00e3o CONFIRM DATA click here.<\/p>\n<p>7)Criar um cliente CUSTOMERS -> Create customer<\/p>\n<p>      WEBUI PASSWORD    123456<br \/>\n      CREDIT  10<br \/>\n      TARIFFGROUP  testando<\/p>\n<p> CARD ALIAS 2000<br \/>\nACTIVATED YES<\/p>\n<p>8) Clique no bot\u00e3o SIP para o campo sip ficar YES<\/p>\n<p>9)Clique em &#8220;GENERATE ADDITIONAL_A2BILLING_SIP.CONF&#8221;<\/p>\n<p>10) Clique em &#8220;Click here to reload Asterisk Server&#8221;<\/p>\n<p>11) Entre em CUSTOMERS -> List Customer, Clique em Edit ao lado do<br \/>\ncart\u00e3o,modifique os seguintes campos WEBUI PASSWORD coloquei 123456, CARD<br \/>\nALIAS coloquei 2000, CALLERID coloquei 2000 (n\u00famero do ramal que ira usar o<br \/>\ncart\u00e3o)<\/p>\n<p>12) Para saber quantos cr\u00e9ditos o usu\u00e1rio tem acesse Customer login:<br \/>\nhttp:\/\/192.168.X.X\/a2customer<br \/>\nUsu\u00e1rio: N\u00famero do cart\u00e3o e senha: WEBUI PASSWORD (em CUSTOMERS > List<br \/>\ncustomers > clique em edit na esquerda do n\u00famero do cart\u00e3o desejado cart\u00e3o)<\/p>\n<p>11 )  Clique em CUSTOMERS > List SIP-FRIEND > EDIT e altere o CALLERID,<br \/>\nUSERNAME para 2000 e apague ACCOUINTCODE e em SECRET coloque 123456 = WEBUI<br \/>\nPASSWORD em context tem que estar o contexto callingcard que vamos colocar<br \/>\nno extensions.conf.<\/p>\n<p>12) Para atender as minhas necessidades de tarifar transparente alterei as<br \/>\nseguintes configs de \/etc\/asterisk\/a2billing\/ dentro do contexto [agi-conf1]<br \/>\n:<\/p>\n<p>[agi-conf1]<\/p>\n<p>; if YES it will catch the DNID and try to dial it out directly without<br \/>\nasking for the phonenumber to call<br \/>\n; value : YES, NO<\/p>\n<p>use_dnid=YES<\/p>\n<p>; Play the balance to the user after the authentication (values : yes &#8211; no)<br \/>\nsay_balance_after_auth=NO<\/p>\n<p>; Play the balance to the user after the call (values : yes &#8211; no)<br \/>\nsay_balance_after_call=NO<\/p>\n<p>; Play the time the user can call (values : yes &#8211; no)<br \/>\nsay_timetocall=NO<\/p>\n<p>; enable the callerid authentication<br \/>\n; if this option is active the CC system will check the CID of caller<br \/>\n;cid_enable=NO<br \/>\ncid_enable=YES<\/p>\n<p>13) Inseri o contexto callingcard dentro de \/etc\/asterisk\/extensions.conf<\/p>\n<p>[callingcard]<br \/>\n;allow phones to access trunks<br \/>\ninclude => outbound-allroutes<br \/>\nexten => _X.,1,Answer<br \/>\nexten => _X.,2,Wait,2<br \/>\nexten => _X.,3,DeadAGI,a2billing.php<br \/>\nexten => _X.,4,Wait,2<br \/>\nexten => _X.,5,Hangup<\/p>\n<p>14) Verificar se em sip.conf  existe a linhas abaixo:<\/p>\n<p>#include additional_a2billing_sip.conf<\/p>\n<p>15) Configure o x-lite :<\/p>\n<p>    Menu > ajuste do sistema > Sip Proxy > Default :<\/p>\n<p>        &#8211; enable : YES<br \/>\n        &#8211; Username: 2000<br \/>\n        &#8211; Authentication user: 2000<br \/>\n        &#8211; Password: 123456<br \/>\n        &#8211; Domain\/real: 192.168.X.X<br \/>\n        &#8211; Sip Proxy:  192.168.X.X<br \/>\n        &#8211; Out Bound Proxy: 192.168.X.X<\/p>\n<p>16) Abra o shell no asterisk como root;<\/p>\n<p>digite:<\/p>\n<p>[root em asterisk1 ~]# asterisk -r<\/p>\n<p>para conecar no shell do asterisk.<\/p>\n<p>digite para setar na tela os logs detalhados das liga\u00e7\u00f5es:<\/p>\n<p>asterisk1*CLI> debug level 3 logs<\/p>\n<p>LOGS:<\/p>\n<p>&#8212; Executing Answer(&#8220;SIP\/2000-1143&#8221;, &#8220;&#8221;) in new stack<br \/>\n    &#8212; Executing Wait(&#8220;SIP\/2000-1143&#8221;, &#8220;2&#8221;) in new stack<br \/>\n    &#8212; Executing DeadAGI(&#8220;SIP\/2000-1143&#8221;, &#8220;a2billing.php&#8221;) in new stack<br \/>\n    &#8212; Launched AGI Script \/var\/lib\/asterisk\/agi-bin\/a2billing.php<br \/>\n  a2billing.php: IDCONFIG : 1<br \/>\n  a2billing.php:<br \/>\n    &#8212; AGI Script Executing Application: (SetLanguage) Options: (en)<br \/>\n    &#8212; AGI Script Executing Application: (Dial) Options:<br \/>\n(ZAP\/g0\/99XXXXXX|30|HL(19818000:61000:30000))<br \/>\n    &#8212; Limit Data for this call:<br \/>\n    &#8212; &#8211; timelimit     = 19818000<br \/>\n    &#8212; &#8211; play_warning  = 61000<br \/>\n    &#8212; &#8211; play_to_caller= yes<br \/>\n    &#8212; &#8211; play_to_callee= no<br \/>\n    &#8212; &#8211; warning_freq  = 30000<br \/>\n    &#8212; &#8211; start_sound   = UNDEF<br \/>\n    &#8212; &#8211; warning_sound = timeleft<br \/>\n    &#8212; &#8211; end_sound     = UNDEF<br \/>\n    &#8212; Called g0\/99XXXXXX<br \/>\n    &#8212; Zap\/4-1 answered SIP\/2000-1143<br \/>\n    &#8212; Hungup &#8216;Zap\/4-1&#8217;<\/p>\n<p>Obviamente o celular acima \u00e9 o meu e troquei os nros finais por X.<\/p>\n<p>Pelos logs acima ele encaminhou certo ao a2billing sem precisar de PIN ou<br \/>\ninformar o nro para o qual queria ligar e tarifou na base.<\/p>\n<p>SEGURAN\u00c7A:<\/p>\n<p>Bom pessoal existem uma s\u00e9rie de cuidados de seguran\u00e7a, vou colocar apenas<br \/>\nalguns e n\u00e3o todos, qql ajuda eh bem-vinda:<\/p>\n<p>    &#8211; altere as senhas padr\u00e3o de instala\u00e7\u00e3o para senhas fortes;<br \/>\n    &#8211; instale apenas servi\u00e7oes &#8220;realmente&#8221; necess\u00e1rios;<br \/>\n    &#8211; limite o acesso f\u00edsico e remoto; (sugest\u00e3o ssh com chaves e senha e a<br \/>\ncria\u00e7\u00e3o de outro usu\u00e1rio com permiss\u00f5es limitadas para acesso, evite usar a<br \/>\nconta root)<br \/>\n    &#8211; atualize os softwares com as atualiza\u00e7\u00f5es cr\u00edticas, sugiro test\u00e1-las<br \/>\nantes em um &#8220;lab&#8221; fora de produ\u00e7\u00e3o, existem listas sobre seguran\u00e7a;<br \/>\n    &#8211; as senhas em texto plano s\u00e3o serio risco a seguran\u00e7a, ainda mais se o<br \/>\nseu asterisk fica exposto a internet;<br \/>\n    &#8211; eu uso como firewall um front-end shorewall , aqui se encontra um<br \/>\ntutorial para asterisk em home mas q funfa para trixbox tb<br \/>\nhttp:\/\/samyantoun.50webs.com\/asterisk\/firewall\/firewall.htm e o site eh<br \/>\nwww.shorewall.net .<\/p>\n<p>Bom pessoal existem inumeros aspectos a mais para colocar aqui espero ter<br \/>\najudado voc\u00eas, desculpem os erros de portugues ou a falta de clareza e qql<br \/>\najuda e corre\u00e7\u00e3o sempre \u00e9 bem-vinda, mas construtiva pessoal.<\/p>\n<p>Agrade\u00e7o a todos pela colabora\u00e7\u00e3o na lista que acompanho a mais de 01 ano e<br \/>\npelo alto n\u00edvel da mesma.<\/p>\n<p>Principais links usados:<\/p>\n<p>\u00d3timo site:<\/p>\n<p>http:\/\/samyantoun.50webs.com\/<\/p>\n<p>http:\/\/samyantoun.50webs.com\/asterisk\/athome\/a2billing\/<\/p>\n<p>http:\/\/sourceforge.net\/forum\/forum.php?thread_id=1398290&#038;forum_id=420324<\/p>\n<p>http:\/\/dumbme.voipeye.com.au\/trixbox\/trixbox_without_tears.htm<\/p>\n<p>http:\/\/www.asterisk2billing.org\/html\/x517.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cr\u00e9ditos: Cassiano Moralles 1) Minha necessidade era de os clientes SIP(x-lite) acessarem o servidor autenticando com ramal e senha(m\u00e9todo CALLERID) e come\u00e7a a tarifar as liga\u00e7\u00f5es apenas para controle interno de gastos e para limitar o uso por cr\u00e9ditos para os funcion\u00e1rios, tudo transparente para&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/63"}],"collection":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=63"}],"version-history":[{"count":0,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/63\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=63"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=63"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}