Interesante proyecto en donde podremos descargar una basta gama de clips de audio totalmente gratis bajo la licencia Creative Commons Attribution-No Derivative Works 2.0 Generic y con el soporte de Google

a decir verdad esto me funciono de maravilla ahora que estaba colocando algunos sonidos personalizados en mi instalacion de Asterisk 1.4

Link | freesound.org

Post to Twitter Tweet This Post Post to Delicious Delicious

#!/bin/sh
# name of this script: wav2mp3.sh
# wav to mp3

for i in *.wav; do
 if [ -e "$i" ]; then
   file=`basename "$i" .wav`
   lame -h -b 192 "$i" "$file.mp3"
 fi
done

Dependencias
faad2 y lame

Post to Twitter Tweet This Post Post to Delicious Delicious

Paso 1

Descargar el paquete deb de esta URLPaso 2

Luego de descargar vamos a instalar el paquete

cd /home/USUARIO/
root@USUARIO-desktop:/home/USUARIO# dpkg -i google-chrome-beta_current_i386.deb
Selecting previously deselected package google-chrome-beta.
(Reading database ... 208315 files and directories currently installed.)
Unpacking google-chrome-beta (from google-chrome-beta_current_i386.deb) ...
Setting up google-chrome-beta (4.0.249.43-r34537) ...

Processing triggers for man-db ...

Paso 3
corremos el navegador

google-chrome &

Post to Twitter Tweet This Post Post to Delicious Delicious

Muchas cosas se pueden hacer con la bases de datos, cuando hablamos de backups, hoy les traigo algunos trucos muy practicos:

Backup exclusivamente de una tabla en una base de datos:

mysqldump --add-drop-table -h SERVER -u USERNAME -p DATABASE  TABLA > tabla.sql

Backup de todas las bases de datos en 1 solo archivo:

mysqldump -h SERVER -u USERNAME -p  --all-databases > all-data-bases.sql

Restaurar 1 sola base datos de el archivo “consolidado” que creamos antes:

mysql -h SERVER -u USERNAME -p DATABASE1 <  all-data-bases.sql 

Post to Twitter Tweet This Post Post to Delicious Delicious

Ayer, Google ha anunciado el lanzamiento de su servicio gratuito de resolución de DNS. Google entra a la compentencia asi como OpenDNS. Sin embargo, Google se compromete no jugar con los usuarios finales y enviar la respuesta exacta de su ordenador sin realizar ningun tipo del bloqueo, filtrado o redirección de que podrían obstaculizar la experiencia de navegación de un usuario. En otras palabras, Google no secuestrara el tráfico de nombre si el nombre dominio no existe y que seguirá estándar RFC estricto.

DNS Google

8.8.8.8
8.8.4.4

Post to Twitter Tweet This Post Post to Delicious Delicious

Mysql dump only data

In: linux| mysql

1 Dec 2009

Un truquito rapido para el mysql

Dump solo con los insert de informacion sin la estructura, truco que investigue gracias a una migracion que estaba haciendo @lionel (un cuate) jajaja y no queria que se realizara ningun drop en el import de la info .

aqui les dejo la linea de commando para correr este tipo de exports

mysqldump -u user -p --skip-triggers --compact --no-create-info DATABASE > DATABASE.sql

Post to Twitter Tweet This Post Post to Delicious Delicious

wordpress

Un nuevo release de wordpress vio la luz el dia de hoy

2.8.6 fixes two security problems that can be exploited by registered, logged in users who have posting privileges. If you have untrusted authors on your blog, upgrading to 2.8.6 is recommended.

The first problem is an XSS vulnerability in Press This discovered by Benjamin Flesch. The second problem, discovered by Dawid Golunski, is an issue with sanitizing uploaded file names that can be exploited in certain Apache configurations. Thanks to Benjamin and Dawid for finding and reporting these.

Link | wordpres.org

Post to Twitter Tweet This Post Post to Delicious Delicious

Al instalar un debian desde Netinstall en una pc Dell optiplex 760 me encuentro con un pequeño y sencillo problema… El kernel de debian 5 no reconoce la tarjeta de red Ethernet controller: Intel Corporation 82567LM-3 Gigabit Network Connection
El problema radica en que el kernel de Lenny incluye una versión un poco obsoleta del controlador e1000e, la 0.3.3.3-k2 y no la reconoce.

El primer paso es conseguir los fuentes desde la pagina oficial de Intel: downloadcenter.intel.com Estando en Ethernet Components + Ethernet Controllers + Intel 82567 Gigabit Ethernet Controller descargamos el último disponible (latest).

Luego de descargado el codigo fuente de este NIC, vamos a descomprimirlo

[/bash] tar zxf e1000e-x.x.x.tar.gz[/bash]

en la carpeta que el anterior proceso nos creara

   cd e1000e-x.x.x/src/ 

para poder compilarlo en este caso se tuvo que agregar los siguientes paquetes:

linux-source-2.6.26, linux-headers-2.6.26-2-amd64, linux-headers-2.6.26-2-common 2.6.26-19, libncurses5-dev

Ahora si :D

# make install 

Copiamos el modulo.ko a la carpeta correspondiente:

/lib/modules//kernel/drivers/net/e1000e 

ultimos pasos, quitar el modulo antiguo e instalar el nuevo

rmmod e1000e ;  insmod /lib/modules//kernel/drivers/net/e1000e/e1000e.ko

ahora si un ifconfig y mas que listos…

Post to Twitter Tweet This Post Post to Delicious Delicious

Luego de aprender como guardar todos nuestros CDRs dentro de mysql, me ha surgido la duda de como migrar los ya existentes en el master.csv a la base de datos nueva, bueno primero explico algo de como y porque.

Por que:
Esto corriendo asterisk 1.4 y manejandolo con Vicidial (contact center app) pero este utiliza el custom_cdr.conf en donde el guardado en CVS esta definido de la siguiente forma:

Master.csv => "${CDR(clid)}","${CDR(src)}","${CDR(dst)}","${CDR(dcontext)}",
"${CDR(channel)}","${CDR(dstchannel)}","${CDR(lastapp)}",
"${CDR(lastdata)}","${CDR(start)}","${CDR(answer)}","${CDR(end)}",
"${CDR(duration)}","${CDR(billsec)}","${CDR(disposition)}",
"${CDR(amaflags)}",
"${CDR(accountcode)}","${CDR(uniqueid)}","${CDR(userfield)}"

Que significa esto ?? http://www.voip-info.org/wiki/view/Asterisk+billing

ahora bien he encontrado algunos scripts que dicen ser la herramienta mas util para este tipo de migracion lo cual luego de probarlos ha resultado falso!! jejeje

aqui les dejo el que yo modifique y utilize para que migrara de forma transparente los datos del Master.csv con la configuracion cdr_custom de vicidial.

<?php
/*** process asterisk cdr file (Master.csv) insert usage
* values into a mysql database which is created for use
* with the Asterisk_addons cdr_addon_mysql.so
* The script will only insert NEW records so it is safe
* to run on the same log over-and-over.
*
* Author: John Lange (john@johnlange.ca)
* Date: Version 2 Released July 8, 2008
*
*
* Here is what the script does:
*
* Parse each row from the text log and insert it into the database after testing for a
* matching "calldate, src, duration" record in the database. Note that not all fields are
* tested.
*
* If you have a large existing database it is recomended that you add an index to the calldate
* field which will greatly speed up this import.
*
*/
/*
 * Modified by Leif Madsen, July 29, 2009 to add additional columns.
 * Original post and code by John Lange: http://www.johnlange.ca/tech-tips/asterisk/asterisk-cdr-csv-mysql-import-v20/
 */
/*
 * Modified by Paulo Alvarado, Nov. 09 2009 to run with the custom master.cvs from vicidial now
 * Original post and code by John Lange: http://www.johnlange.ca/tech-tips/asterisk/asterisk-cdr-csv-mysql-import-v20/
 */
$locale_db_host = 'localhost';
$locale_db_name = 'asterisk';
$locale_db_login = 'root';
$locale_db_pass = 'vicidialnow';
if($argc == 2) {
$logfile = $argv[1];
} else {
print("Usage ".$argv[0]." <filename>\n");
print("Where filename is the path to the Asterisk csv file to import (Master.csv)\n");
print("This script is safe to run multiple times on a growing log file as it only imports records that are newer than the database\n");
exit(0);
}
// connect to db
$linkmb = mysql_connect($locale_db_host, $locale_db_login, $locale_db_pass) or die("Could not connect : " . mysql_error());
mysql_select_db($locale_db_name, $linkmb) or die("Could not select database $locale_db_name");
//** 1) Find records in the asterisk log file. **
$rows = 0;
$handle = fopen($logfile, "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
// NOTE: the fields in Master.csv can vary. This should work by default on all installations but you may have to edit the next line to match your configuration

list($clid, $src, $dst, $dcontext, $channel, $dstchannel, $lastapp, $lastdata, $start, $answer, $end, $duration, $billsec, $disposition, $amaflag, $accountcode,$uniqueid, $userfield ) = $data;

/** 2) Test to see if the entry is unique **/
$sql="SELECT calldate, src, duration".
" FROM cdr".
" WHERE calldate='$end'".
" AND src='$src'".
" AND duration='$duration'".
" LIMIT 1";
if(!($result = mysql_query($sql, $linkmb))) {
print("Invalid query: " . mysql_error()."\n");
print("SQL: $sql\n");
die();
}
if(mysql_num_rows($result) == 0) { // we found a new record so add it to the DB
// 3) insert each row in the database

$sql = "INSERT INTO cdr (calldate, answerdate, hangupdate, clid, src, dst, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflag, accountcode, uniqueid, userfield)
VALUES('$start', '$answer', '$end', '$clid', '$src', '$dst', '$dcontext', '$channel', '$dstchannel','$lastapp', '$lastdata', '$duration', '$billsec', '$disposition', '$amaflag', '$accountcode', '$uniqueid', '$userfield')";

if(!($result2 = mysql_query($sql, $linkmb))) {
print("Invalid query: " . mysql_error()."\n");
print("SQL: $sql\n");
die();
}
print("Inserted: $end $src $duration\n");
$rows++;
} else {
print("Not unique: $end $src $duration\n");
}
}
fclose($handle);
print("$rows imported\n");
?>

ahora la parte mas dificil, como ejecutarlo: :D

php import.php Master.csv

Nota: si por algun motivo no funciona el comando php, eso significa que no tienen el paquete php-cli para ejecutar sentencias php en linea de comando.

Post to Twitter Tweet This Post Post to Delicious Delicious

Call Detail Records
Las centrales telefónicas generan los llamados Call Detail Records (CDR) que son archivos o logs que contienen información detallada acerca de las llamadas tanto de donde fueron originadas, terminadas o que pasa por el intercambio de las mismas. Y claro no es sorprendente que los CDR se utilizan para la facturación. Fuente: http://www.voip-info.org/wiki/view/CDR

Ahora bien Asterisk es una central telefonica en la que podemos variar  tipo de informacion y almacenamiento que este sistema va a recolectar para sus  CDRs

Asterisk puede trabajar sus CDR de las siguientes formas:

  • Csv – archivos de texto con valores separados coma
  • Cdr SQLite – logs de CDR en la base de datos de SQLite
  • Pgsql – logs de CDR en las bases de datos de PostgreSQL
  • Odbc – logs de CDR a cualquier base de datos con soporte unixODBC
  • Mysql – logs  de CDR en las bases de datos de MySQL
  • Cdr FreeTDS – logs CDR en MS SQL o a la base de datos de Sybase a través de los conductores de FreeTDS
  • Yada – logs de CDR registrados en cualquier base de datos con soporte  yada.

Pero lo que veremos por el momento es como conectar nuestro mysql para guardar los CDRs

Primero vamos a crear la tabla que guardara nuestros datos en el Mysql

CREATE DATABASE asterisk;

GRANT INSERT
  ON asterisk.*
  TO asterisk@localhost
  IDENTIFIED BY 'tu_clave';

USE asterisk;
CREATE TABLE cdr (
  calldate datetime NOT NULL default '0000-00-00 00:00:00',
  clid varchar(80) NOT NULL default '',
  src varchar(80) NOT NULL default '',
  dst varchar(80) NOT NULL default '',
  dcontext varchar(80) NOT NULL default '',
  channel varchar(80) NOT NULL default '',
  dstchannel varchar(80) NOT NULL default '',
  lastapp varchar(80) NOT NULL default '',
  lastdata varchar(80) NOT NULL default '',
  duration int(11) NOT NULL default '0',
  billsec int(11) NOT NULL default '0',
  disposition varchar(45) NOT NULL default '',
  amaflags int(11) NOT NULL default '0',
  accountcode varchar(20) NOT NULL default '',
  uniqueid varchar(32) NOT NULL default '',
  userfield varchar(255) NOT NULL default ''
);

Segundo tenemos que contar con soporte cdr_mysql en nuestro sistema asterisk, como verificamos esto:

dentro del CLI de asterisk corremos

 show modules

…. y la salida tendria que ser algo asi

app_addon_sql_mysql.so         Simple Mysql Interface                   0
cdr_addon_mysql.so             MySQL CDR Backend                        0
134 modules loaded

si por alguna razon no los tenemos cargados, podemos compilar los add-ons de asterisk y luego cargarlos

load app_addon_sql_mysql.so
load cdr_addon_mysql.so

por ultimo crearemos la conexion entre estos 2 sistemas modificaremos el archivo cdr_mysql.conf

[root@SRV-ASTERISK asterisk]# nano /etc/asterisk/cdr_mysql.conf
[global]

hostname=127.0.0.1
dbname=asterisk
table=cdr
password=usuario
user=password
port=3306
;sock=/tmp/mysql.sock
;userfield=1

bueno luego de estos 3 pasos quedara listo nuestros CDRs en Mysql para la central telefonica Asterisk.

Post to Twitter Tweet This Post Post to Delicious Delicious

Acerca de este Blog

Este espacio esta dedicado a la difusión del software libre en todas sus expresiones, es mi espacio técnico personal, para difundir a todos los rincones el conocimiento libre. "La verdad os hará libres" (Jn 8,32); El techno :Editor, redactor, ingeniero, tecnico, desarrollador, musico y DJ wannabe, etc.. ese soy yo y este es mi espacio

  • techno: @maski: para los que no tienen acceso a ediar el .htaccess hay un plugin que lo hace desde adentro d [...]
  • Maski: Me gusta, muy importante resaltar lo de los accesos a directorios, lo del wp-admin no se me habia oc [...]
  • Como Forzar la velocidad de la placa de red en Debian o Ubuntu | AdslFaqs.com.ar: [...] | Forzar velocidad en NIC debian / ubuntu Tags: chmod, Debian, Linux Debian, scripts, sis [...]
  • El techno: lo que podrias hacer es reemplazar el $(which ethtool)" por el path completo de tu binario ejem: /us [...]
  • paco: Me tira este error la consola y no sé de que puede ser /etc/init.d/speednic.sh: 12: Syntax error [...]

Nuestro Patrocinadores

Tags

Mi galeria de fotos

Mazinger ZMazinger Zno se como lo hace (bruno)no se como lo hace (bruno) 2carga pesada al estilo indu 1carga pesada al estilo indu 2una tv en Solid Statepauloalvarado ipodEsquilandia GuatemalaEl techno en una sinagogaDSC00966DSC00962

Este blog se publica bajo licencia

Blog bajo licencia Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
Creative Commons License

Calendario

February 2010
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728