practices and procedures for setting up asterisk bootcamp
DESCRIPTION
AsteriskTRANSCRIPT
Practices and Procedures for setting up Asterisk Bootcamp 24 May 2007
Background
Asterisk Bootcamp is a five-day training course designed to teach students how to install,
configure, and troubleshoot the Asterisk open-source PBX application. Because the
course is designed to familiarize students with telephones and trunking methods they are
likely to encounter in the real world, the training facility requires a bit of preparation
ahead of time. This document will provide guidelines and recommendations for setting up
the training facility before students arrive.
Student equipment
Each student must be provided the following items:
• A book or binder containing printouts of the presentation as well as documents
guiding students through the labs.
• A copy of “Asterisk: The Future of Telephony” published by O’Reilly and
Associates. Note that you must provide an actual book; the PDF edition may be
provided as well.
• A copy of the Asterisk Business Edition Technical Reference Manual
• One (1) Digium TDM11B analog telephony interface card with one FXO and one
FXS module. If this card cannot be obtained, you may substitute a Digium
TDM811B; note that the examples in the labs provided to the students will have
to be modified slightly, as driver names and channel assignments will differ.
• One (1) Digium TE110P or TE120P single-span T1/E1 interface card. If this card
cannot be obtained, you may substitute a TE205P/TE210P or a TE405P/TE410P.
Again note that the examples in the labs provided to the students will have to be
modified slightly, as driver names and channel assignments will differ.
• One (1) Polycom IP330 or IP430 SIP telephone set. If this telephone cannot be
obtained, you may substitute another Polycom SIP telephone set such as the
IP501 or IP301.
• One (1) single-line analog telephone set with a Caller ID display. Preferably, this
should be an Aastra 9316CW or similar, where the dial and caller ID display are
on the base and not on the handset; this will allow the student to hear call progress
information on a digit-by-digit basis while dialing the telephone.
Room Setup – Furniture
The training facility must provide students enough room to work, move about, and sit
comfortably for the duration of the class. In consideration the large number of items
which are provided by the trainer as well as additional items students bring to class, there
should be a generous amount of desk space at each workstation which will easily and
ergonomically accommodate the following items:
• Keyboard
• Monitor
• Mouse
• SIP telephone provided by trainer
• Analog telephone provided by trainer
• Training manual laid open on the table
• Laptop computer provided by student
• Additional SIP telephone provided by student
Students should sit no more than three abreast, with a generous row spacing which will
allow both the students and the instructor to enter and exit the row without disturbing
neighboring students. Students should be provided with a comfortable, high-backed chair,
preferably with armrests.
The instructor must be provided a separate desk and chair at the front of the room. When
seated at this desk, the instructor must face the class.
A generous amount of clean whiteboard space must be provided. All whiteboards should
be visible from all workstations. In addition, a new packet of whiteboard markers, an
eraser, and whiteboard cleaning spray must be provided. Should it not be possible to
provide ample whiteboard space, an easel with a large pad of paper may be used to
supplement the whiteboard. Ideally, provide 3M Post-It Self-Stick Wall Pads, which will
allow important notes to be affixed to the wall for the duration of the course.
Room Setup – Equipment
Each workstation must be equipped with a desktop PC with at least two PCI slots in
order to accommodate the Digium telephony hardware. The PC must be powerful enough
to run Ubuntu Desktop, the Gnome desktop environment, and Asterisk. A suggested
minimum configuration is a 2 GHz processor, a 40GB hard drive, and 512MB of RAM.
However, it is strongly recommended that you test the PC to ensure that the Digium
hardware performs correctly.
Each workstation PC is to be prepared using a customized Ubuntu install DVD which
will be provided by Digium. When installing, be sure to set the following settings:
• Username: user
• Password: user
• Use the entire drive for OS install
In order to allow the students to set up analog, VoIP, and ISDN PRI trunks, servers must
be located in the room and configured to operate as a tandem office. These servers must
be capable of handling a minimum of n+1 T1 spans, where n is the number of
workstations in the training room. These servers should not be rackmount machines; such
boxes are generally too noisy and have too few PCI slots to accommodate three
TE405P/TE410P quad-span PCI cards. A sample configuration guide for these servers
will be provided in Appendix A.
Additionally, a T1/E1 channel bank with n+1 FXS ports must be provided.
A projector must be provided; it must be capable of projecting a large image which is
legible and easy to read from all workstations. Preferably, this image should be at the
front and center of the room so that the instructor may point at and highlight specific
pieces of information while lecturing. The projector must be able to take VGA input
from a laptop placed on the instructor’s desk.
Room Setup – Cabling
The following cables must be run to each student’s workstation:
• Two straight-through Cat5e or Cat6 Ethernet cables
o One for the PC
o One for the SIP telephone
• One straight-through Cat5e or Cat6 T1 cable
• One single-pair analog telephone cable terminated with 6P2C modular plugs on
either end. Two-pair cable terminated with 6P4C modular plugs is acceptable, as
is three-pair cable terminated with 6P6C modular plugs.
Under no circumstances are Ethernet crossover cables to be used.
Take care to ensure that all cables are run neatly and away from walkways. For ease of
circuit identification, all cables must be labeled on both ends with the station number they
have been run to.
All cables must be machine-made. Handmade cables are generally not reliable enough to
ensure trouble-free operation throughout the course. Furthermore, the amount of
manpower necessary to crimp, test, and troubleshoot such cabling for an installation
which will be in service for only one week is disproportionate; such time would be better
spent elsewhere.
Due to the relative scarcity of machine-made T1 crossover cable, it is strongly
recommended that a straight-through Cat5e or Cat6 cable be used in conjunction with a
T1 crossover adapter (Smartronix SuperLooper ST034LT02-04-001 or similar). For ease
of installation and removal, it is recommended that these adapters be installed at the
workstation rather than at the server.
In order to connect the analog telephone cables to the channel bank, it is recommended
that a breakout adapter (Allen Tel AT125-SM or similar) be used in conjunction with a
25-pair amphenol cable.
Be sure to set up one analog telephone set at the front of the room. Connect this
telephone to channel 24 of the channel bank.
Network
The classroom is to be placed on its own private subnet. DHCP is acceptable, but DHCP
leases must be long enough to ensure that each device on the network will retain the same
IP address through the duration of the course. Do not set option 66 (TFTP server
address) for DHCP leases.
In order to allow students to use their own laptops, wireless VoIP phones, and so on, a
Wi-Fi access point must be provided which shares the same subnet as the classroom
network. This may be encrypted using WEP or WPA, or filtered by MAC address.
Internet access must be provided. At minimum, the following services must be allowed to
pass through any NAT or firewall:
• SSH (22 TCP)
• HTTP (80 TCP)
• NTP (123 UDP)
• IAX2 (4569 UDP)
Appendix A: Sample Server Configuration
Background
The following configuration files assume a class of eleven students and a server with three
TE405P quad-span T1 cards. The numbering plan used within the course resembles the
NANP, as follows:
(311) 5XX-NXXX
The three-digit office code 5XX is assigned exclusively to each workstation.
The thousands block digit (N) indicates the trunking method to use when calling the
workstation specified in the office code, as follows:
9 – Analog
8 – IAX2
7 – SIP
6 – ISDN PRI
For example, if a student in the course dials (311) 503-6000, the call will be sent to
workstation 3 via that workstation’s ISDN PRI circuit.
zaptel.conf span=1,0,0,esf,b8zs span=2,0,0,esf,b8zs span=3,0,0,esf,b8zs span=4,0,0,esf,b8zs span=5,0,0,esf,b8zs span=6,0,0,esf,b8zs span=7,0,0,esf,b8zs span=8,0,0,esf,b8zs span=9,0,0,esf,b8zs span=10,0,0,esf,b8zs span=11,0,0,esf,b8zs span=12,0,0,esf,b8zs # CARD 1 - SPANS 1-4 bchan=1-23 dchan=24 bchan=25-47 dchan=48 bchan=49-71 dchan=72 bchan=73-95 dchan=96 # CARD 2 - SPANS 5-8 bchan=97-119 dchan=120 bchan=121-143 dchan=144
bchan=145-167 dchan=168 bchan=169-191 dchan=192 # CARD 3 - SPANS 9-12 bchan=193-215 dchan=216 bchan=217-239 dchan=240 bchan=241-263 dchan=264 fxoks=265-288
zapata.conf [channels] switchtype=national signalling=pri_net context=local group=1 channel => 1-23 group=2 channel => 25-47 group=3 channel => 49-71 group=4 channel => 73-95 group=5 channel => 97-119 group=6 channel => 121-143 group=7 channel => 145-167 group=8 channel => 169-191 group=9 channel => 193-215 group=10 channel => 217-239 group=11 channel => 241-263 signalling=fxo_ks context=local group=12
channel => 265-288 callerid=<3115019000> channel => 265 callerid=<3115029000> channel => 266 callerid=<3115039000> channel => 267 callerid=<3115049000> channel => 268 callerid=<3115059000> channel => 269 callerid=<3115069000> channel => 270 callerid=<3115079000> channel => 271 callerid=<3115089000> channel => 272 callerid=<3115099000> channel => 273 callerid=<3115109000> channel => 274 callerid=<3115119000> channel => 275 callerid=<3115129000> channel => 276 callerid="Instructor Phone"<3115004000> channel => 288
iax.conf [general] transfer=no [iax501] username=iax501 type=friend context=local host=dynamic secret=topsecret allow=all [iax502] username=iax502
type=friend context=local host=dynamic secret=topsecret allow=all [iax503] username=iax503 type=friend context=local host=dynamic secret=topsecret allow=all [iax504] username=iax504 type=friend context=local host=dynamic secret=topsecret allow=all [iax505] username=iax505 type=friend context=local host=dynamic secret=topsecret allow=all [iax506] username=iax506 type=friend context=local host=dynamic secret=topsecret allow=all [iax507] username=iax507 type=friend context=local host=dynamic secret=topsecret allow=all [iax508] username=iax508 type=friend context=local host=dynamic secret=topsecret allow=all [iax509] username=iax509 type=friend
context=local host=dynamic secret=topsecret allow=all [iax510] username=iax510 type=friend context=local host=dynamic secret=topsecret allow=all [iax511] username=iax511 type=friend context=local host=dynamic secret=topsecret allow=all
sip.conf [general] bindport=5060 bindaddr=0.0.0.0 srvlookup=yes [sip501] type=friend host=dynamic username=sip501 fromuser=sip501 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip502] type=friend host=dynamic username=sip502 fromuser=sip502 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip503] type=friend host=dynamic username=sip503
fromuser=sip503 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip504] type=friend host=dynamic username=sip504 fromuser=sip504 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip505] type=friend host=dynamic username=sip505 fromuser=sip505 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip506] type=friend host=dynamic username=sip506 fromuser=sip506 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip507] type=friend host=dynamic username=sip507 fromuser=sip507 sendrpid=yes trustrpid=yes secret=topsecret
context=local disallow=all allow=all canreinvite=no [sip508] type=friend host=dynamic username=sip508 fromuser=sip508 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip509] type=friend host=dynamic username=sip509 fromuser=sip509 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip510] type=friend host=dynamic username=sip510 fromuser=sip510 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no [sip511] type=friend host=dynamic username=sip511 fromuser=sip511 sendrpid=yes trustrpid=yes secret=topsecret context=local disallow=all allow=all canreinvite=no
extensions.conf [local] ; 7 digit dialing exten => _NXXXXXX,1,Goto(1311${EXTEN},1) ; Send POTS calls for stations 1-11 out via span 12 exten => _131150X9XXX,1,Dial(ZAP/$[${EXTEN:5:2} + 264]) exten => _131151[01]9XXX,1,Dial(ZAP/$[${EXTEN:5:2} + 264]) ; IAX2 calls exten => _13115XX8XXX,1,Dial(IAX2/iax${EXTEN:4:3}/${EXTEN:8}) ; SIP calls exten => _13115XX7XXX,1,Dial(SIP/${EXTEN:8}@sip${EXTEN:4:3}) ; Send PRI calls for stations 01-11 out via spans 1-11 exten => _131150X6XXX,1,Dial(ZAP/g${EXTEN:5:2}/${EXTEN:8}) exten => _131151[01]6XXX,1,Dial(ZAP/g${EXTEN:5:2}/${EXTEN:8}) ; Milliwatt test exten => 13115001000,1,Answer exten => 13115001000,n,Milliwatt ; Echo Test exten => 13115002000,1,Answer exten => 13115002000,n,Echo ; Name / Number ANAC exten => 13115003000,1,Answer exten => 13115003000,n,NoOp(${CALLERID(all)}) exten => 13115003000,n,Wait(1) exten => 13115003000,n,SayDigits(${CALLERID(num)}) exten => 13115003000,n,Wait(1) exten => 13115003000,n,SayAlpha(${CALLERID(name)}) exten => 13115003000,n,Hangup() ; Instructor telephone ;exten => 13115004000,1,Dial(ZAP/288) ; Meetme Conference exten => 13115005000,1,Meetme(5000|d)