Quello che vi mostrerò è un pezzo di codice per extensions_custom.conf che non fa altro che rispondere a una chiamata e richiedere un pin.

[pin_auth]
exten => s,1,Answer
exten => s,n,Set(VALIDPIN=1234)
exten => s,n,Read(PIN,vm-password,,,,)
exten => s,n,Gotoif($[${PIN}=${VALIDPIN}]?valid)
exten => s,n,NoOp(PIN:NOK)
exten => s,n,Wait(1)
exten => s,n,Hangup
exten => s,n(valid),NoOp(PIN:OK)
exten => s,n,Wait(1)
exten => s,n,Hangup
exten => h,1,Hangup

Nel Dettaglio:

    • Risponde
    • Si mette in memoria il PIN (1234)
    • Parte una voce che dice “Password”
    • Aspetta il PIN digitato
    • Controlla se il PIN digitato è uguale a quello in memoria e di conseguenza risponde OK o NOK
    • Chiude la chiamata

Su asterisk poi si può agganciare questa “App” a un interno chiamabile, ovviamente il codice lo si può modificare a piacimento per effettuare altri tipi di servizi, io l’ho applicato per fare una “Strong Authentication”:

    • l’utente si logga su una pagina web, se l’utente e la password sono riconosciuti, viene chiamato il telefono dell’utente e richiesto il PIN (diverso per ogni utente), se il PIN è corretto vieni autenticato se no ricevi un bel “Access Denied”.

Per far si che il servizio web faccia scaturire la chiamata uso un file “numero.call generato dalla pagina in php con owner e gruppo asterisk e che viene messo dentro /var/spool/asterisk/outgoing

Il contenuto del file è questo:

Channel: DAHDI/0/123456789
Context: from-internal
Extension: 1000
Priority: 1

Cosa avviene:

    • asterisk vede il file e occupa il canale DAHDI 0 per chiamare il numero 123456789 e appena risponde ci cortocircuita l’interno 1000 che non è altro che l’“App” per la richiesta del PIN.

See you! Bye! :-)

Linux Day: the day after

Linux Day!Il linux day è finito e posso tirare le somme di quanto fatto..nel post precendente avevo scritto del mio non intervento sul voip..ma non ho fatto in tempo a pubblicare il post che ero finito nel cartellone dei talk: Omar: VoIP per tutti! Alla fine mi sono organizzato alla meglio e su una macchina dove RedHat 6.2 “la macchina da bucare :-)” non si installava ho installato trixbox 2.0 una versione vecchia ma perfettamente stabile e funzionante..per i pochi eletti rimasti nel tardo pomeriggio ho spiegato loro come collegare trixbox a un normale pbx, come collegare in trunking due trixbox, la voicemail e un sacco di altre cose di interessanti..fatto sta..che mi è stato chiesto di presenziare un corso..vedremo col lug di organizzare qualcosa..stay tuned.. :-)

Per la prima volta ho anche messo mano a uno switch della Intel e ad un HP, la configurazione non è facilissima via seriale, ma il reset to factory si :-)

Al Prossimo Linux Day!

Un po’ di link:

Un po’ di me


Omar on Twitter Omar on Facebook Omar on LinkedIn

Eventi


    RomagnaCamp

Qualche foto da Flickr

Calendar

February 2012
M T W T F S S
« Jul    
 12345
6789101112
13141516171819
20212223242526
272829