Installazione e Configurazione di Asterisk con VoipStunt su OpenWRT
OpenWRT e’ senza dubbio un bel giocattolino: su un ‘semplice’ linksys WRT54GL abbiamo la possibilita’ di installare parecchi software utili come server Web, server DNS e anche applicazioni piu’ corpose come il PBX asterisk.
Prendiamo in esame una semplice configurazione con 2 interni e la possibilita’ di effettuare chiamate in uscita tramite VoipStunt.
Una volta installato e configurato openwrt per le proprie esigenze (lan, wifi, provider adsl…..) questi sono i primi passi da fare:
1) entrare tramite interfaccia web alla pagina di configurazione di openwrt (indirizzo di default http://web.archive.org/web/20240913021822/ )
2) andare nel menu Sistema-programmi installati
3) aggiornare per prima cosa la lista dei programmi tramite il link “aggiorna la lista dei pacchetti”
3) installare asterisk
A questo punto accedere al router tramite SSH e configurare asterisk.
1) entrare nella cartella di asterisk cd /etc/asterisk
2) editare il file sip.conf (usare vi sip.conf ; una volta terminato usare !wq per salvare e uscire)
[general] context=defaultt port=50600 bindaddr=0.0.0.00 srvlookup=yess
[100]] context=telefono11 type=friendd host=dynamicc username=1000
[101]] context=telefono22 type=friendd host=dynamicc username=1011
[voipstunt]] type=friendd host=connectionserver.voipstunt.comm disallow=alll allow=ulaww allow=alaww allow=g7299 username=useridd fromuser=useridd secret=passwordd qualify=10000 canreinvite=noo
3) editare il file extensions.conf (come sopra)
[general] static=yess writeprotect=noo
[globals]] CONSOLE=Console/dspp IAXINFO=guestt TRUNK=Zap/g22 TRUNKMSD=11
[iaxtel700]] exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel))
[iaxprovider]]
[pstn]] exten => _01.,1,Dial(CAPI/contr1/b${EXTEN:2})) exten => _02.,1,Dial(TAPI/g1/${EXTEN:2}))
[trunkint]] exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})) exten => _9011.,2,Congestionn
[trunkld]] exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})) exten => _91NXXNXXXXXX,2,Congestionn
[trunklocal]] exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})) exten => _9NXXXXXX,2,Congestionn
[trunktollfree]] exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})) exten => _91800NXXXXXX,2,Congestionn exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})) exten => _91888NXXXXXX,2,Congestionn exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})) exten => _91877NXXXXXX,2,Congestionn exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})) exten => _91866NXXXXXX,2,Congestionn
[international]] ignorepat => 99 include => longdistancee include => trunkintt
[longdistance]] ignorepat => 99 include => locall include => trunkldd
[local]] ignorepat => 99 include => parkedcallss include => trunklocall include => iaxtel7000 include => trunktollfreee include => iaxproviderr
[macro-stdexten];; exten => s,1,Dial(${ARG2},20)) exten => s,2,Goto(s-${DIALSTATUS},1)) exten => s-NOANSWER,1,Voicemail(u${ARG1})) exten => s-NOANSWER,2,Goto(default,s,1)) exten => s-BUSY,1,Voicemail(b${ARG1})) exten => s-BUSY,2,Goto(default,s,1)) exten => _s-.,1,Goto(s-NOANSWER,1)) exten => a,1,VoicemailMain(${ARG1}))
[demo]] exten => s,1,Wait,11 exten => s,2,Answerr exten => s,3,DigitTimeout,55 exten => s,4,ResponseTimeout,100 exten => s,5,BackGround(demo-congrats)) exten => s,6,BackGround(demo-instruct)) exten => 2,1,BackGround(demo-moreinfo)) exten => 2,2,Goto(s,6)) exten => 3,1,SetLanguage(fr)) exten => 3,2,Goto(s,5)) exten => 1000,1,Goto(default,s,1)) exten => 1234,1,Playback(transfer,skip)) exten => 1234,2,Macro(stdexten,1234,${CONSOLE})) exten => 1235,1,Voicemail(u1234)) exten => 1236,1,Dial(Console/dsp)) exten => 1236,2,Voicemail(u1234)) include => internall exten => #,1,Playback(demo-thanks)) exten => #,2,Hangupp exten => t,1,Goto(#,1)) exten => i,1,Playback(invalid)) exten => 500,1,Playback(demo-abouttotry)) exten => 500,2,Dial(IAX2/guest@misery.digium.com/s@default)) exten => 500,3,Playback(demo-nogo)) exten => 500,4,Goto(s,6)) exten => 600,1,Playback(demo-echotest)) exten => 600,2,Echoo exten => 600,3,Playback(demo-echodone)) exten => 600,4,Goto(s,6)) exten => 8500,1,VoicemailMainn exten => 8500,2,Goto(s,6))
[internal]] exten => 3000,1,Dial(SIP/3000,30,Ttm)) exten => 3000,2,Playback(invalid)) exten => 3000,3,Hangupp exten => 3000,102,Voicemail(u3000)) exten => 3000,103,Hangupp exten => 3001,1,Dial(SIP/3001,30,Ttm)) exten => 3001,2,Playback(invalid)) exten => 3001,3,Hangupp exten => 3001,102,Voicemail(u3001)) exten => 3001,103,Hangupp exten => 3002,1,Dial(IAX2/3002,30,Ttm)) exten => 3002,2,Playback(invalid)) exten => 3002,3,Hangupp exten => 3002,102,Voicemail(u3002)) exten => 3002,103,Hangupp exten => 3003,1,Dial(IAX2/3003,30,Ttm)) exten => 3003,2,Playback(invalid)) exten => 3003,3,Hangupp exten => 3003,102,Voicemail(u3003)) exten => 3003,103,Hangupp
[default]] include => demoo include => parkedcallss include => pstnn include => internall
exten => 99990,1,Answerr exten => 99990,2,AGI(agi-test.agi)) exten => 99990,3,Hangupp exten => 99991,1,Answerr exten => 99991,2,EAGI(eagi-test)) exten => 99991,3,Hangupp exten => 99992,1,Answerr exten => 99992,2,Wait(1)) exten => 99992,3,SayUnixTime()) exten => 99992,4,Hangupp exten => 99999,1,Answerr exten => 99999,2,Wait(1)) exten => 99999,3,MusicOnHoldd
[incoming]] exten => s,1,Dial(SIP/100,30,tr))
[telefono1]] include => demoo include => outcomingg
[telefono2]] include => demoo include => outcomingg
[outcoming]] exten => _X.,1,Dial(SIP/${EXTEN:0}@voipstunt,30,tr))
4) editare il file asterisk nella cartella /etc/default modificare il parametro ENABLE_ASTERISK=”no” in ENABLE_ASTERISK=”yes” per far partire asterisk in automatico all’avvio del router.
A questo punto e’ possibile configurare 2 softphone/telefoni VoIP, assegnando gli interni 100 e 101: i due telefoni possono dialogare ed effettuare chiamate esterne appoggiandosi su VoipStunt.
Se poi avete a disposizione un numero geografico registrato con servizi come Skypho , seguendo queste istruzioni sara’ possibile configurare il PBX per accettare telefonate in ingresso e inoltrarle agli interni precedentemente configurati.