Mnogi proizvođači nude rješenja za snimanje razgovora (Nice, Verint), a neki i integriraju tuđa rješenja u svoje pakete kao što čini Avaya. No, ako su takva rješenja izvan vašeg budžeta, nemojte odustati. Naime i Asterisk podržava snimanje razgovora i to „on-demand“ snimanje (jedan od sudionika pokrene snimanje razgovora tijekom razgovora) i „total“ (svi razgovori koji uključuju pojedine ekstenzije se snimaju)
On-demand snimanje
Da bi on-demand mogli koristiti potrebno je u datoteci features.conf omogućiti:
[featuremap]
automixmon => *3
Ovom postavkom smo odredili da tipkanjem „*3“ tijekom poziva pokrećemo snimanje. Kasnije u dialplanu s dodatnom opcijom u aplikaciji Dial omogućujemo da se s „*3“ pokrene snimanje. Na primjer:
exten => _3XX,1, Dial(SIP/dolaznaLinija/${EXTEN},,X)
U ovom primjeru omogućeno je da POZIVATELJ aktivira snimanje. Ako stavimo „x“ umjesto „X“ onda ćemo omogućiti POZVANOM da aktivira snimanje. Možemo staviti i oboje („Xx“)
Ako želim da za jednu ekstenziju svi pozivi budu snimljeno onda u dialplanu navodimo:
exten => 503,1,NoOp()
same => n,Answer()
same => n,Set(MONITOR_FILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-FROM-${CALLERID(num)}-TO-${EXTEN})
same => n,MixMonitor(${MONITOR_FILENAME}.wav,b)
same => n,Dial(SIP/treci)
U ovom primjeru smo definirali samo ime datoteke (vrijeme, pozivatelj, pozvani), a može se definirati i direktorij u koji će se smještati snimljeni razgovori.
Ramdisk
Današnji diskovi su prilično brzi. No u višekorisničkom okruženju svejedno mogu biti usko grlo (osim ako govorimo o SSD diskovima, ali kod njih je problem cijena). Da bi se izbjegli eventualni problemi s brzinom diska, možemo koristiti ramdisk. Ramdisk je dio memorije na kojem administriramo virtualni disk. Kako je memorija puno bžra od čvrstih diskova onda je i ramdisk puno brži.
Ramdiski koristimo tako da ga „mountamo“ na mjesto gdje se pozivi snimaju (default je /var/spool/asterisk/monitor). Zatim kreiramo skriptu koja će s ramdiska kopirati na fizički disk i pokrenemo cron proces koji svakih npr. 10 minuta kopira sve s ramdiska na drugu lokaciju.
Da bi kreirali ramdisk pratimo sljedeću proceduru
Kreiramo mjesto gdje ćemo ga mountati:
mkdir /mnt/ramdisk
Dodamo liniji /etc/fstab da bi se ramdisk mountao tijekom boota:
tmpfs /mnt/ramdisk tmpfs defaults,size=512M 0 0
(veličinu možemo podesiti prema potrebi i mogućnostima, ako je minuta otrpilike 1MB onda je 512MB dovoljno za 500minuta)
Mountamo ramdisk:
mount /mnt/ramdisk
Nakon toga napravimo link između /var/spool/asterisk/monitor i našeg ramdiska:
ln -s /mnt/ramdisk /var/spool/asterisk/monitor
Da bi se svakih 10 minuta micao sadržaj ramdiska na hard disk, kreiramo skriptu koja će sadržavati:
# do this every 10 minutes
# skripta se kopiranjesnimki
# nalazi se na lokaciji /opt/skripte/
*/10 * * * * mv /media/ramdisk/* /var/lib/asterisk/VoiceRec/
I stavimo ga u cron komandom
crontab /opt/skripte/kopiranjesnimki
U ovom primjeru skripta se nalazi u /opt/skripte i zove se kopiranje snimki.