Crmgo Blog

Asterisk, automatyczny sekretarz, nagrywanie pliku, menu głosowe

Asterisk, automatyczny sekretarz, nagrywanie pliku, menu głosowe

Przygotowanie pliku dźwiękowego Konwersja pliku *.wav do *.gsm (mono, 8000 Hz): sox hi.wav -r 8000 -c 1 hi.gsm resample -ql Umieszczenie pliku *.gsm w odpowiednim miejscu dla poczty głosowej; ja umieściłem go w /var/spool/asterisk/voicemail/mgp. Alternatywnie, plik można nagrać bezpośrednio za pomocą Asteriska: ; nagranie do /var/lib/asterisk/sounds/...mymessage.gsm exten => 150,1,Answer() ;…

Asterisk, automatyczny sekretarz, nagrywanie pliku, menu głosowe

 

Przygotowanie pliku dźwiękowego

  1. Konwertujemy *.wav na *.gsm (mono, 8000): sox hi.wav -r 8000 -c 1 hi.gsm resample -ql
  2. Umieszczamy plik *.gsm gdzieś w ustawieniach poczty głosowej; ja wrzuciłem go do /var/spool/asterisk/voicemail/mgp

Lub można nagrać plik bezpośrednio za pomocą Asteriska:

; nagranie do /var/lib/asterisk/sounds/...mymessage.gsm
exten => 150,1,Answer() ; obsługa nagrywania/wydawania głosu
exten => 150,n,Record(${EXTEN}mymessage:gsm)
exten => 150,n,Playback(${EXTEN}mymessage)
exten => 150,n,Hangup()
; odsłuch nagrania można wykonać wybierając numer 151
exten => 151,1,Answer()
exten => 151,n,Playback(${EXTEN}mymessage)
exten => 151,n,Hangup()

extensions.conf:

exten=>202010,1,Answer() ;
same=>n,Playback(/var/spool/asterisk/voicemail/mgp/hi)
same=>n,Set(fname=/var/spool/asterisk/monitor/202010/${STRFTIME(${EPOCH},,%Y-%m-%d__%H-%M-%S)}__${CALLERID(nu$ 
same=>n,Record(${fname}.gsm,2,60,x)   same=>n,Hangup() 

menu głosowe

  • exten => 1000,1,Answer()
  • exten => 1000,n,Background("Witamy! ...)
  • exten => 1000,n,WaitExten(5)
  • exten => 1000,n,Dial(SIP/1000,10)                      - Recepcja.
  • exten => 1000,n,Playback(vm-nobodyavail)
  • exten => 1000,n,Hangup()
  • exten => 1,1,Dial(SIP/1001,10)                           -  Dział handlowy.
  • exten => 1,n,Playback(vm-nobodyavail)
  • exten => 1,n,Hangup()
  • exten => 2,1,Dial(SIP/1002,10)                           - Dział wsparcia technicznego.
  • exten => 2,n,Playback(vm-nobodyavail)
  • exten => 2,n,Hangup()
  • exten => i,1,Playback(pbx-invalid)
  • exten => i,n,Goto(incoming,1000,1)
  • exten => t,1,Playback(vm-goodbye)
  • exten => t,n,Hangup()

Uwaga: wpis mógł powstać z pomocą AI i redakcji. Odpowiedzialny: Dmytro Lomaka, Kaltenkirchen.