{"id":124,"date":"2014-02-22T22:13:41","date_gmt":"2014-02-23T03:13:41","guid":{"rendered":"http:\/\/itsoftware.com.co\/content\/?p=124"},"modified":"2019-05-18T12:34:46","modified_gmt":"2019-05-18T17:34:46","slug":"tarjetas-prepago-asterisk-y-a2billing","status":"publish","type":"post","link":"https:\/\/itsoftware.com.co\/content\/tarjetas-prepago-asterisk-y-a2billing\/","title":{"rendered":"Una forma diferente de tarjetas prepago VoIP con Asterisk y A2billing"},"content":{"rendered":"<figure id=\"attachment_1397\" aria-describedby=\"caption-attachment-1397\" style=\"width: 129px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2015\/08\/asterisk.jpg\"><img decoding=\"async\" class=\"size-full wp-image-1397\" src=\"http:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2015\/08\/asterisk.jpg\" alt=\"Asterisk\" width=\"129\" height=\"72\" \/><\/a><figcaption id=\"caption-attachment-1397\" class=\"wp-caption-text\">Asterisk<\/figcaption><\/figure>\n<p>Uno de los grandes beneficios\u00a0de los sistemas VoIP, es que se pueden implementar por medio del uso del software de licencia libre u\u00a0\u00abopen source\u00bb (Asterisk y A2billing), con lo que es posible\u00a0tener un servidor de voz con muchas funciones de PBX o tarificaci\u00f3n, sin tener que\u00a0de gastar mucho en grandes y sofisticados equipos.<\/p>\n<p>Esta vez voy a indicar los puntos necesarios para que nuestro servidor de voz Asterisk, con un sistema de billing con el software libre u open source A2billing, nos sirva como plataforma de tarjetas de comunicaciones prepago.<\/p>\n<figure id=\"attachment_4031\" aria-describedby=\"caption-attachment-4031\" style=\"width: 212px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\" wp-image-4031\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2017\/05\/a2billing.jpeg\" alt=\"A2billing\" width=\"212\" height=\"148\" \/><figcaption id=\"caption-attachment-4031\" class=\"wp-caption-text\">A2billing<\/figcaption><\/figure>\n<p><!--more--><\/p>\n<p>Esta descripci\u00f3n es una alternativa al uso normal \u00a0que se hace de Asterisk y A2billing como sistema para tarjetas prepago.<\/p>\n<p>En este caso no se va a usar\u00a0un n\u00famero DID como punto de ingreso a la plataforma, sino que vamos a tener un n\u00famero dentro del mismo Asterisk, haciendo las veces del DID; de esta forma, quienes usan\u00a0las tarjetas, deben tener acceso a los terminales, extensiones o cuentas SIP de la PBX, por ejemplo con tel\u00e9fonos ubicados donde se encuentran\u00a0las cabinas telef\u00f3nicas.<\/p>\n<p>El siguiente es el escenario de esta configuraci\u00f3n:<\/p>\n<p>1. Alguien\u00a0marca al n\u00famero 1234 desde una extensi\u00f3n de la PBX IP.<br \/>\n2. El IVR le pregunta\u00a0a la persona por\u00a0su n\u00famero PIN.<br \/>\n3. La persona teclea\u00a0su n\u00famero PIN.<br \/>\n4. El IVR dice\u00a0el saldo de la tarjeta, e invita a marcar el n\u00famero telef\u00f3nico de destino deseado.<br \/>\n5. La persona marca el n\u00famero telef\u00f3nico deseado.<br \/>\n6. El IVR dice\u00a0los minutos que tiene para llamar al n\u00famero marcado, de acuerdo a la tarifa a ese destino.<br \/>\n7. La comunicaci\u00f3n\u00a0se establece entre las partes.<br \/>\n8. Si la llamada no se completa satisfactoriamente, o la llamada se termina\u00a0y el usuario permanece en l\u00ednea sin colgar, el IVR le consulta al\u00a0usuario si desea\u00a0continuar\u00a0llamando\u00a0a otro n\u00famero de destino<br \/>\n9. La persona finalmente cuelga y termina su proceso de llamadas.<\/p>\n<p>Lo que primero\u00a0se debe hacer es \u00a0registrar una marcaci\u00f3n espec\u00edfica que salga de la PBX y vuelva a ingresar como si viniera de un DID externo, para eso se ejecutan\u00a0los siguientes cambios en Asterisk (FreePBX):<\/p>\n<p>1. En el menu <strong>Trunks<\/strong>\u00a0se crea una troncal <strong>custom<\/strong>, en este caso se nombra como\u00a0\u00abloopback\u00bb:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/k40.kn3.net\/taringa\/8\/3\/3\/2\/0\/2\/2\/ferramnav\/451.jpg?1323\" alt=\"Sistema prepago de llamadas con Asterisk y A2billing\" border=\"0\" \/><\/p>\n<p>Escribimos al final\u00a0la siguiente cadena de texto en \u00abCustom Dial String\u00bb:<\/p>\n<p><strong>Custom Dial String<\/strong> : \u00a0\u00a0A2B\/$OUTNUM$@from-trunk<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/k37.kn3.net\/taringa\/8\/3\/3\/2\/0\/2\/2\/ferramnav\/968.jpg?1817\" alt=\"voip\" border=\"0\" \/><\/p>\n<p>2. En <strong>Outbound routes<\/strong>, se crea\u00a0una ruta saliente para llevar una\u00a0marcaci\u00f3n especial a la troncal creada en el punto anterior;\u00a0en este caso vamos a usar\u00a0la marcaci\u00f3n 1234, que va a salir por\u00a0la troncal \u00abloopback\u00bb:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/k31.kn3.net\/taringa\/8\/3\/3\/2\/0\/2\/2\/ferramnav\/FF1.jpg?59\" alt=\"llamadas voip\" border=\"0\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/k43.kn3.net\/taringa\/8\/3\/3\/2\/0\/2\/2\/ferramnav\/2F9.jpg?7844\" alt=\"plataforma prepago\" border=\"0\" \/><\/p>\n<p>3. En\u00a0el el servidor de la PBX-IP en Asterisk, en el archivo<br \/>\n\/etc\/asterisk\/extensions_custom.conf<\/p>\n<p>Se agregan\u00a0las siguientes l\u00edneas:<\/p>\n<p>[macro-dialout-trunk-predial-hook]<\/p>\n<p>exten =&gt; s,1,GotoIf($[\u00ab${OUT_${DIAL_TRUNK}:4:4}\u00bb = \u00abA2B\/\u00bb]?custom-freepbx-a2billing,${OUTNUM},1:2)<br \/>\nexten =&gt; s,2,MacroExit<\/p>\n<p>[custom-freepbx-a2billing]<br \/>\nexten =&gt; _X.,1,Set(CDR(accountcode)=)<br \/>\nexten =&gt; _X.,n,AGI(a2billing.php,${OUT_${DIAL_TRUNK}:8})<br \/>\nexten =&gt; _X.,n,Hangup()<\/p>\n<p>y se reinicia el servicio de Asterisk<br \/>\n<em>service asterisk restart\u00a0<\/em><\/p>\n<p>4. En A2billing se configura el agi_conf1, o se puede crear un agi_conf2 si la A2billing\u00a0ya tiene \u00a0servicios funcionales con agi_conf1 y no se quiere que esta nueva configuraci\u00f3n afecte a la actual en producci\u00f3n. Entonces se cambian\u00a0los siguientes par\u00e1metros:<\/p>\n<p>answer_call=yes<br \/>\nuse_dnid=no<br \/>\nsay_balance_after_auth=yes<br \/>\ncid_enable=no<\/p>\n<p>5. Ahora se crea la extensi\u00f3n en FreePBX desde donde se va a hacer\u00a0la llamada al sistema de tarjetas (en este ejemplo, es desde donde se va a llamar al 1234 para acceder\u00a0a la plataforma prepago.)<\/p>\n<p>Esta l\u00ednea debe estar registrada en el siguiente\u00a0contexto:<br \/>\nconext=from-internal<\/p>\n<p>6. Cuando se registran las dem\u00e1s cuentas SIP (tarjetas de llamada prepago o usuarios sip del A2billing), el contexto que debe quedar registrado es:<br \/>\ncontext=a2billing<\/p>\n<p>7. Para probar nuestro sistema, \u00a0desde la extensi\u00f3n creada en el punto 5:<br \/>\n7.1. Se marca 1234<br \/>\n7.2. Cuando la plataforma\u00a0 solicita el PIN, tecleamos\u00a0el Account Number de la cuenta SIP del A2billing.<br \/>\nLa plataforma\u00a0nos dice el\u00a0saldo de la cuenta y nos pide que marquemos a un n\u00famero de destino.<br \/>\n7.3. Marcamos el n\u00famero deseado, la plataforma nos dice los minutos que tenemos disponibles para esa comunicaci\u00f3n, de acuerdo al saldo y al costo hacia ese destino.<br \/>\n7.4. Se establece la comunicaci\u00f3n.<br \/>\n7.5. Hablamos por unos segundos y podemos colgar la llamada.<\/p>\n<p>8. Ahora ingresamos\u00a0a A2billing y podemos verificar\u00a0en el CDR que la llamada se haya\u00a0registrado con su duraci\u00f3n\u00a0y costo, y que de igual modo haya descontado el costo total\u00a0de la llamada a la tarjeta prepago o PIN.<\/p>\n<p>Si encontramos que la llamada al exterior no sale, se debe poner en el agi-conf1, el siguiente par\u00e1metro:<\/p>\n<p>asterisk_version=1_6.<\/p>\n<p>Esta es una forma alternativa\u00a0de\u00a0uso del sistema prepago de Asterisk y A2billing, que generalmente\u00a0se usa con un n\u00famero p\u00fablico (DID) de acceso\u00a0a la plataforma, pero \u00e9sta opci\u00f3n puede llegar a ser \u00fatil bajo un esquema de operaci\u00f3n especial, que requiera que las comunicaciones desde las extensiones no se realicen directamente, sino mediante pines prepago.<\/p>\n<p>Esta integraci\u00f3n entre Asterisk y A2billing para obtener un sistema de tarjetas prepago para cabinas telef\u00f3nicas, est\u00e1 siendo usado actualmente en el programa de gobierno de Colombia, del Ministerios de las Tecnolog\u00edas de la Informaci\u00f3n, en el proyecto Kioscos Vive Digital (KVD). Esta integraci\u00f3n fue realizada con el apoyo tecnol\u00f3gico de <a href=\"http:\/\/itsoftware.com.co\">ITSoftware SAS<\/a>.<\/p>\n<h3>Si te ha gustado este art\u00edculo, por favor no te olvides de compartirlo en las redes sociales.\u00a0 Thks\u00a0 \ud83d\ude42<\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Uno de los grandes beneficios\u00a0de los sistemas VoIP, es que se pueden implementar por medio del uso del software de licencia libre u\u00a0\u00abopen source\u00bb (Asterisk y A2billing), con lo que[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[628],"tags":[307,103,626,158,627],"class_list":["post-124","post","type-post","status-publish","format-standard","hentry","category-opensource","tag-automatizacion","tag-desarrollo-software","tag-opensource","tag-programacion-2","tag-software-abierto"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/comments?post=124"}],"version-history":[{"count":0,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/124\/revisions"}],"wp:attachment":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/media?parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/categories?post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/tags?post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}