Practices and Procedures for Setting Up Asterisk Bootcamp

12
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.

description

Asterisk

Transcript of Practices and Procedures for Setting Up Asterisk Bootcamp

Page 1: Practices and Procedures for Setting Up Asterisk Bootcamp

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.

Page 2: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 3: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 4: Practices and Procedures for Setting Up Asterisk Bootcamp

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)

Page 5: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 6: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 7: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 8: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 9: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 10: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 11: Practices and Procedures for Setting Up Asterisk Bootcamp

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

Page 12: Practices and Procedures for Setting Up Asterisk Bootcamp

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)