Newsgroup: it.tlc.telefonia.voip
Titolo: Asterisk, Fonera e Domotica

Venuto a conoscenza del comando System() di Asterisk da un messaggio di  
qualche giorno fa qui sul NG e avendo a disposizione un centralino  
Asterisk casalingo installato su una fonera, ho fatto 1+1=2
Configurazione:
1 fonera con Asterisk 1.4
3 fonere con uscite GPIO connesse a relé che comandano luci e prese(push  
simula il pulsante, on accende, off spegne).
Dal cordless, componendo numeri prestabiliti, si accendono magicamente le  
luci e/o le prese.
Il punto complicato è stato sostituire "dropbear" con "OpenSSH" nella  
fonera con i GPIO, in quanto dropbear non mi accettava il passaggio dei  
comandi via ssh senza password, cioè con autenticazione chiave  
pubblica/privata.
Ora mi rimane un dubbio, perché le chiamate mi terminano con errore SIP  
503?
E un'altra ulteriore domanda... vorrei poter chiamare un interno che poi  
resta in attesa dei comandi da eseguire in sequenza (push on off, finché  
non termino la chiamata, è possibile?
La parte relativa al "GPIO 0" per le 3 fonere nel mio extensions.con è  
questa:
[domotica]
exten => _211,1,System(push1 0)
exten => _211,n,Hangup()
exten => _212,1,System(on1 0)
exten => _212,n,Hangup()
exten => _213,1,System(off1 0)
exten => _213,n,Hangup()
exten => _311,1,System(push2 0)
exten => _311,n,Hangup()
exten => _312,1,System(on2 0)
exten => _312,n,Hangup()
exten => _313,1,System(off2 0)
exten => _413,n,Hangup()
exten => _411,1,System(push3 0)
exten => _411,n,Hangup()
exten => _412,1,System(on3 0)
exten => _412,n,Hangup()
exten => _413,1,System(off3 0)
exten => _413,n,Hangup()
e questo è un esempio di script push1 sulla Fonera con Asterisk:
#!/bin/sh
ssh 192.168.0.7 push $1
exit
questo è lo script push sulla Fonera 1 con i relé:
#!/bin/sh
echo 1 > /proc/gpio/$1_out
usleep 500000
echo 0 > /proc/gpio/$1_out
exit

 non termino la chiamata, è possibile?
Ho risolto con un DISA, non è un granché, ma funziona:
[from-internal]
exten => *,1,Answer()
exten => *,2,Set(TIMEOUT(digit)=10)
exten => *,3,Set(TIMEOUT(response)=10)
exten => *,4,DISA(no-password|domotica)
exten => i,n,Hangup
exten => t,n,Hangup
[domotica]
exten => 211,1,System(push1 0)
exten => 212,1,System(on1 0)
exten => 213,1,System(off1 0)
exten => 311,1,System(push2 0)
exten => 312,1,System(on2 0)
exten => 313,1,System(off2 0)
exten => 411,1,System(push3 0)
exten => 412,1,System(on3 0)
exten => 413,1,System(off3 0)
exten => _XXX,n,Goto(from-internal,*,4)
Sono soddisfatto ;-)

 ha scritto nel messaggio 
news:op.ullhjdulz1f8bn@amdxp2400...


 remoto, giusto?
Sì, oltre che da remoto, anche comodamente seduto sul divano...
... da casa uso il cordless, chiamando * e dall'esterno ho destinato un  
numero Eutelia con richiesta di PIN.
Comando qualsiasi cosa, per ora le luci... ma ogni fonera ha 6 uscite  
utilizzabili (ne avrebbe altre 2 ma perderei il tastino di reset).
Vuol dire che posso scegliere. Nulla mi vieta di comandare con crontab o  
con un numero di interno, l'accensione della ciabatta collegata ai vari  
alimentatori e/o tv, dvd, per farli spegnere completamente di notte.
La cosa bella è che sono connesse via wifi alla rete, in modalità  
client... quindi stanno dentro le scatole di derivazione senza cavo di  
rete collegato.


Ohhhhh, fermo la'  !!!
Qua ci vuole una bella descrizione del sistema e pure con lo schemetto per 
riprodurlo
O pensavi di cavartela buttando il sassolino nel newsgroup ?
Esso ti rinbocchi (rimbocchi ?? rintocchi ???) le maniche e ci spieghi bene 
bene come hai messo l'asterisco nella fonera e cosa della fonera hai 
collegato alle luci
E per infinire, ci spieghi come le fonere gomunigano col sistema bringibale 
e soprattutto chi/cosa e' il sistema bringibale
Ecco
Ciao
RobertoA

 bene come hai messo l'asterisco nella fonera e cosa della fonera hai
Ecco, piano piano spiego tutto, per ora come ho configurato le fonere e  
come ho messo Asterisk:
- 1 AccessPoint (opzionale)
- 1 fonera per Asterisk
- 1 o più fonere per controllo luci/prese o qualsiasi altra cosa (max 6  
uscite per ogni fonera)
Ho montato su tutte le fonere il firmware Legend 4.5 da qui:
http://fon.testbox.dk/Legend/pre4.5U-STABLE/
Mi sono collegato in ssh alle fonere e ho fatto queste operazioni:
mv /www/cgi-bin/webif/info.sh /www/cgi-bin/webif/info.awx
chmod 755 /usr/bin/swap
ipkg update
ipkg remove aircrack-ng
ipkg remove aircrack-ptw
ipkg remove mdk3
il primo comando per correggere un errore sull'interfaccia grafica, il  
secondo per un errore di permessi, il terzo per aggiornare la lista delle  
applicazioni installabili e il resto per rimuovere alcune utility per il  
crack a noi non utili.
Ho poi scelto di montare una SD nella fonera dedicata ad asterisk, ma non  
è indispensabile. Serve se si vuole installare anche il pacchetto dei  
suoni in italiano, segreteria telefonica e qualt'altro...
... se si decide per la SD, si installa anche questo pacchetto:
http://fon.testbox.dk/packages/mmc/phrozendriver/2.6.21.5/26215-3pinfon2100Driver14_143.ipk
e si salda la SD come da foto, con connessione a 3 pin:
http://fon.testbox.dk/packages/mmc/mmcmodinfo/2100mmc.jpg
A questo punto, se si decide per la SD, si attiva anche il file di swap,  
digitando sempre in SSH, "swap" rispondendo alle domande che fengono  
fatte. (Io ho creato un file di swap di 8Mb).
Si installerà la versione completa di asterisk digitando:
ipkg install asterisk14
ipkg install asterisk14-sounds
Se invece non si ha la SD, potrebbe risultare troppo grande la versione  
completa, per cui si installerà la versione mini:
ipkg install asterisk14-mini
oppure scegliere di non usare la parte wireless su questa fonera e  
disinstallare anche wpa-supplicant, wireless-tools, kmod-madwifi e altre  
applicazioni non utili in questo caso: kmod-nls-base, kmod-nls-cp437,  
kmod-nls-iso8859-1, cifsmount, swap-utils.
Dovrebbe essere così possibile installare anche la versione completa.
Nelle altre fonere, ho voluto impostare il modo client, così sono  
indipendenti, ovvero si collegano alla mia rete, in wireless...
... per fare ciò c'è un utility in firmare Legend: "clientmode"
Farà diverse domande e alla fine farà riavviare la fonera già collegata al  
vostro AP.
Ho impostato la fonera con Asterisk con IP 192.168.0.4
Le fonere domotiche con IP 192.168.0.11 per Domotica1, 192.168.0.12 per  
Domotica2, 192.168.0.13 per Domotica3.
Per Asterisk, ho aggiunto in /etc/init.d/custom-user-startup una riga alla  
fine con "asterisk &" così ad ogni riavvio si avvia da solo Asterisk.
Fine prima parte, nella seconda puntata, la configurazione di Asterisk, a  
seguire l'avventura con i GPIO e i collegamenti in OpenSSH...

interessante ...peccato perï¿œ che non ho capito una mazza :)
ma praticamente che cosa hai realizzato?