Avaya Office IP412 PBX

This particular job is for a University. This building is connected to the main campus via a private T1, but all traffic will remain local for now and be routed to the real world via a PRI/T1. The building has three floors, including a lower level, a first and second floor. The network is composed of all new Cisco switches including a 6509 with 6 x 10/100/1000 PoE blades, a 4507R with 4 10/100/1000 PoE blades and a couple of stacked 48 port 3750’s with the same charactetistics. The main idea is to have a voice and a data VLAN per floor, which will bring the sub-total to 6 VLANs.

MORE…

Additional VLANs will be provided for the Wireless Access Points, the servers, the voice server components (voice mail & PBX) and the managed switches. The VLANs are configured to forward all DHCP requests to the existing DHCP server, which will determine where the request came from and assign an IP address from the appropriate scope. A vendor that will remain unamed won the bid on this project and has been a nightmare from day one. I have never seen
so much incompetence in my life.

Another unique detail on this project was the need for offices to have both a computer and a phone on the same UTP ethernet cable, so an “expert” was brought in from Houston to configure this setup and QoS on the network.

Several approches were tried to address this issue, but the phones always kept getting an IP address from the same scope as the PCs. The vendor/”expert” solution was to make every port a trunk and thus allowing several VLAN to the port, but the problem still remained. How would the phone or PC distinguish from what DHCP scope it would pick up an address from or to be more exact how would the DHCP server decide if it was a PC or a phone asking for an IP address. We ran across an Avaya document that went into how to setup options on the DHCP server and decided to give it a try.

The TFTP server which was hosted on the Voice Mail server was defined on the DHCP server as option 66. A new option was created since it was not available on Windows NT 4.0. The option was 176 and the string on the Ayava document was as follows:

MCIPADD=XXX.XXX.XXX.XXX,MCPORT=1719,TFTPSRVR=YYY.YYY.YYY.YYY,L2QVLAN=ZZZ

were XXX.XXX.XXX.XXX is the IP address for the PBX, YYY.YYY.YYY.YYY is the IP address for the TFTP server and ZZZ is the VLAN that will be tagged to the phone.
After setting everything up, it worked like a charm but I was really worried about all these trunks since I have seen plenty of network nightmares with too many trunks.
Although we had a very thight dealine, I was stuburn enough and not believe the “expert” since I had seen on the all powerful google people using auxilary-vlans for voice on Cisco switches, but the “expert” said that tis woud only work on cisco switches.
After further testing I figured out that the key was in the DHCP server option settings. The switch running a recent version of IOS had the following configuration on each port.

switchport mode access
switchport access vlan
switchport voice vlan
spanning-tree portfast

The 6509 was running a recent CatOS, so an auxiliary vlan was used to emulate the phones vlan. The DHCP server took care of the rest, by tagging phone with a VLAN.

set vlan vlan# port_number
set port auxiliaryvlan port_number vlan#

QoS configuration for the each on the IOS switch was

service-policy output autoqos-voip-policy
qos trust device cisco-phone
qos trust cos
auto qos voip cisco-phone
tx-queue 3
priority high
shape percent 33

General configuration on the IOS switch is:

qos dbl
qos map dscp 24 25 26 27 28 29 30 31 to tx-queue 4
qos map dscp 32 33 34 35 36 37 38 39 to tx-queue 4
qos map cos 3 to dscp 26
qos map cos 5 to dscp 46
qos

Configuration for the CatOS QoS is as follows:

#qos – qos configuration via Autoqos
set qos enable
set qos map 2q2t tx 2 1 cos 1
set qos map 2q2t tx 2 1 cos 2
set qos map 2q2t tx 2 1 cos 3
set qos map 2q2t tx 2 2 cos 5
set qos drop-threshold 2q2t tx queue 1 100 100
set qos map 1p1q4t rx 1 3 cos 1
set qos map 1p1q4t rx 1 3 cos 2
set qos map 1p1q4t rx 1 3 cos 3
set qos map 1p1q4t rx 1 4 cos 6
set qos map 1p2q2t tx 2 1 cos 1
set qos map 1p2q2t tx 2 1 cos 2
set qos map 1p2q2t tx 2 1 cos 3
set qos map 1p2q2t tx 2 2 cos 6
set qos wrr 1p2q2t 50 255
set qos wred 1p2q2t tx queue 1 70:100 70:100
set qos wred 1p2q2t tx queue 2 70:90 100:100
set qos map 1p3q1t tx 2 1 cos 1
set qos map 1p3q1t tx 3 1 cos 3
set qos map 1p3q1t tx 3 1 cos 4
set qos map 1p3q1t tx 3 cos 6
set qos map 1p3q1t tx 3 cos 7
set qos wrr 1p3q1t 20 100 200
set qos wred 1p3q1t tx queue 3 70:90
set qos map 1p1q0t rx 2 cos 6
set qos map 1p1q0t rx 2 cos 7
set qos map 1p2q1t tx 2 1 cos 1
set qos map 1p2q1t tx 2 1 cos 2
set qos map 1p2q1t tx 2 1 cos 3
set qos map 1p2q1t tx 2 cos 6
set qos map 1p2q1t tx 2 cos 7
set qos wrr 1p2q1t 50 255
set qos txq-ratio 1p2q1t 70 15 15
set qos wred 1p2q1t tx queue 2 70:90
set qos map 1p1q8t rx 1 5 cos 1
set qos map 1p1q8t rx 1 5 cos 2
set qos map 1p1q8t rx 1 7 cos 3
set qos map 1p1q8t rx 1 7 cos 4
set qos map 1p1q8t rx 2 1 cos 6
set qos map 1p1q8t rx 2 1 cos 7
set qos cos-dscp-map 0 10 18 24 34 46 48 56
set qos ipprec-dscp-map 0 10 18 24 34 46 48 56
set qos policed-dscp-map 0,24,46:0
set qos policed-dscp-map 1:1
set qos policed-dscp-map 2:2
set qos policed-dscp-map 3:3
set qos policed-dscp-map 4:4
set qos policed-dscp-map 5:5
set qos policed-dscp-map 6:6
set qos policed-dscp-map 7:7
set qos policed-dscp-map 8:8
set qos policed-dscp-map 9:9
set qos policed-dscp-map 10:10
set qos policed-dscp-map 11:11
set qos policed-dscp-map 12:12
set qos policed-dscp-map 13:13
set qos policed-dscp-map 14:14
set qos policed-dscp-map 15:15
set qos policed-dscp-map 16:16
set qos policed-dscp-map 17:17
set qos policed-dscp-map 18:18
set qos policed-dscp-map 19:19
set qos policed-dscp-map 20:20
set qos policed-dscp-map 21:21
set qos policed-dscp-map 22:22
set qos policed-dscp-map 23:23
set qos policed-dscp-map 25:25
set qos policed-dscp-map 26:26
set qos policed-dscp-map 27:27
set qos policed-dscp-map 28:28
set qos policed-dscp-map 29:29
set qos policed-dscp-map 30:30
set qos policed-dscp-map 31:31
set qos policed-dscp-map 32:32
set qos policed-dscp-map 33:33
set qos policed-dscp-map 34:34
set qos policed-dscp-map 35:35
set qos policed-dscp-map 36:36
set qos policed-dscp-map 37:37
set qos policed-dscp-map 38:38
set qos policed-dscp-map 39:39
set qos policed-dscp-map 40:40
set qos policed-dscp-map 41:41
set qos policed-dscp-map 42:42
set qos policed-dscp-map 43:43
set qos policed-dscp-map 44:44
set qos policed-dscp-map 45:45
set qos policed-dscp-map 47:47
set qos policed-dscp-map 48:48
set qos policed-dscp-map 49:49
set qos policed-dscp-map 50:50
set qos policed-dscp-map 51:51
set qos policed-dscp-map 52:52
set qos policed-dscp-map 53:53
set qos policed-dscp-map 54:54
set qos policed-dscp-map 55:55
set qos policed-dscp-map 56:56
set qos policed-dscp-map 57:57
set qos policed-dscp-map 58:58
set qos policed-dscp-map 59:59
set qos policed-dscp-map 60:60
set qos policed-dscp-map 61:61
set qos policed-dscp-map 62:62
set qos policed-dscp-map 63:63

I will now try to do some soft phone, SIP Client and integration with Asterisk.

Leave a comment