Configurazione di un IVR in Asterisk - Prima Parte

Versione adatta alla stampa

Oggi vedremo come creare un  IVR nella nostra centrale Asterisk. Successivamente vedremo come utilizzarlo nel nostro dialplan. In questa prima parte vedremo come creare dei file audio personalizzati da usare successivamente nella creazione dell’IVR.

Per creare questi file useremo l’applicazione Record di Asterisk.

Nel contesto interni del nostro file di configurazione, inseriremo le seguenti linee:

nano /etc/asterisk/extensions.conf

exten => _66XX,1,Answer()
exten => _66XX,n,Wait(2)
exten => _66XX,n,Record(/tmp/prompt${EXTEN:2}:wav)
exten => _66XX,n,Wait(2)
exten => _66XX,n,Playback(/tmp/prompt${EXTEN:2})
exten => _66XX,n,Wait(2)
exten => _66XX,n,Hangup()

Linea 1: apre la chiamata

Linea 2: aspetta due secondi

Linea 3: Emette un beep e inizia la registrazione del file audio nella cartella tmp con nome promptXX.wav dove XX sono gli ultimi due digiti del numero che abbiamo chiamato dal nostro telefono IP. Se per esempio chiamiamo l’interno 6650, il file audio avrà come nome prompt50.wav Per terminare la registrazione premiamo il tasto cancelletto.

Linea 4:  Aspetta 2 secondi

Linea 5: riproduce il file audio che abbiamo appena registrato

Linea 6: aspetta 2 secondi

Linea 7: chiude la chiamata

Se non siamo soddisfatti con la qualità della registrazione, possiamo farla di nuovo chiamando lo stesso numero. La vecchia registrazione sarà rimpiazzata con la nuova.

Appena abbiamo preparato tutti i file audio di cui abbiamo bisogno, possiamo copiarli nella cartella dei prompt di Asterisk

mkdir /var/lib/astersik/sounds/custom

cd /tmp

mv prompt* /var/lib/asterisk/sounds/custom

Termino questo piccolo articolo con la sinossi dell’applicazione Record.

asterisk –rvvvvvvvvvvvvvv

CLI> core show application record

-= Info about application 'Record' =-

[Synopsis]
Record to a file

[Description]
  Record(filename.format,silence[,maxduration][,options])

Records from the channel into a given filename. If the file exists it will
be overwritten.
- 'format' is the format of the file type to be recorded (wav, gsm, etc).
- 'silence' is the number of seconds of silence to allow before returning.
- 'maxduration' is the maximum recording duration in seconds. If missing
or 0 there is no maximum.
- 'options' may contain any of the following letters:
     'a' : append to existing recording rather than replacing
     'n' : do not answer, but record anyway if line not yet answered
     'q' : quiet (do not play a beep tone)
     's' : skip recording if the line is not yet answered
     't' : use alternate '*' terminator key (DTMF) instead of default '#'
     'x' : ignore all terminator keys (DTMF) and keep recording until hangup

If filename contains '%d', these characters will be replaced with a number
incremented by one each time the file is recorded. A channel variable
named RECORDED_FILE will also be set, which contains the final filemname.

Use 'core show file formats' to see the available formats on your system

User can press '#' to terminate the recording and continue to the next priority.

If the user should hangup during a recording, all data will be lost and the
application will teminate.

Condividi contenuti