Newsgroup: it.tlc.telefonia.voip
Titolo: Asterisk e Exec()

Ciao a tutti,
vorrei che, quando ricevo una chiamata dal contesto topolino, mi venga
lanciato un programmino scritto da me, per esempio /pippo/pluto, e a cui
vorrei che in un secondo tempo gli venga anche passato un parametro.
Leggendo Asterisk: tfot, mi è parso che Exec() faccia al caso mio.
Se però scrivo in extension.conf (accontentandomi di chiamarlo senza
parametri):
[topolino]
exten => s,1,Exec(/pippo/pluto)
exten => s,2,Hangup()
il programma non viene chiamato e nel log trovo:
app_exec.c: Could not find application (/pippo/pluto)
Qualcuno sa darmi una dritta, per cortesia?
Molte grazie,
Lorenzo

 app_exec.c: Could not find application (/pippo/pluto)
Tutto normale... quello che ti serve è System(/pippo/pluto) non Exec() 
che è pensato per eseguire un'applicazione del dialplan.
-- 
For a list of all the ways technology has failed to improve the quality 
of life, please press three.
(C) Alice Kahn

 che è pensato per eseguire un'applicazione del dialplan.
Molte grazie! Ho visto che e' anche possibile passare parametri cosi':
System(/pippo/pluto 1 2 3 4 ..) ... magari a qualcuno serve questa
precisazione!
Ancora molte grazie e buon week end,
Lorenzo

 che è pensato per eseguire un'applicazione del dialplan.
Questa cosa mi era sfuggita...
... e l'unico modo per eseguere un'applicazione su di un'altra macchina è  
via ssh?
In un file scipt bash si può richiamarne un'altro remoto?
Sennò si installa asterisk anche sull'altra macchina e si gestisce la cosa  
con degli interni registrati sulla prima macchina?
Mi viene in mente un po' di domotica via telefono...

 cosa con degli interni registrati sulla prima macchina?
Non ti sembra esagerato oltre che macchinoso?
Una cosa semplice potrebbe essere una chiamata a wget puntando ad un 
qualsiasi script su un'altra macchina dotata di un servizio http 
(ricordo che non esiste solo apache) che a sua volta esegue uno 
script/cgi di linguaggio a piacere.


 script/cgi di linguaggio a piacere.
Quadretto:
Immagina una Fonera, quella del progetto FON, la 2100, con su Asterisk.
Immagina che ne ho 2 e che sulla seconda sfrutto le uscite GPIO per  
pilotare una scheda a relé.
Immagina che con una chiamata eseguo uno script sulla seconda fonera  
accendendo una uscita.
Il quadretto è che comando tutte le luci di casa con il cordless e/o col  
cellulare.
Per ora sono riuscito ma solo con la fonera dove c'è Asterisk, ma non mi  
va di stressare il suo hardware, vorrei che gestisse solo Asterisk...
... sto provando con ssh ma chiede la password, uso openssh e ancora non  
sono riuscito a generare la chiave pubblica o privata per passare pa  
password in automatico.
Altro piccolo quesito, una volta che Asterisk ha eseguito lo script, mi  
chiude la chiamata con l'errore 503 (?!?!?)
Grazie 1000!!!
Un saluto

 Sì, effettivamente, poi ti spiego il progettino...
Funzionaaaaaaa!
Sarà anche la via più macchinosa, ma con ssh mi chiedeva sempre la  
password e non riuscivo a passargliela nel System()
Allora:
- Fonera principale con aggiunta di SD 1Gb e swap di 8Mb, Asterisk 1.4.18  
con 29 numerazioni registrate, 5 interni, DISA.
- Fonera secondaria con Asterisk 1.4.18-mini + di app_system.so che nella  
vers. mini non era presente.
I 2 Asterisk connessi tramite SIP, con relative regole di composizione.
Le chiamate ai numeri 2XX, vengono deviate alla seconda fonera, con regole  
in ingresso che puntano a script che comandano le uscite GPIO della  
seconda fonera.
Sulle uscite GPIO dei relé reed che mi vanno ad attivare QUELLO CHE  
VOGLIOOOO!!!
Spettacolo di tecnologia... tra asterisk e domotica passando per le  
fonerine ;-)