Como hacer que la television muestre el numero que llama por telefono en tu Asterisk

De Kafre.org

Bueno esto es una frikada que me dio por hacer el otro día: Cuando llega una llamada a mi Asterisk, a la vez que hace sonar mis teléfonos analógicos, asterisk ejecuta un script que hace que mi Siemens m750t muestre por pantalla el nombre de quien llama, y si no sabemos quien es, pues saca el numero.

Necesitamos:

  1. Un fichero /etc/scripts/agenda.txt con entradas en las que aparezcan el nombre a mostrar y los números de telefono que se corresponden con ese número.
  2. Añadir una linea al extension.conf que llame al script de mostrar el nombre
  3. El script por supuesto

/etc/script/agenda.txt

 Taxi Alcobendas;916530100;
 Taxi Alicante;965101611;
 Taxi Ayamonte;959471282;
 Taxi Barcelona;933033033;
 Taxi Bilbao;944102121;
 Taxi coruña;981287777;
 Taxi Coslada;670515254;916720077;
 Taxi Fuenla;916643747;
 Taxi Gava;936303030;
 Taxi Madrid;915478200;
 Taxi madrid;914473232;
 Taxi Malaga;952333333;
 Taxi Malaga;952333333;952040806;
 Taxi Montcada;935802727;
 Taxi Portonovo;986744353;
 Taxi Puerto Santamaria;956858584;
 Taxi Ramallosa;986350009;
 Taxi San Sebastian;943404040;
 Taxi Sant Boi;936300000;
 Taxi Soria;975211862;608639903;

La linea de extension.conf

 exten = s,n,System(/etc/scripts/tdt.sh ${CALLERID(num):3} &) 

fichero /etc/scripts/tdt.sh

#!/bin/bash
texto=`grep $1 /etc/scripts/agenda.txt | awk 'BEGIN { FS = ";" } ; { print $1 }'|head -1|cut -c 1-20`
if [ "$texto" = "" ]; then
        texto=$1
fi
 
expect << EOF
set timeout 20
spawn telnet tdt.
expect "M750T login: "
send "r\r"
expect "Password: "
send "r\r"
expect "# "
send "txt2osd '$texto!!' -d 10000 -y 500 -s 40\r"
expect "# "
send "sleep 12\r"
expect "# "
send "exit"
exit
EOF
Herramientas personales