Blade21
Usuario (México)
Hola Gente T! hoy les traigo un código para conmutadores asterisk les diré la que paso en mi trabajo. Bueno la historia empieza una tarde de viernes en donde estaba muy relajado y todo tranquilo estaba a punto de salir cuando suena mi extensión y veo que era del departamento de crédito y telemarketing como siempre llaman para bobadas pensé sale rápido su problema que tengan y sirve que se pasa mas rápido el tiempo para salir entonces al contestar solo recibo gritos del encargado de crédito diciéndome cosas como que no es posible que no puedan marcar a nadie entonces le pregunto que cual es el problema y me dice que siempre que marcan a un numero les dice que todas las lineas están ocupadas entonces me pongo a revisar en la consola cli con el comando core show chanels y veo que de las 60 lineas están en uso 13 y le digo puedes marcar otra vez reviso y marca un error de llamada y les regresa esa grabación entonces comienza la búsqueda del error revisando en configuraciones veo que el problema es que la linea regresa el código de error de numero ocupado pero el conmutador no tenia grabaciones que dijera que todas las lineas están ocupadas entonces encontrando por varios lados información y en mis apuntes de una certificación que tuve encontré este código y unas grabaciones que encontré en youtube aqui el procedimiento para acomodar este problema y que tu conmutador sea cada vez mas profesional. Acomodar audios en conmutador en el directorio /etc/asterisk modificar el siguiente archivo: con el siguiente comando entramos al archivo vim extensions_override_elastix.conf y al final del archivo hay que poner las siguientes lineas Aquí dejo el código en texto y los audios los dejo en depositfiles si los quieren pídanlos por mp ya que T! no admite links de depo [macro-outisbusy] exten => s,1,Progress exten => s,n,Set(MSG=all-circuits-busy-now&pls-try-call-later) ; Clausula default exten => s,n,Goto(s-${HANGUPCAUSE},1) ; Numero no existe exten => s-1,1,Set(MSG=no-existe) ; No hay una ruta para llegar a este equipo. Tratar como no existe exten => s-2,1,Set(MSG=no-existe) ; Celular fuera de area de servicio exten => s-20,1,Set(MSG=celular-no-disponible&intente-mas-tarde) ; Numero mal marcado exten => s-28,1,Set(MSG=cannot-complete-as-dialed&check-number-dial-again) ; Numero fuera de servicio exten => s-27,1,Set(MSG=fuera-servicio&intente-mas-tarde) ; Numero no existe exten => s-34,1,Set(MSG=no-existe) ; Red fuera de servicio exten => s-38,1,Set(MSG=fuera-servicio&intente-mas-tarde) ; Falla temporal en la red exten => s-41,1,Set(MSG=falla-red&intente-nuevamente) ; Congestion por alta cantidad de trafico exten => s-42,1,Set(MSG=alto-trafico&intente-mas-tarde) ; La central telefonica no dio respuesta exten => s-102,1,Set(MSG=falla-red&intente-nuevamente) ; Problema de interconexion de carriers exten => s-127,1,Set(MSG=no-proveedor&intente-mas-tarde) exten => _s-.,n,Playback(${MSG},noanswer) ; Reproducir el mensaje exten => _s-.n,Macro(hangupcall) Para terminar: hay que poner los audios de la carpeta. en el directorio /var/lib/asterisk/sounds/ Bueno eso es todo gente T! Luego pongo mas códigos que ido configurando en los conmutadores de aquí del trabajo. Siganme para mas post con Inteligencia Colectiva Certificada al final como de costumbre y los pantallazos son del conmutador en cuestión. No a la discriminación de rangos todos pueden comentar y puntuar jaja
Hola Gente T! hoy les comparto una configuración que tuve que realizar en el trabajo para una configuración que solicitaron por acá les platico rápidamente cual fue el problema aquí en el área de tele-marketing y la solución que se le dio: Cada cliente maneja un numero de referencia bancaria y marcan mucho al área de tele-marketing para solicitar su referencia entonces los agentes del call center están mucho rato contestando llamadas pero para la referencia y eso les quita mucho tiempo que se puede usar levantando pedidos entonces surgió el problema como hacerlo vía sistema y que el cliente siempre obtenga su referencia entonces optamos por ponerlo en el conmutador como una opción en el ivr para esto yo no tenia idea de que hacer he trabajo con elastix y aserisk pero no cosas tan avanzadas configuraciones básicas de conmutadores via E1, dahdi etc etc no digo mas del tema para no spoilear sobre el asunto bueno procedí con el archivo que me enviaron el cual era un archivo en excel del cual se tenia que tomar la información para validar vía llamada la referencia que se le daría al cliente. en el archivo se me manejaban 4 tipos de datos, id, cliente, referencia y numero verificador, para el manejo de los datos en primer idea fue usar un archivo separado por espacios y realizar un script que hiciera una consulta en el archivo guardando en una variable el numero de cliente que se dígito en la llamada y devolver el mismo vía audio, como se realizo esto: exten => XXXX,1,Answer() exten => XXXX,n,Read(cliente,beep) exten => XXXX,n,Playback(beep) exten => XXXX,n,Sistem(cat /root/archivo.csv | grep ${cliente} | awk {'print 2'}) no pongo todo el código para no dejar el post tan grande pero que se hizo se contesta la llamada después se crea la variable cliente en donde se guardara el numero de cliente que se digita en la llamada y en el ultimo paso usa el comando para abrir el archivo con el comando cat después usa un filtro con grep buscando el valor guardado en la variable y por ultimo impimo la columna 2 que es el valor de referencia, que paso pues no funciono solo nos arrojaba el numero 2 en texto entonces procedimos a buscar mas opciones este se descarto por que se tenían que dar derechos al usuario de asterisk para que pudiera manipular scripts dándole acceso al apartado de bin y esto no lo podemos hacer por que es dejar el sistema vulnerable, bueno despues del rotundo fracaso empece a buscar otras opciones y me comento mi jefe que si lo queria hacer con mysql ya quelo trae integrado el asterisk no soy muy bueno en sql de hecho la verdad es que ya se me olvido lo que sabia hacer asi que me puse manos a la obra a aprender sql nuevamente o mejor dicho a recordar entonces que era lo primero que tenia que hacer: una base de datos con 4 columnas una que fuera el id otra el cliente otra la referencia y la ultima el código verificador. entonces entro al sql con el siguiente comando mysql --u=root --password=password dentro reviso la base de datos con: Show databases; después creo la BD con: create database banco; después creo la tabla en este apartado hay que tener cuidado por que los datos a cargar son sensibles y los campos admiten ciertos datos dependiendo el formato que se valla a requerir en mi caso antepongo el 00000X para clientes muy antiguos, creo la tabla con: create table referencia (id int not null primary key auto_increment, cliente int(15), referencia(15), numver(2)); Listo ya tengo la tabla y un archivo csv entonces busco como importart el csv a la tabla de la siguiente forma: LOAD DATA LOCAL INFILE '/root/refe.csv' INTO TABLE location FIELDS TERMINATED BY ';' LINES TERMINATED BY 'n' IGNORE 1 LINES; se carga el archivo y listo ahora a realizar la consulta desde la consola del asterisk recordar que esto se tiene que hacer desde una llamada entonces vamos al archivo extensions_custom.conf ya que este conmutador es un elastix y para realizar estas configuraciones customizadas es necesario realizarlas en los archivos _custom por que si no el asterisk no entiende la configuración y truena el entorno web. entro con vim al achivo y empiezo con la configuracion: exten => XXXX,1,Answer() exten => XXXX,n,Playback(cliente) exten => XXXX,n,Read(numcliente,beep) exten => XXXX,n,NoOp(${numcliente}) exten => XXXX,n,MYSQL(Connect connid localhost root password banco) exten => XXXX,n,MYSQL(Query resultid ${connid} SELECT LPAD(Referencia,7,'0') from referencias where cliente = '${numcliente}') exten => XXXX,n,MYSQL(Fetch fetchid ${resultid} res) exten => XXXX,n,NoOp(${res}) en este código vemos como se contesta la llamada seguido entra una grabación que dice por favor digite su numero de cliente seguido de un beep que es la alarma para que puedan escribir se guarda en la variable numcliente seguido se asigna el comando NoOp que es no opere esto para no crear conflictos después hacemos la consulta esta consulta primero se conecta a la base de datos que corre de manera local seguido de usuario password y la db a utilizar, después realiza la consulta con un comando llamado LPAD el cual rellena la respuesta en dado caso de que se antepongan 000 los números y necesitamos el dato completo en mi caso todas las referencias son de 7 dígitos y se les anteponen 0 por que eso quedo así la consulta. después abrí la boca y dije que no habíamos puesto un if que le dijera al usuario en dado caso de que haya tecleado algo mal y pues me toco investigar como hacerlo después de leer un poco encontré en un otro contexto en el conmutador el gotoif y lo tome como referencia y listo y ya terminado el código quedo de la siguiente forma exten => XXXX,1,Answer() exten => XXXX,n,Playback(cliente) exten => XXXX,n,Read(numcliente,beep) exten => XXXX,n,NoOp(${numcliente}) exten => XXXX,n,MYSQL(Connect connid localhost root YW0ZSI6uliM5X+cwj banco) exten => XXXX,n,MYSQL(Query resultid ${connid} SELECT LPAD(Referencia,7,'0') from referencias where cliente = '${numcliente}') exten => XXXX,n,MYSQL(Fetch fetchid ${resultid} res) exten => XXXX,n,NoOp(${res}) exten => XXXX,n,GotoIf($["${res}"=""]?b) exten => XXXX,n,Playback(referencia) exten => XXXX,n,SayDigits(${res}) exten => XXXX,n,MYSQL(Clear ${resultid}) exten => XXXX,n,MYSQL(Disconnect ${connid}) exten => XXXX,n,Hangup() exten => XXXX,n(b),Playback(noexistecliente) exten => XXXX,n,Goto(3) exten => XXXX,n,MYSQL(Clear ${resultid}) exten => XXXX,n,MYSQL(Disconnect ${connid}) exten => XXXX,n,Hangup() saludos a todos gente T! Certificada:
GIF Hola Gente Taringuera pues me surgió una mega incógnita estaba depurando mi área de trabajo que tengo en mi casa ya que tenia muchas pcs viejas que no servían y pues me dijo mi mama que las tirara entonces me puse a armar equipos por que de todos los que tenia todas tenían diferente piezas dañadas o quemadas procesador, fuente, mobo, ram, etc etc y arme de todas esas pc 3 maquinas la mas decente es una amd atlon x2 con 3 gb de ram y un disco de 320 gb pero bueno entonces estoy buscando opciones para convertirlas en algo mas y si se puede sacar algo de $$ extra por ellas pues super bien bueno por el momento tengo varios opciones en mente pero todavía no estoy muy seguro de ello les pondré varias de las opciones que hasta el momento se me han ido ocurriendo y para lo cual he reunido información para realizar la renovacion de esos equipos Opción 1. Montar un servidor (respaldos, pruebas, descargas) Un servidor, es simplemente una computadora que almacena datos y se las “sirve” o presenta a otras computadoras en la red. Esto puede resultar inmensamente útil en muchos escenarios: Almacenar tus archivos de respaldo. Almacenar todo tu contenido multimedia para hacer streaming a todos los dispositivos que se encuentren conectados a la red. Actuar como un ordenador que esta siempre encendido para descargar y servir torrents u otros archivos. Servidor de juegos dedicados para mejorar tu experiencia multijudador: en lugar de unirte a un servidor random que esté en Nueva Zelanda y sea moderado por un minion, usar tu ordenador viejo como servidor para que maneje el trafico web, o simplemente para jugar con amigos en una red LAN, es una gran idea. Un simple servidor remoto para imprimir, al que se pueden conectar todos los ordenadores de la casa. Un servidor que administre toda la red de tu casa, conexiones de VPN, todo esto con Linux. Software posibles para esta opcion. FreeNAS, una distribución FreeBSD que nos permite desplegar nuestro propio servidor de bajo costo, son relativamente sencillas de configurar. También podemos usar ownCloud en ese servidor para crear nuestra propia nube de almacenamiento privada. Windows Server, aunque parece ser una loca idea podría montarse un servidor de pruebas y realizar muchas funciones administrativas como dominio, fondos de escritorio, respaldos automatizados etc. Ubuntu, Podría ser Server, se pueden hacer muchas aplicaciones que no requieren mucho procesamiento ni ram y podemos hacer con este un servidor vpn, squid, firewall etc, etc, Opción 2. Montar un conmutador IP. Esta idea es la que mas me tiene dando vueltas la cabeza soy algo fanático de los conmutadores IP asterisk y me encanta la administración y todo lo que se puede llegar hacer con ellos imagínate tener un conmutador y poder tener comunicación gratuita e ilimitada con toda tu familia no importa en que parte del mundo estén todo por conexiones sip a tu conmutador una maravilla. Software posible para esta opción: Asterisk, el sistema antiguo a puro codigo se necesita tener conocimientos en esta programación por que si no te perderás muy rápido y podrías desanimarte. Elastix, el sistema mas usado en estos momentos en el mundo muy estable y la instalación es siguiente siguiente, la configuración muy fácil ya que contiene un panel web y de fácil uso ya que es muy intuitivo. Opción 3. Montar una máquina árcade. Se podría convertir la pc en una máquina de vídeojuegos retro mediante emuladores de consolas antiguas. Esta idea me pareció de lujo pero no me llama tanto la atención ya que tendría que construir un mueble y tendría que realizar configuración con los mandos y palancas y es algo laborioso de hecho cotice en ebay el costo de los botones y la palanca y no sale tan caro pero lo latoso es hacer el mueble y eso me desanimo un poco. Software posible para esta opción: Puppy Arcade es una especie de derivado de la distribución Puppy Linux, pero con el único propósito de servir como sistema de emulación de consolas de videojuegos. Puppy Arcade es un live CD, solo necesitas quemarlo o crear un disco de arranque USB y está listo para ejecutar. Por supuesto, también puedes instalarlo en el disco duro de tu ordenador viejo. Es un multi-emulador, con cargador de ROMs y soporte para mandos y joysticks. Los sistemas y consolas soportadas incluyen: Plays Amiga, Atari, Amstrad, Arcades, Colecovision, Commodore, Doom, GameBoys, GameGear, Genesis/MegaDrive, MasterSystem, MS DOS, MSX, N64, NDS, NeoGeo, NeoGeo CD, NES/Famicom, PC Engine/TurboGrafix, PSX, ScummVM, SNES, ZX Spectrum, y más. MAME (Multiple Arcade Machine Emulator) MAME actualmente puede emular más de 6400 juegos arcade de las décadas de los 70, 80 y 90, en incluso algunos del nuevo milenio. Winkawaks, es un proyecto que usa otras roms y que es muy liviano. VirtualNes, es un emulador de Nintendo Clasico. Snes, es emulador de Super nintendo. PsxOne, Emurayden, son emulador de PS One para esto requerimos tambien un programa como power iso para montar las isos o si tenemos juegos de play no hay problema. Opción 4. Montar una Rockola. Imagina montar una rockola con toda tu música y aparte poder llevarla a donde quieras serias el alma de la Fiesta jajaja Esta opción es la que mas me va gustando tengo unos cajones de bocinas arrumbados que podría reutilizar y el mueble solo seria una pequeña torre con espacio en un tablero para botones que esos se programan fácilmente y pues podría hacer uso de mi biblioteca musical de mas de 50 gbs. O podrías usar aplicaciones como Spotify, 8tracks, Songza, Grooveshark, exfm, etc. Solo por mencionar algunas opciones. Si lo prefieres, siempre puedes almacenar tus discos localmente o en medios de almacenamiento extraible. Musique es un buen reproductor de música multiplataforma, que puedes usar como alternativa. Software a emplear: Coverjuke, Es gratuito vistoso y fácil de configurar e instalar, Vrockola, muy parecido al promero hay mas opciones pero estas son las mejores y no es necesario ahondar mas en el tema. Opción 5. Instala un sistema liviano para equipos con pocos recursos puede ser windows o linux. Software a emplear: Windows Xp, el favorito por muchas generaciones solo una recomendación no instalen en service pack 3 por ningún motivo. Arch Bang un derivado del magnifico Arch Linux, pero sin la dramática instalación de este último. Arch Bang utiliza OpenBox como entorno de escritorio, uno de los más ligeros que existen en Linux. Puppy Linux es una distro bastante conocida por su ligereza y velocidad, ideal para ordenadores sumamente antiguos. Lubuntu es uno de los tantos sabores en los que se presenta Ubuntu, usa LXDE un entorno de escritorio sumamente ligero, e ideal para ordenadores con pocos recursos. También podrías probar instalando Chrome OS, que como ya sabemos funciona con aplicaciones en la nube completamente, la unica desventaja es que no es completamente compatible con cualquier ordenador, prueba y error con esta última. Ustedes vean y decidan que es mejor para renovar sus equipos viejos. No a la discriminación de rangos en este post todo el mundo puede comentar. Por una T! con inteligencia Colectiva. Sigueme, Comenta, Agrega a Favoritos, Puntua. GIF