... y para mucho más
Hace un tiempo publiqué un post (este) sobre el uso de GTalk desde la consola, para el envío de notificaciones. Era un poco tosco, pero funcionaba. Al poco, ratoncio me comentaba que se podía hacer eso mismo pero usando un par de funciones del centerim. Desde entonces lo estoy usando de esa forma, pero no había podido poner unas instrucciones decentes, aquí están.Para no perder el norte, nuestro objetivo es poder enviar notificaciones vía Hangouts y usar este además para enviar ordenes de todo tipo a nuestro RaspberryPi.
Empezamos instalando:
apt-get update apt-get install centerim
y ya no hay que instalar más. Antes de seguir, ejecuta al menos una vez centerim con el usuario que va a ejecutarlo automáticamente, para que genere la estructura de archivos necesaria. Tenemos que registrar una cuenta de Gmail en el centerim, así que usaremos una que no tengamos en uso o incluso (it's free!!) crearemos una nueva ¡¡NO USES TU CUENTA PRINCIPAL DE GMAIL!! más que nada porque puedes volverte loco enviándote mensajes a ti mismo ... y además es un poco triste. Para registrar en centerim tu cuenta de Gmail, editamos el archivo /root/.centerim/config y añadimos al final:
jab_nick CUENTA.PARA:RASPBERRY@gmail.com jab_pass clavesuperseguradelamuerte jab_server talk.google.com:5223 jab_osinfo 1 jab_prio 4 jab_ssl 1
Si lo vas a ejecutar con un usuario que no sea root, el archivo config está en el home de dicho usuario. Ahora ejecutamos una vez centerim para que ver todo funciona, he incluso comprobaremos que podemos mandar y recibir mensajes.
Ahora vamos a configurar las respuestas automáticas, para ello editamos el archivo /root/.centerim/external :
%action contestador automagico event msg proto all status all options stdin stdout %exec msg=`cat` /bin/bash /usr/local/bin/contestador.sh $msg
Eso configura centerim para que al recibir cualquier mensaje, ejecute el script contestador.sh pasándole como parámetro el contenido del mensaje. El script /usr/local/bin/contestador.sh lo creamos según nuestras necesidades, un ejemplo puede ser:
#!/bin/bash #programado por Juanmol para http://rsppi.blogspot.com case $1 in espacio) echo "El sistema tiene libre `df -h | grep rootfs | awk '{ print $4,$5 }'`" ;; domo) echo "Ejecutando $@" /bin/bash /usr/local/bin/x10.sh $2 $3 ;; laser) if [ "$2" = "on" ]; then echo "Encendiendo el \"LASER\""; /bin/bash /usr/local/bin/laserdedestruccionmasiva.sh on ; else echo "Desconectando el \"LASER\""; /bin/bash /usr/local/bin/laserdedestruccionmasiva.sh off ; fi ;; *) echo "$1 no lo entiendo, los comandos que entiendo son: espacio, domo, laser" ;; esac
Que yo creo que no necesita explicación. Entre otras cosas lo vamos a usar para mandarle órdenes a nuestro sistema domótico, por Hangouts (GTalk). Si buscas un poco, solo hay una empresa instaladora de domótica que ofrece esto mismo, con su propio sistema cerrado y cobrándote una considerable suma de dinero.
Añadimos esta línea al archivo /etc/rc.local y la ejecutamos tal cual, para que arranque centerim y lo deje en segundo plano:
screen -dmS centerim /usr/bin/centerim
Con esto hemos conseguido que nuestro Raspberry nos hable cuando le preguntamos, si queremos que nos diga cosas sin tener que preguntarle primero, cuando se genera un evento en Asterisk, cuando termina de descargar un torrent, cuando ... lo que sea, simplemente tenemos que ejecutar:
echo "Evento a las: `date`: $contenido" | centerim -s msg -p jab -t CUENTA.DE.DESTINO@gmail.com
Es mucho más fácil y útil. Ya me diréis para que lo vais a usar ;)
Hola, no encuentro la ruta
ResponderEliminarComo root hago nano /. centerim/config y me aparece en blanco que hago mal??
seguramente no haces nada mal. Ejecuta primero centerim, a ver si tiene que generar la estructura de archivos para el usuario root. Tambien la primera vez que lo ejecutas te sale el configurador de cuentas, por si prefieres hacerlo desde ahí, en lugar de tocando el archivo.
EliminarVale creo que faltan pasos
EliminarUna vez instalado pones en el terminal centerim y se te abre un configurado, configuras una cuenta y ya te aparece lo que tu dices
No había visto tu respuesta muchas gracias!!!
EliminarAqui esta de nuevo el pesado
ResponderEliminarpi@raspberrypi ~/.centerim $ ls
actions groups modelist
captcha j3baz4ia6s9zen3rbyh7ncvp42q@public.talk.google.com pid
colorscheme jmorale991@gmail.com sounds
config keybindings
como ves no existe el archivo external pero si que existe el archivo actions y lo tengo de la siguiente forma
http://pastebin.com/pvuZvtC1
existe el archivo contestador.sh y le he dado permisos de ejecucion, pero no hace nada...que me olvido???
vale, joer que bobo estoy, hay que crear un fichero que se llame external y ahi ya puedes poner lo que quieras
Eliminarno te preocupes por insistir, eso demuestra interés. También ha sido un poco culpa mía, porque he explicado el paso a paso teniéndolo ya configurado, por lo que puede que esos archivos que te faltan se hayan generado de alguna otra forma. Esta tarde actualizo el post para que no le pase a nadie más.
Eliminarvale, tengo otro pequeño problemilla
ResponderEliminarcuando intento configurar esto para que cada vez que se descargue un torrent me llegue un hang, no me lo envia (Eso es otra historia que me estoy pegando con ello), pruebo a poner a mano en consola
echo "Prueba" | centerim -s msg -p jab -t loquesea@gmail.com
me llega perfectamente pero luego entra en un bucle y dice todo el rato: "no lo entiendo, los comandos que entiendo son: espacio, domo, laser" Esta asi todo el rato y aunque mate el proceso screen -dmS centerim /usr/bin/centerim si luiego lo arranco de nuevo me vuelve a salir y tengo que reiniciar la rasp para que se solucione
Me imagino que tendria que crear en el script de acciones externas algo que para que no entre en la ultima parte del script no?
eso mismo me ha pasado a mi, por eso pongo en el post que es recomendable usar una cuenta nueva. Lo que te esta pasando es que tienes el usuario registrado en varios sitios o algo tan tonto como tener abierto gmail en el navegador, ya que el chat se activa solo. Prueba crearte una cuenta nueva, cerrar la sesion de esa cuenta en el navegador y dejarla abierta solamente en el centerim.
EliminarGran aporte, lo he probado y va genial. :D
ResponderEliminarBuenas a todos.
ResponderEliminarEntiendo que es muy facil para correr/matar scripts por ejemplo o devolver comandos que uno pueda poner en la consola.
Lo que no termino de darme cuenta es como devolver info sobre aplicaciones especificas u otro tipo de info, como por ejemplo (como dicen mas arriba) como avisar que termino una descarga de torrent.
Veo que Franastor uso como ejemplo
'echo "Prueba" | centerim -s msg -p jab -t loquesea@gmail.com'
No termino de entender (en ese caso) que es el '-p jab -t' o como, partiendo de este ejemplo, puedo hacer lo mismo con el Transmission.
Gracias
Hola, aqui tienes el ejemplo de envío de notificaciones después de terminar un torrent http://rsppi.blogspot.com.es/2012/11/torrents-solucionado.html usa whatsapp, pero para que envíe un Hangout solo tienes que cambiar una linea.
EliminarLo del -p y -t son opciones que el propio centerim pide, en ese caso "protocolo jabber" y en -t pones el destinatario del mensaje. Tu ve poco a poco ¿te envía mensajes?
Gracias por tu respuesta.
EliminarPuedo enviar y recibir mensajes. El problema que tengo es que no puedo ejecutar el centerim al inicio.
Podrías poner como debería quedar el rc.local completo?
Por otro lado, invito a todos a postar su "contestador.sh" para poder compartir que hace cada uno y generar ideas en los demás.
Para ejecutar centerim al inicio, tienes que añadir la línea:
Eliminarscreen -dmS centerim /usr/bin/centerim
al archivo /etc/rc.local Asegúrate de tener instalado 'screen'.
Y que es el programa 'screen'?
EliminarNo puedo hacer un 'update-rc.d defaults' o similar?
pos un pograma ;)
Eliminarapt-get install screen
lo que ejecutes despues de screen , lo dejas en segundo plano. Si buscas screen en el blog verás que se usa con bastante frecuencia.
Para usar update-rc.d, con un script que tu mismo hagas, necesitas ... ser un maquina ;)
juan mol cual es tu email soy nuevo en esto y queria ver si podria consultarte algo mi email es netzaq80@gmail.com
ResponderEliminarHola, a la derecha tienes un formulario de contacto, el link de facebook, google+ y twitter. Pregúntame lo que quieras por ahí y así aprendemos todos.
EliminarHola,
ResponderEliminaryo no encuentro el directorio /root/.centerim, ni el /pi/.centerim, configuro centerim desde ssh y soy capaz de enviar y recibir mensajes, pero no encentro la ruta que indicas...
prueba ejecutar centerim con el usuario que vaya a usarlo, te sale un asistente y te genera los archivos.
ResponderEliminarYa lo he hecho y nada... ejecuto centerim con el usuario pi desde ssh y nada. Y como ya he dicho, configuro centerim desde ssh y todo muy bien, pero no encuentro el archivo de configuración...
Eliminaro_O cuando ejecutas por primera vez centerim te genera los archivos, seguro. Prueba con el asistente, a ver si así se deja. Tienes que ir a la parte de jabber y poner la misma configuración que explico en el post.
EliminarBuenas Juan Mol, acabo de seguir este tutorial. Lo que me pasa es que cuando ejecuto screen -dmS centerim /usr/bin/centerim
ResponderEliminarNo se me ejecuta el centerim... la linea no da error, pero no se me conecta la cuenta que tengo configurada. cuando miro las sesiones me sale 7393.centerim:detached
Alguna idea??
Este comentario ha sido eliminado por el autor.
Eliminarscreen es para dejarlo en segundo plano. Antes de nada, asegúrate de no tenerlo en marcha, prueba con "ps aux | grep -i centerim" si sale algo, mátalo con kill.
Eliminarprueba ejecutar después:
screen centerim
para salir pulsa ctrl+a d
con eso lo dejas en segundo plano. Para que se lance con el sistema usamos las opciones -dmS, que también deberían funcionarte.
Prueba y me cuentas.
Oh! muchas gracias por la respuesta tan rápida. Mientras respondías he toqueteado todo lo toqueteable (de nuevo) y me he dado cuenta de que lo estaba ejecutando sin el usuario root. Ahora en el /etc/rc.local he puesto sudo screen -dmS centerim /usr/bin/centerim y me funciona!
EliminarGracias!!
Hay otra cosita que no me sale, y es que cuando intento:
ResponderEliminarsudo echo "probando probando" | centerim -s msg -p jab -t micorreo@gmail.com
Me dice:
event sending error: error creating directory for the contact
Es lo único que me falta para tener el post funcionando al 100%! tienes idea de que es lo que estoy haciendo mal??
pues me temo que tiene que ser culpa de los permisos otra vez. Lo primero, asegúrate de tener a la persona a la que vas a enviar las notificaciones en la lista de direcciones. Después de eso lo mas fácil es que hables a través de centerim al menos una vez con ese contacto. Pero ya te digo que tiene pinta de seguir siendo problema de permisos.
EliminarA ver, te explico lo que he hecho ahora y cual ha sido el resultado, para empezar he cambiado los permisos " a saco" de las tres cosas que he modificado, no se si he hecho bien haciéndolo así :S
Eliminar$ sudo chmod 777 /root/.centerim/config
$ sudo chmod 777 /root/.centerim/external
$ sudo chmod 777 /usr/local/bin/contestador.sh
despues he ejecutado centerim y he enviado un mensaje desde mi correo personal, y me llega el mensaje a la cuenta de la raspberry, y viceversa. Luego he entrado desde la rasbperry a editar el único contacto que tiene (mi correo personal) y he visto que en el apartado correo no habia nada, así que he añadido mi correo personal. ahora está así:
https://www.dropbox.com/s/n7ks5f7etcy9nyk/Sin%20t%C3%ADtulo.png
He vuelto a probar el comando: pi@raspberrypi ~ $ sudo echo "probando probando" | centerim -s msg -p jab -t micorreo@gmail.com
y me salta el mismo error, así que he dicho, pues... si es por permisos... vamos a darle permisos a lo bestia, y he hecho esto: sudo chmod -R 777 /root/.centerim
sigue petando: event sending error: error creating directory for the contact
:(
No se si funcionará en el Raspberry o no, pero a mi en un debian wheezy (en un pc) también me daba este error cuando lo ejecutaba al inicio en el fichero /etc/rc.local. Para solventarlo después de reiniciar el equipo he ejecutado el comando siguiente: screen -r centerim
EliminarEsto hace que se muestre la ventana de la aplicación que se ejecuta en la terminal virtual. Ahora le configuras de nuevo los datos que necesites. Cuando termines sal (pulsando la tecla q). Reincia de nuevo a ver si ahora te funciona.
Espero que te sirva.
Saludos,
Hola, ante todo felicidades siempre sorprendes, seria una caña que cuando le envies las ordenes a las raspberry pueda hablarlo por los altavoces, por ejemplo una opcion extra en el menur que sea Di lo que sea, y en las raspberry por los altavoces dijese: lo que sea.
ResponderEliminarestuve mirando voces digitales pero ivan mal y lentisimo, no se entendia.
ya me contaras si se puede
gracias
no seria complicado:
Eliminartts )
texto=$(echo $@ | sed 's/tts\ //g')
echo "reproduciendo $texto"
wget -F -U "Mozilla/5.0 (X11; U; Linux x86_64; pl-PL; rv:2.0) Gecko/20110307 Firefox/4.0" "http://translate.google.com/translate_tts?tl=es&q=$texto" -O /tmp/tts.mp3
mplayer /tmp/tts.mp3
;;
con eso y unos altavoces ...
Genial como siempre!!! lo acabo de añadir y funciona perfecto, reproduce sin problemas y con una voz mucho mas limpia de lo que esperaba mil gracias campeón
EliminarJuan de lujo me encanta, he añadido algo de codigo para que cuando reproduces un texto no me envie la salida del fichero que suele ser algo largo y no interesa, añado en la linea de mplayer /tmp/tts.mp3 > /dev/null 2>&1 y asi unicamente te dice reproduciendo $texto y el resto no aparece :)
Eliminarmil gracias
Lo siento pero por mas que ejecuto el centerim no me genera los archivos de configuracion.
ResponderEliminarBuenas Juan mol, gracias por este magnífico blog. Mi problema es el siguiente, quisiera que cuando se descargara un torrent me mande un hang, vamos como Franastor, pero al hacer la prueba con:
ResponderEliminarecho "Prueba" | centerim -s msg -p jab -t loquesea@gmail.com
Me sale:
mensaje a [jab] f.javi.fm@gmail.com ha sido colocado en cola
y no me lo envía, ¿Por qué podría ser?
la verdad es que no sabría decirte. He configurado desde 0 el centerim en otro Raspberry recién instalado y me funciona perfecto, con estas mismas instrucciones. Mira los logs a ver si nos da una idea del fallo.
EliminarMe pasa exactamente igual. Ahí me he quedado atascado :S
EliminarY en los logs no aparece nada
Es curioso, yo ayer lo hice desde cero, y al principio me salió ese error, hice un apt-get update y ahora cuando ejecuto el código me vuelve a salir: event sending error: error creating directory for the contact
EliminarHola, a mi me pasaba lo mismo y lo solucione de esta forma.
EliminarProbar a mandar un hangout desde vuestra cuenta normal hasta la que tenéis en el Raspberry utilizando gmail o google+ .
Después ejecutar centerim en la consola del Rasp. Si habéis configurado bien centerim y se conecta al servidor, os aparecerá el contacto que os manda el mensaje a la izquierda.
Sin entrar a ver el chat, pulsar la tecla "?" o F2 -> User's Details. Ahí aparece un alias del tipo XXXXXXXXXXXXXXXXX@public.talk.google.com. Probar a mandar un mensaje a esa dirección.
Gracias!
Eliminarhola tengo una duda el archivo /root/.centerim/external , no se me crea hago un find de ese de archivo y nunca lo encuentra D:, alguna idea?, ya inicie el programa y se crearon un par de archivos config entre otros, gracias de antemano :D
ResponderEliminarEse es un archivo que tienes que crear tú. Sudo nano /root/.centerim/external
ResponderEliminarSe puede mandar imagenes desde centerim? serial un punto...
ResponderEliminarno se puede todavía :-/
Eliminargracias por contestar :) es una pena seria ya la caña pero bueno esperaremos :)
EliminarMuchas gracias por el blog. Este tema de centerim me pareció muy interesante cuando lo leí antes de vacaciones y ya lo tengo funcionando aunque pendiente de pulir pero por ejemplo para que el minidlna haga un force-reload desde el móvil o la tablet me va muy bien.
ResponderEliminarHe visto otra utilidad distinta a screen que seguramente ya la conocerás pero por si acaso la pongo por aquí: es "Tmux", la verdad que está muy bien también. La pega que le veo de momento es que consume más recursos o eso me ha parecido a mí. Por si alguien quiere mirar algo más hay un tutorial disponible aquí http://it-ebooks.info/book/2709/
Saludos,
Chus
Ante todo agradecer el post. Me ha ayudado mucho.
ResponderEliminarVeo que el tema de el uso de screen para ejecutar en segundo plano es bastante común... He probado, tal y como describes, a agregar la línea "screen -dmS centerim /usr/bin/centerim"
en "/etc/rc.local" pero, cada vez que reinicio la rpi no me arranca el servicio y tengo que hacerlo manualmente.
¿Algún consejo?
Gracias!
prueba con:
Eliminarsudo screen -dmS centerim /usr/bin/centerim
o bien con:
screen -dmS centerim sudo /usr/bin/centerim
a ver si hay suerte.
gracias, he probado con el primer SUDO y me funciona correctamente. gracias.
EliminarCorrecto! Me ha funcionado con: sudo screen -dmS centerim /usr/bin/centerim
ResponderEliminarHago un aporte al archivo /root/.centerim/external
msg=`cat`
msg=`echo "$msg" | tr '[:upper:]' '[:lower:]'`
Con esto pasamos el mensaje a minúsculas para luego hacer las comparaciones. El Hangouts desde movil siempre empieza escribiendo en mayúsculas!
Perfecto, lo que estaba buscando! (pongo un aporte mio mas abajo)
EliminarHola tengo un problema, si yo ejecuto centerim desde la terminal y mando espacio me funciona todo, mi problema reside en que en segundo plano no me funciona y tengo añadido la linea sudo screen -dmS centerim /usr/bin/centerim en el archivo rc.local pero no me funciona.
ResponderEliminarPorque puede ser?
graciass
me lo comentan mucho y la verdad es que tiene perdido, mira primero en los logs a ver si hay algo raro. Algo tengo que hacer yo, que se me pasa explicar.
EliminarPrueba tambien una tonteria, cuando estes como root, ejecuta passwd, ponle una clave a root (que puede ser la misma de ahora) y reinicia a ver si hay suerte.
Puedes hacer algo como esto:
Eliminar1.- Crear en /etc/ini.d/ un fichero centerim, similar a este:
https://gist.github.com/vrdominguez/7219379
2.- Dale permisos de ejecución:
chmod +x /etc/init.d/centerim
3.- Ejecuta el comando:
update-rc.d centerim defaults
La próxima vez que reinicies tu raspberry ya debería de estar funcionando el centerim
Buenas tardes, creo haber encontrado la respuesta :) (op por lo menos en mi caso en particular)
EliminarEn mi caso, ejecutándolo normalmente funciona a las mil maravillas, ahora bien, cuando lo añado al fichero /etc/rc.local no se me ejecuta, porque?
La respuesta es facil, en mi caso, realmente si se ejecuta, pero con una peculiaridad, si haces:
sudo screen -x centerim
podras ver que ocurre. En mi caso, me aparecia el asistente del comienzo. pues bien, esto es se soluciona indicando al centerim que tiene que escoger al directorio de /root/.centerim.
En el /etc/rc.local hay que añadir una opcion al centerim:
screen -dmS centerim /usr/bin/centerim -b /root/.centerim
Si te fijas, tienes que tener una carpeta llamada .centerim en la raiz del disco. Eliminar sudo rm -rf /.centerim para eliminar esta carpeta y no tenerla donde no debe.
Ahora el centerim coge de forma predeterminada la ruta /root/.centerim.
;)
Ahora que lo he leido, esto de ir escribiendo a ratos no es bueno para el que lo lea. Si hay alguna duda comentarmela y lo explico mejor. ;)
EliminarMi aporte, meterle identificacion al contestador (y una clave para poder ejecutar comando aun estando sin identificar):
ResponderEliminarhttps://gist.github.com/AlexandreGZ/7200970
Hola
ResponderEliminarCuando le envio un mensaje al centerim (que se esta ejecutando con screen) me devuelve un mensaje con un contenido como este:
1cmcr6o5k7x6x5ql7loddfon5e@public.talk.google.com
solo eso
¿que puede estar pasando?
al probar este comando.
ResponderEliminarsudo echo "probando probando" | centerim -s msg -p jab -t xxxxxxx@gmail.com
me sale:
message to [jab] xxxxxxx@gmail.com has been put to the queue
por favor me pueden ayudar.
Gracias
Fantastico post.
ResponderEliminarAyer estube trasteando con el centerim.
Aunque tengo que ver mas profundamente como funciona, lo que no me quedo claro es como enviar un mensaje a un un usuario de google, poniendo el correo como aquí:
echo "Evento a las: `date`: $contenido" | centerim -s msg -p jab -t CUENTA.DE.DESTINO@gmail.com
No lo envía, se queda "offline", para enviar-lo y que centerim establezca una conversación, antes la tienes que tener activa o hacerla desde un terminal de teléfono o desde la web
La segunda cosa que no se si se puede hacer, es enviar mensajes a grupos, en el Hangout tengo creado un grupo de dos personas, pero en el Centerim solo veo la opción de enviar un mensaje multiple
Felicidades por el post y el blog
Estupenda aportación, tiene mucho potencial esto, a mis favoritos el blog.
ResponderEliminarGracias por compartir el conocimiento.
La verdad es que tu blog es realmente interesante. Esta entrada y la de motion me han ayudado un monton. Gracias!
ResponderEliminarHola!
ResponderEliminarMuy interesante tu blog Juan, intentaré hacer todos los proyectos posibles que has publicado... :D
Acabo de conseguir este tuto y quería comentar una cosa: A los que teneis problemas porque centerim no os arranque al principio al ponerlo en el rc.local... comprobad que la orden que pongáis lo hacéis ANTES del exit (0), yo lo tenía despues y obviamente, el script no llega más allá del exit.
Y otra cosa importante! esta mañana iniciando sesión con centerim y mi dirección personal para probarla, no se como, me ha modificado la mayoría de contactos de google, dejandolos a la mayoría con la dirección de correo y no el nombre. Para solucionar esto, entrad en vuestro gmail, cambiais arriba a la izquierda a Contactos, y desde el menú "Más", pulsais sobre Restablecer contactos, Google hace copia del estado de los contactos durante 30 días (me ha salvado, la verdad ;))
Gracias por estos tutos, Juan!
pero no uséis vuestra cuenta principal para las pruebas!!! ;)
EliminarHola Juan,
ResponderEliminartengo asterisk con spa3102, funcionando bien. me gustaría agregar la notificación del callerid con centerim, y que me llegue el mensaje del numero que entro la llamada. ya que por lo regular no estoy en casa.
Creo que donde iria la linea para la notificacion es en:
exten => s,1,NoOp(llamada analogica entrante del numero: ${CALLERID(num)})
same => n,Dial(SIP/1002&SIP/Juanlu,${TIMEOUT},${opc})
same => n,Goto(nulo,s,1)
como seria Juan?
gracias y felicidades por tu labor.
exten => s,1,NoOp(llamada analogica entrante del numero: ${CALLERID(num)})
Eliminarsame => n,NoOP(${SHELL(echo "llamada recibida del ${CALLERID(num)}" | centerim -s msg -p jab -t CUENTA.DE.DESTINO@gmail.com)})
same => n,Dial(SIP/1002&SIP/Juanlu,${TIMEOUT},${opc})
same => n,Goto(nulo,s,1)
o puedes afinar un poco más:
exten => s,1,NoOp(llamada analogica entrante del numero: ${CALLERID(num)})
same => n,Dial(SIP/1002&SIP/Juanlu,${TIMEOUT},${opc})
same => n,ExecIf($[ "${DIALSTATUS}" = "NOANSWER" ]?NoOP(${SHELL(echo "llamada recibida del ${CALLERID(num)}" | centerim -s msg -p jab -t CUENTA.DE.DESTINO@gmail.com)}))
same => n,Goto(nulo,s,1)
Gracias Juan,
EliminarNo salen los mensajes con la linea que agregamos, centerim con screen si esta funcionando correctamente ya que realize las pruebas por separado.
donde podria detectar la falla?
gracias nuevamente.
tendria que ver el log. Conectate a la consola de asterisk con:
Eliminarasterisk -r
en la consola ejecuta:
core set verbose 10
y llama al spa, si hay algun fallo tiene que salir ahí, copia lo que ves y pegalo en pastebin, a ver que puede ser.
Juan, lo que arroja:
Eliminarhttp://pastebin.com/index/WtY60Kca
saludos. gracias
queda claro que el error es "event sending error: error creating directory for the contact", que me da a mi que es básicamente el mismo error que le da al resto de la gente, no se esta ejecutando con el usuario adecuado o con el directorio correcto. Prueba estas cosas:
Eliminarexten => s,1,NoOp(llamada analogica entrante del numero: ${CALLERID(num)})
same => n,NoOP(${SHELL(echo "prueba 1 llamada recibida del ${CALLERID(num)}" | centerim -s msg -p jab -t CUENTA.DE.DESTINO@gmail.com)})
same => n,NoOP(${SHELL(echo "prueba 2 llamada recibida del ${CALLERID(num)}" | sudo centerim -s msg -p jab -t CUENTA.DE.DESTINO@gmail.com)})
same => n,NoOP(${SHELL(sudo echo "prueba 3 llamada recibida del ${CALLERID(num)}" | centerim -s msg -p jab -t CUENTA.DE.DESTINO@gmail.com)})
same => n,Dial(SIP/1002&SIP/Juanlu,${TIMEOUT},${opc})
same => n,Goto(nulo,s,1)
prueba eso primero, si sigue sin ir, dejalo tal cual y usa lo que +Fran Diaz dice un par de comentarios mas abajo, arranca el centerim con:
screen -dmS centerim /usr/bin/centerim -b /root/.centerim
y vuelve a probar. Si sigue sin ir, deja los cambios tal cual te lo he puesto y vuelve a mandar el el verbose.
hola Juan,
Eliminaraplique lo de +Fran Diaz y realizo la prueba, sequimos sin recibir mensajes, te dejo el verbose que me solicitas:
http://pastebin.com/bnMvKSCg
gracias
Buenas !!, no pude responder porque estuve de viajes :). Conseguiste solucionar el problema??
EliminarHola Franz,
Eliminarlogro que se ejecute con root desde el inicio. pero mi asterisk no logra mandarlo aun. :(
gracias.
Buenos días!
ResponderEliminarTras seguir al pie de la letra tu mega manual y conseguir que funcione el envío de mensajes desde centerim y el contestador, se me plantea el siguiente error:
Si pruebo "screen -dmS centerim /usr/bin/centerim" directamente en la consola, me arranca centerim y ya responde a los mensajes automáticamente, sin embargo, no me hace ni caso si le copio esa misma orden en el rc.local, es decir, si reinicio la rasp, tengo que escribir manualmente ese comando en la consola para que todo vuelva a funcionar...
Copio el contenido de rc.local por si alguien me puede echar un cable:
GNU nano 2.2.6 File: /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
screen -dmS centerim /usr/bin/centerim
echo "hola, bienvenido!"
exit 0
Por cierto, el "hola, bienvenido", lo ejecuta sin problemas.
Gracias de antemano por la ayuda!
Saludos.
Eso mismo me ocurrió a mi y lo expliqué un poco más arriba :). Te copio mi respuesta y espero que te ayude:
EliminarBuenas tardes, creo haber encontrado la respuesta :) (op por lo menos en mi caso en particular)
En mi caso, ejecutándolo normalmente funciona a las mil maravillas, ahora bien, cuando lo añado al fichero /etc/rc.local no se me ejecuta, porque?
La respuesta es facil, en mi caso, realmente si se ejecuta, pero con una peculiaridad, si haces:
sudo screen -x centerim
podras ver que ocurre. En mi caso, me aparecia el asistente del comienzo. pues bien, esto es se soluciona indicando al centerim que tiene que escoger al directorio de /root/.centerim.
En el /etc/rc.local hay que añadir una opcion al centerim:
screen -dmS centerim /usr/bin/centerim -b /root/.centerim
Si te fijas, tienes que tener una carpeta llamada .centerim en la raiz del disco. Eliminar sudo rm -rf /.centerim para eliminar esta carpeta y no tenerla donde no debe.
Ahora el centerim coge de forma predeterminada la ruta /root/.centerim.
;)
Lo mismo me ocurrió en el otro post. Por motivos de trabajo no puedo contestar muy detalladamente pero la cuestión es que centeim se instala como root, lo cual creará la carpeta de configuración en esa ruta /root. Claro, cuando se ejecuta en el rc.local no se le indica la ruta de los ficheros de configuración y por eso me saltaba el asistente.
EliminarAsí que viendo el manual de centerim con la opción -b se le indica el directorio donde se encuentra los ficheros de configuración.
Espero que te sirva y te solucione tu rpoblema.
Un saludo de nuevo!
Ante todo, gracias por tu respuesta, Fran. Siento no haberme dado cuenta de que ya habías tratado este tema más arriba,
EliminarLamentablemente, he probado con la solución que me has propuesto y tras varios reboot, sigo sin ver la cuenta de hangout de mi rasp, online.
La única forma que tengo de que funcione es arrancar una consola y ejecutar gráficamente centerim.
En fin, seguiré buscando la solución y, cuando la encuentre, la postearé aquí.
Gracias de nuevo!
Vamos a ir viendolo pasao a paso a ver que le puede ocurrir :).
EliminarHaz una cosa, con la línea añadida en el /etc/rc.local para iniciar el centerim, cuando reinicies la raspberry, entra en consola y ejecuta sudo screen -x centerim
Con esto, se muestra la pantalla "virutal" en la que se está ejecutando centerim. y vamos a comprobar si se ha ejecutado y espero que esté en la pantalla de configuración de las cuentas :)
Haz esto y comenta lo que te ocurre.
otra cosa, vamos a ver si tienes el directorio .centerim en la carpeta /root. para ello ejecuta este comando ls -la /root , con esto se nos mostrará los archivos ocultos.
Ya me cuentas y tranquilo que esto lo solucionamos ;)
Con gente así, da gusto!. Gracias Fran :)
EliminarHe ejecutado sudo "screen -x centerim" y me aparece la ventana de CenterIM configuration, sin embargo, el usuario de hangouts sigue indicando "XXX no está en Hangouts ahora. Verá tus mensajes más tarde" y no responde a los mensajes.
Al comprobar tu segundo consejo es cuando he descubierto el error. La carpeta .centerim no estaba en /root sino en /home/pi. He procedido con un sudo mv /home/pi.centerim /root/... reboot y... FUNCIONA!
No sé cómo agradecértelo... MILLONES DE GRACIAS, Fran!!!!!
Para eso estamos y si podemos ayudar pues mejor que mejor :)
EliminarHola a todos:
ResponderEliminarMi archivo de history crece de forma continua. Se encuentra en la carpeta ./centerim
¿Os pasa a vosotros también?
Debo comentar que soy capaz de hacer que me responda las raspi pero no me manda ningún mensaje por línea de comando. ¿Será eso?
Hola:
ResponderEliminarNo consigo que funcione el enviar mensajes desde comandos, ni como root ni como otro usuario. Sí que me funciona cuando desde otra cuenta le mando un mensaje, me responde según el script contestador. También si entro en centerim puedo mandar mensajes.
En rc.local tengo puesto sudo screen -dmS center /usr/bin/centerim -b /root/.centerim/
¿Alguna sugerencia?
Gracias, Rafa vidal
Me auto-respondo, funciona. Debió ser problema de mi red. Gracias por el artículo.
ResponderEliminarUna pregunta, ¿a alguien más le pasa que se quedan procesos zombie con cada chat que se le manda al gtalk?
ResponderEliminarGracias
Hola:
ResponderEliminarPor si alguien necesita mensajes con acentos, eñes, etc existe centerim-utf8 , el archivo config que yo uso es
mailcheck
screensocketpath /var/run/screen
chatmode icq yahoo msn aim irc jab gg
convert icq yahoo msn aim irc jab rss lj gg infocard
fromcharset sp1250
tocharset utf-8
nobidi
smtp localhost:25
browser mozilla
ptp 0-0
protocolormode
sort_by_status_and_activity
left_panel_width 25
log_panel_height 6
chat_panel_height 5
defaultauthmessage Please accept my authorization to add you to my contact list.
jab_nick tu_nick
jab_pass tu_password
jab_server talk.google.com:5223
jab_osinfo 1
jab_prio 4
jab_ssl 1
jab_status o
Un saludo
He tenido bastantes problemas para hacer que me funcionase y además no me mola tener la aplicación en segundo plano siempre abierta. El uso que yo le doy es mandar hangouts desde un script. Finalmente he optado por usar la librería XMPP desde Python. Dejo el enlace por si a alguien le es de utilidad: http://www.administracion-linux.com/2014/07/enviar-mensajes-por-hangout-desde.html
ResponderEliminarestimado, como puedo hacer una video llamada desde la rapberry hacia hangout de gmail. Saludos
ResponderEliminarNo se puede :( para la voz y video Google tomó la malísima decisión de abandonar xmpp jingle y jabber. Antes si se podía, registrando el canal con Asterisk.
EliminarExcelente!!! tiene algunos puntos que confunden, pero ya quedo ok para controlar las luces de mi casa...
ResponderEliminarGracias!