Download presentation
Presentation is loading. Please wait.
Published byPaul Mills Modified over 9 years ago
1
VoIP Study and Implementation Asterisk Installation and Configuration Part 2 Version 1.0 – Author : Marc PYBOURDIN / Julien BERTON Last Update : 15/05/2012
2
Course objectives Ring Groups Call Detail Records Music On Hold IVR Conferences and Text-to- Speech Call parking Interconnecting Asterisk Servers By completing this course, you will see: Asterisk Overview
3
RING GROUPS Asterisk Installation and Configuration – Part 2
4
Ring group A ring group is a extension that binds several phones together Multiple strategy can be configured Ring All Round Robin As call strategies are configured like usual extensions, other behavior can be made as well. Extensions.conf
5
Ring All Strategy 1. A telephone calls the ring group extension 2. All the members of the ring group rings 3. The first member to pick up the phone takes the call Extensions.conf
6
Round Robin Strategy 1. A telephone calls the ring group extension 2. First member of the ring group rings for a fixed time 3. Then if no answer, rings to another ring group member Can be looped(or not) Extensions.conf
7
Ring All Ring group configuration Example The administrator wants a number 6600 to be a ring group containing user 6000,6001 and 6002 during 20 seconds. If no answer, go to the voicemail number 6000. Inside the [my_context] context : 6600,1,Dial(SIP/6000&SIP/6001&SIP/6002,20) 6600,2,Voicemail(6000@default) 6600,3,Hangup() Extensions.conf
8
Quiz The administrator wants a new ring group(Round Robin), number 6601, still including 6000, 6001, and 6002 inside the internal context. He wants to ring each phone sequentially during 20 seconds in a endlessly manner until someone in the ring group pick-up the phone Create new extension to answer to the question. Use the Goto() application to help you achieve this task. Extensions.conf
9
Quiz It’d give the following inside [my_context]: 6601,1,Dial(SIP/6000,20) 6601,2,Dial(SIP/6001,20) 6601,3,Dial(SIP/6002,20) 6601,4,Goto(my_context,6601,1) Take care about infinite loops here! If no phone are available(technically SIP registered to Asterisk), the extension will crash. Extensions.conf
10
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
11
Any questions?
12
CALL DETAIL RECORDS Asterisk Installation and Configuration – Part 2
13
CDR (Call Detail Records) Track all calls made through Asterisk including details on them such as : Caller ID, duration of the call, called number,… Export is done by default on a.csv file /var/log/asterisk/cdr-csv/Master.csv Export can be done on MySQL database Configuration can be customized in the cdr.conf file. Cdr.conf
14
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
15
Any questions?
16
MUSIC ON HOLD Asterisk Installation and Configuration – Part 2
17
Music on Hold Plays music to callers who have been placed on hold. Configured in the /etc/asterisk/musiconhold.conf file. Can plays multiple format(with dependencies) Encoded-codec files(µLaw,aLaw,gsm,…) Live stream (dependency on mpg123) MP3 Files (dependency on mpg123) Musiconhold.conf
18
Music on Hold [default] mode=files directory=moh [native-random] mode=files directory=moh digit=# sort=random Musiconhold.conf
19
Music on Hold [native-alphabetical] mode=files directory=moh sort=alpha [ulawstream] mode=custom application=/usr/bin/streamplayer 192.168.100.52 888 format=ulaw Musiconhold.conf
20
Quiz Users wants to listen to SupRadio when calling 3000 number. Implement this solution using MoH. Define a new MoH context named « supradio » Use mono rate of 8000 and scale factor of 8192. Musiconhold.conf
21
Quiz Install mpg123 package(using Debian’s aptitude) –apt-get install mpg123 Make a streaming directory and a empty steaming file –mkdir /var/lib/asterisk/mohmp3/stream && touch /var/lib/asterisk/mohmp3/stream/stream.mp3 Musiconhold.conf
22
Quiz Create a MusicOnHold class named « supradio ». [supradio] mode=custom directory=/var/lib/asterisk/mohmp3/stream application=/usr/bin/mpg123 -q -r 8000 -f 8192 -s --mono http://s10.netbreakdown.net:8000/sourcehttp://s10.netbreakdown.net:8000/source Define extension 3000 in current extension context exten => 3000,1,Answer() exten => 3000,2,MusicOnHold(supradio) Musiconhold.conf
23
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
24
Any questions?
25
IVR Asterisk Installation and Configuration – Part 2
26
IVR (Interactive Voice Response) Allows administrator to offer to callers an automated voice response system(very useful to guide automatically users in the right service). To configure this feature, it is important to have in mind the IVR scenario(what’ll be this behavior). Configuration can be done in the extensions.conf file. Extensions.conf
27
IVR The administrator wants to obtain an IVR that’ll do the following : An IVR number 7000 IVR scenario: 1. User call the IVR number 2. IVR plays the welcome message with propositions: –Press 1 to contact the IT service –Press 2 to contact the Accounting service –Press 3 to contact the Factory service 3. IVR listen for a digit and redirect the user 4. If user don’t press a digit or press the wrong digit, redirect him to the welcome message Extensions.conf
28
IVR In extensions.conf file, we’ll need to create two elements The IVR number in your internal context 7000,1,Goto(ivr_context,s,1) A new context for IVR [ivr_context] s,1,Answer() s,2, Set(TIMEOUT(response)=10) ;if answer >= 10s, goto ‘t’ ext. s,3,Playback(welcome-prompt) ;customized prompt if wished 1,1,Dial(SIP/6610) ;IT service ring group 2,1,Dial(SIP/6611) ;Accouting ring group 3,1,Dial(SIP/6612) ;Factory ring group _[04-9*#],1,Goto(ivr_context,s,1) ;incorrect digits t,1,Goto(ivr_context,s,1) ;if timeout, start again Extensions.conf
29
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
30
Any questions?
31
VOICE PROMPTS AND TEXT-TO- SPEECH Asterisk Installation and Configuration – Part 2
32
Voice Prompt IVR needs to announce voice prompts to callers –Guide caller to the right service –Notify opening days and hours –Inform caller Voice prompt can be –recorded –live-generated Extensions.conf
33
Text-To-Speech Text-To-Speech is a technique of converting string of characters to voice element With Asterisk, you can use several ways to implement it such as –Festival –eSpeak –GoogleTTS Extensions.conf
34
GoogleTTS implementation GoogleTTS is a independant AGI/Perl- based script –render text to speech using Google’s voice synthesis engine –supports several languages(english, french, chinese, greek,…) Server needs to be connected to the Internet. Extensions.conf
35
GoogleTTS implementation Installation of dependencies on Debian –apt-get perl libwww-perl sox mpg123 Grab last version of the script –wget -o GoogleTTS.tar http://github.com/zaf/asterisk- googletts/tarball/masterhttp://github.com/zaf/asterisk- googletts/tarball/master Decompress and install it in the right directory –tar –xvf GoogleTTS.tar && cd zaf-asterisk-googletts-51c2db5 && cp googletts.agi /var/lib/asterisk/agi-bin/ Extensions.conf
36
GoogleTTS implementation Extension call syntax –agi(googletts.agi,text,[language],[intkey]) Sample extension –[internal_context] exten => 1337,1,Answer() exten => 1337,2,agi(googletts.agi,"Space Court. For people in space. Judge space sun presiding!",en) exten => 1337,3,agi(googletts.agi,"Bam. Guilty. Of being in space. I’m in space.",en) exten => 1337,4,Hangup() Extensions.conf
37
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
38
Any questions?
39
CONFERENCES WITH ASTERISK Asterisk Installation and Configuration – Part 2
40
MeetMe MeetMe is a conference room system integrated with Asterisk It allows administrator to offer to callers conference rooms to organize meeting, brainstorming, … To use this feature, keep in mind that DAHDI is mandatory(even if you don’t have hardware cards). Configuration can be done in the meetme.conf and extensions.conf files. Meetme.conf
41
MeetMe To configure MeetMe, you’ll need to create two elements : The conference room in meetme.conf file(under the already existing [rooms] context) conf => 7100 ;open conference conf => 7101,1234 ;conf. with a login password of 1234 conf => 7102,1234,9876; conf. with an admin pass. 9876 The extension associated with the MeetMe conference in extensions.conf file into your internal context exten => 7100,1,MeetMe(7100) exten => 7101,1,MeetMe(7101) exten => 7102,1,MeetMe(7102) Meetme.conf
42
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
43
Any questions?
44
CALL PARKING Asterisk Installation and Configuration – Part 2
45
Call parking Call parking is a feature that can put on hold callers and allow callees to retake the call from every phone Sample scenario can be as described 1. A callee take a call from his desk SIP phone Callee needs to move from his desk to the datacenter in the basement 2. Callee transfer call to parking number which return by synthetised voice the attributed call place 3. Callee got just to call the attributed call place to take again the call Features.conf
46
Call parking Configured in features.conf and extensions.conf In features.conf, define parking extension and available parking lots [general] parkext => 700 parkpos => 701-710 context => parkedcalls In extensions.conf, include parking context in your extension context include => parkedcalls Features.conf
47
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
48
INTERCONNECTING ASTERISK SERVERS Asterisk Installation and Configuration – Part 2
49
IAX (Inter-Asterisk eXchange) Allows the administrator to interconnect Asterisk servers to Form trunk between Asterisk server Allow communication between users of differents sites The configuration of this feature can be found in the iax.conf file. Iax.conf
50
IAX configuration IAX topology that we wants to implement is the following Main objective here is to configure Asterisk servers to allow dial between sites Iax.conf Internet AST-PAR1AST-LIL1 6000- 6099 users 6100- 6199 users 192.168.123.2192.168.123.3 Internet VPN
51
IAX configuration On Asterisk servers, we’ll have to configure two elements : The IAX configuration itself that include Iogin informations for the remote server register statement for login into the remote server The extension to call the remote site through IAX trunk Iax.conf
52
IAX configuration On AST-PAR1 : In iax.conf file register => AST-PAR-1:Th1si5Sp@rt@!@192.168.123.3 [AST-LIL-1] type=friend host=192.168.123.3 trunk=yes secret=Th1si5Sp@rt@! context=my_context qualify=yes In extensions.conf file in [my_context] _61XX,1,Dial(IAX2/AST-LIL-1/${EXTEN}) _61XX,2,Playtones(congestion) _61XX,3,Congestion() Iax.conf
53
IAX configuration On AST-LIL1 : In iax.conf file register => AST-LIL-1:Th1si5Sp@rt@!@192.168.123.2 [AST-PAR-1] type=friend host=192.168.123.2 trunk=yes secret=Th1si5Sp@rt@! context=my_context qualify=yes In extensions.conf file in [my_context] _60XX,1,Dial(IAX2/AST-PAR-1/${EXTEN}) _60XX,2,Playtones(congestion) _60XX,3,Congestion() Iax.conf
54
IAX configuration Once you’ve configured the IAX trunk, you’ll able to place calls between sites using the IAX trunk. You can verify the IAX trunk status in the Asterisk console with commands : iax show peers iax show registry Iax.conf
55
Demonstration Show how to implement this solution on Asterisk and test it Extensions.conf
56
Any questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.