środa, 29 sierpnia 2012

Kolejki

Prosta kolejka w Asterisk

queues.conf

[CallCenter]
music=default
strategy=rrmemory
joinempty = yes
timeout=15
retry=1
wrapuptime=0
maxlen = 1
announce-frequency = 10
announce-holdtime = no
member => SIP/123,0
member => SIP/124,0



extensions.conf

exten => 13,1,Queue(CallCenter)


asterisk*CLI>

asterisk*CLI> queue show CallCenter
CallCenter has 0 calls (max 1) in 'rrmemory' strategy (5s holdtime, 18s talktime), W:0, C:2, A:0, SL:0.0% within 0s
   Members:
      SIP/124 (Not in use) has taken 1 calls (last was 281 secs ago)
      SIP/123 (Not in use) has taken 1 calls (last was 279 secs ago)
   No Callers

Jeśli chcesz aby tylko jeden SIP odbierał jedną rozmowę to koniecznie w sip.conf daj mu call-limit=1, wtedy  asterisk pokaże in use. 




piątek, 17 sierpnia 2012

Rozpoznawanie mowy przez Asterisk [Speech recognition]

Skonfigurowanie Asteriska tak aby zamieniał test na mowę mamy za sobą. Dzisiaj chciałbym zaprezentować kolejny skrypt AGI autora Lefteris Zafiris, który to pozwala zamieniać mowę na słowo pisane.

Potrzebne paczki:
Perl
perl-libwww

Instalacja samego AGI podobnie jak we wcześniejszym poście bardzo prosta i polega na skopiowaniu pliku 
speech-recog.agi do katalogu ze skryptami AGI w asterisku ( u mnie /usr/share/asterisk/agi-bin/ ). 

a w /etc/asterisk/extensions.conf przykładowo dla języka polskiego:

exten => 0,1,Answer()
exten => 0,n,agi(speech-recog.agi,pl-PL)
exten => 0,n,Verbose(1,The text you just said is: ${utterance})
exten => 0,n,Verbose(1,The probability to be right is: ${confidence})
exten => 0,n,Hangup()

wtorek, 14 sierpnia 2012

Asterisk syntezator mowy [Text to speech]

Chcesz aby Twój asterisk w końcu przemówił?
Wystarczy zastosować skrypt AGI, który przerobi nasz tekst na mowę dzięki usłudze Google Translate.

Co będzie potrzebne?
AGI stworzone przez Lefteris Zafiris, które można pobrać z tąd

Oraz trochę niezbędnego softu:
- perl
- perl-libwww
- sox
- mpg123


Cała instalacja jest naprawdę trywialna. Należy skopiować googletts.agi do katalogu ze skryptami AGI w asterisku ( u mnie /usr/share/asterisk/agi-bin/ ).

Została tylko edycja extensions.conf

exten => 4832XXXXXXX,1,Answer()
exten => 4832XXXXXXX,2,agi(googletts.agi,"Asterisk juz mowi.",pl)


Projekt asterisk-googletts: zaf.github.com/asterisk-googletts

poniedziałek, 13 sierpnia 2012

Instalacja dahdi - Debian


Przyszedł czas na MeetMe w Asterisku stojącym na Debianie, więc krótka notka dla tych, którzy mieli przyjemność spotkać się z:

app_meetme.c:1097 build_conf: Unable to open pseudo device


apt-get install dkms

wget http://downloads.digium.com/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

tar zxvf dahdi-linux-complete-current.tar.gz 

make all
make install
make config
modprobe dahdi_dummy


to powinno załatwić wszystkie problemy ;)

-- Executing [4832XXXXXXX@incoming:1] MeetMe("SIP/black-00000036", "1234") in new stack

wtorek, 7 sierpnia 2012

Połączenie przychodzące do wielu kont SIP - Asterisk


W razie potrzeby skierowania połączenia przychodzącego do kilku  innych numerów (w tym przypadku 3 wewnętrznych kont SIP) można zastosować poniższe rozwiązanie

/etc/asterisk/extensions.conf


[global]
SIP_GROUP=SIP/100&SIP/101&SIP/102

[context]
exten => 1,n,Ringing
exten => 1,n,Wait(2)
exten => 1,n,Dial(${SIP_GROUP},60,r)