Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • melvin: el mejor vpn es vpn ninja, su sitio es www.vpnnija.com  
  • effeselop: High-heeled shoes n your case, a jimmy choo nova nude slingback shoes girl that are how one prevent stop the terrible! The very thought of these disadvantages, high heel sandals after which it check out this new ladies, how suddenly it had not been so pretty! Pure while burden of check carefully the jimmy choo strappy sandals storage room, spring, summer, the fall and winter shoes, I only identify one pair a little high-heeled sandals, exclusion . Irrrve never worn high heel slides in one time, huh, huh! Today it is easy to understand shoe store favorite jimmy choo wedge women's high heel sandals, beautifully turned to that, believe that of to place it on, wind willow waist put a person unique on top of the swaying grace, the temptation fails to stop  
  • Samantha Santin: ola me pueden ayudar con lo basico para un examen de linux , estoy en 10 mo de basica , por favor , gracias  
  • alexandra: hola...tengo problemas para configurar las llamadas y crear los troncales....uso elastix 2.0.3 con asterisk 1.6...y soy nueva en esto..puedo relizar llamadas dentro de una misma oficina, pero no puedo sacarlas fuera, es decir locales e internacionales...necesito asesoria...gracias  
  • Fernando Hernández: Hey! Ya no estan disponibles los posts sobre facturación electrónica en México, podrías pasarme el tutorial o la clase en php? Por favoooor. Gracias  
  • daniel nuñez: buenas soy de venezuela y tengo una duda yo lo que quiero es hacer una iso debian que tenga todos los paquetes necesarios completos y programas como synaptis fortran java los pluging de video y sonido ya instalados osea que tenga todo lo necesario instalado pero sin que sea una instalacion con un cd netinst, es posible ?  
  • Cesar villegas: Buenas!!! oye no tienes programado algún curso?  
  • Urbano: Hola soy de Argentina.
    Desde hace un tiempo tengo instaldo Asterbilling SL y me parece un rpoyecto útil e interesante. Ahora me compré un AT 530 con la intension de pasar la tarifa al telefono pero seguramente algo estoy haciendo mal ya que despues de configurar el script con los datos del AMI; MySQL y ejecutar el comando que indica el manual.. no pasa nada, todo sigue igual y no se muestra la tarifa en la pantalla del telefono. Tal vez deba configurar algo tambien en el telefono.. la verdad no se, es que tampoco soy un experto en la materia. Les dejo algunos datos que talvez sean utilespara que me puedan ayudar: Tengo Elastíx 2.0.3 con Asterisk 1.6; FreePBX 2.7.0.3; A2Billing 1.8.1; Astercc 1.4 y Asterbilling SL. Espero que me puedan ayudar; desde ya muchas gracias.  
  • kike: Oye filein.. necesito una cotización de unas FxO para analógicas porfa..
    saludos  
  • cristy: hola por favor tengo problemas para conectar agi con asterisk me sale un error de broken pipe, sabes de que se trata???  

Escribe el código Captcha que estás viendo

Script AGI para conectar con sistema de tarificacion AsterBilling

Asterbilling es un software que permite integrar un tarificador a Asterisk basado en prefijos, longitud del número de marcado, entre otras cosas, muy apto para ser usado en casetas telefónicas, aparte que tiene un sistema de monitoreo para cuándo se marque un número muestre el tiempo marcado, el número, etc y de ahi mismo imprimir un ticket.
Como plugin adicional para Asterbilling hice un script en php que lo que hace es consultar desde un teléfono el costo de las llamadas desde un cabina en específica, de tal forma que usando festival te regresa de forma hablada la fecha marcada, el tiempo de la llamada, el número marcado y el costo total de la llamada en base a la tarifa aplicada.
Este script también permitiría imprimir un ticket en una impresora de tickets conectada al puerto serial, solo bastaría crear un archivo con la información y mandarlo al puerto lpt.
#!/usr/bin/php -q
 <?php
//llamamos a las librerias de phpagi
  require("phpagi/phpagi.php");
//activamos la bandera de enviar todo lo que se realice a consola como modo depuracion
  error_reporting(E_ALL);
//creamos una instancia de la clase AGI
 $agi = new AGI();
//generamos el comando Answer de Asterisk, este comando siempre lo ejecutamos al inicio de un AGI
 $agi->answer();
//Este demo consultaria informacion en una base de datos y regresaria la informacion de forma hablada por lo que generamos una conexion a la base de datos de sql
 $conexion = mysql_connect("localhost","astercc","astercc") or die("Error: El servidor no puede conectar con la base de datos");
//Referenciamos el cursor a la base de datos
 mysql_select_db("astercc",$conexion);
//obtenemos el caller id de quien realiza la llamada
 $_cid = $agi->parse_callerid();
//enviamos un mensaje de voz por medio de festival que esta configurado en idioma espanol
 $saludo_hora = (date("H")<12)?"Buenos Dias!"<img src="plugins/Emoticons/images/face-sad.png" border="0" alt="face-sad.png " width="16" height="16" />(date("H")<19)?"Buenas tardes!":"Buenas Noches!");
       
         $agi->text2wav("Hola $saludo_hora");
          do{
                $agi->text2wav('¿Que cabina desea tarificar? 0 para salir');
       
                //enviamos un beep y esperamos 20 segundos en la espera de una respuesta
                $_result = $agi->get_data('beep', 5000, 20);
                //obtenemos la informacion introducida desde el telefono
                $cabina = $_result['result'];            
                   if($cabina!="" and $cabina!="0"){
                             $query = "select c.id, c.calldate, c.src, c.dst,  c.didnumber, c.duration, c.billsec, c.disposition, c.calltype,  c.userfield,
                                                        m.dialprefix, m.numlen,  m.destination, m.connectcharge, m.initblock, m.rateinitial, m.billingblock
                                                        from mycdr c, myrate m  
                                                                where c.src='$cabina' and c.disposition like '%ANSWERED%'
                                                                        and c.userfield='UNBILLED'
                                                                        and (c.dst like concat(m.dialprefix,'%') or length(c.dst)=m.numlen)
                                                                        and (c.groupid=m.groupid or m.groupid=0)
                                                                        and (c.resellerid=m.resellerid or m.resellerid=0)
                                    order by
                                                "
;
          //select c.id, c.calldate, c.src, c.dst,  c.didnumber, c.duration, c.billsec, c.disposition, c.calltype,  c.userfield,m.dialprefix, m.numlen,  m.destination, m.connectcharge, m.initblock, m.rateinitial, m.billingblock from mycdr c, myrate m where c.src='102' and c.disposition like '%ANSWERED%' and c.userfield=UNBILLED and (c.dst like concat(m.dialprefix,'%') or length(c.dst)=m.numlen) and (c.groupid=m.groupid or m.groupid=0) and (c.resellerid=m.resellerid or m.resellerid=0)
                $agi->verbose($query);
                            $_result = mysql_query($query);
                            //verificamos si existe un resultado
                $total = 0;
                $subtotal = 0;
                $ticket = "";
                $count = 1;
                             while($_re = mysql_fetch_array($_result)) {
                                       $subtotal = $_re[13];
                       if($_re[6]>$_re[14]){
                            $charge_additional =  (ceil( ($_re[7]-$_re[14])/$_re[16]) )*$_re[15];
                            $subtotal += $charge_additional;
                                       }
                       $total += $subtotal;
                                       $ticket .= " llamada $count.
                                    Fecha: $_re[1].
                                    Tiempo de la llamada: $_re[6] segundos.
                                    Numero Marcado: $_re[4].
                                    Tarifa aplicada: $_re[destination].
                                    Costo: $subtotal pesos.."
;
                             }
                 if($total>0){
                    $agi->text2wav("Total a pagar $total pesos. Desglose : ".$ticket." Total a pagar: $total pesos");
                    $agi->text2wav("Desea imprimir el ticket?Presione 1 para Aceptar. Otro para salir");
                    $_result = $agi->get_data('beep', 5000, 20);
                    $print = $_result['result'];
                    if($print ==1){
                        $ticket = str_replace(".",".\n", $ticket)."\n\nTotal a pagar: ".$total." pesos";
                        //imprimir ticket
                            //guarda archivo
                            //manda archivo a LPT
                            //elimina archivo impreso
                        //guardar registro
                    }
                 }else{
                     $agi->text2wav("No hay llamadas para tarificar en la cabina $cabina!");
                 }
                   }
         }while($cabina != '0');
     $agi->text2wav("Hasta luego. $saludo_hora");
//al finalizar el script del AGI siempre es recomendable ejecutar esta funcion para no dejar el canal abierto.
  $agi->hangup();
 ?>
//*****
 

#1 Re:Script AGI para conectar con sistema de tarificacion AsterBilling

henry, <E-Mail> / 20 July, 11:41am  
avatar

COmo prodria hacer un control no usando mensajes de Voz con Festival sino durante la llamada enviarle mensajes de texto con SendText al telefono

[ Responder (0) ]

#2 Re:Script AGI para conectar con sistema de tarificacion AsterBilling

Phylevn, <E-Mail> / 20 July, 6:26pm  
avatar

Usa el comando SendText de Asterisk, solo que tu teléfono debe ser capaz de soportas SIP Messages, ya que no todos los teléfonos son compatibles y te envía un error 404 de Método no compatible.

[ Responder (0) ]

Dejar un comentario

Escribe el código Captcha que estás viendo

Fuentes XML de comentario: RSS | Atom

Emblemas

Energizado por Jaws Project
Soporta RSS2
Energizado por Software Libre
Energizado por Mozila Firefox
Energizado por Ubuntu Linux
Energizado por PHP
Energizado por Apache Web Server
Energizado por MySQL
Energizado por SQLite
atom

¿ Where The Hell Am I ?

Mi Flickr







Aquí Mis Mejores Fotos

Eventos

Encuesta

¿Que medio de comunicación usas más ?

Comentarios Recientes