OSPF Neighbor Relationships

5 Requirements for OSPF to form a relationship with a neighbor:

1. Hello and Dead timers must match

2. Network mask must match

3. Area ID must match

4. Authentication password must match (if you are using OSPF authentication)

5. Stub Area Flag must match

Also found a great wiki on OSPF best practices: http://wiki.nil.com/OSPF_area_configuration_best_practices


IPv6 OSPF on a Cisco router

The big difference between IPv4 and IPv6 OSPF configuration on a Cisco router is that the initial configuration has moved to the interface level, instead of using the “network” statements to determine which interfaces will be part of the OSPF process. To get IPv6 OSPF up-and-running, here are the 4 basic commands:

1. Enable ipv6 routing between non-local subnets
router(config)# ipv6 unicast-routing

2. Go into the interface config and enable the OSPF process and area
router(config-if)# ipv6 ospf 100 area 0

3. Go into the ipv6 OSPF global configuration
router(config)# ipv6 router ospf 100

4. Set the ipv6 OSPF router id
router(config-rtr)# router-id X.X.X.X

ShoreTel Least Cost Routing

**NOTICE** Changing these settings can impact your ability to make/receive calls, do not change unless instructed by ShoreTel TAC.

With that said, hopefully this information can be useful if you have a similar situation:

I had two ShoreTel sites within the same area code, HQ site had the PRI, and the Remote site had an analog trunk to be used for primary 911 and secondary voice failover (if the network connection failed between both sites or the PRI went down).  The tricky part was having the ShoreTel system prefer the PRI at HQ ONLY for normal voice calls, even though there was a local analog trunk at the Remote site.  The ShoreTel system still needed to to prefer the local analog trunk for 911 calls.

Least Cost Routing can only be changed on the Director through the Support Entry mode, accessed by hold Ctrl + Shift and clicking on the “U” in Username.  Then login using your normal admin credentials.

Verify that “Parent as Proxy” is not checked (PaP allows normally unroutable calls out the Parent site, like 911, which we don’t want in this scenario)

Navigate to the PRI trunk group, and at the bottom of the page, there is “Trunk Group Dialing Rules”.  Click “Edit” and add “;2E;-26A” without the quotation marks.  Click “Save” and wait about 2-3 minutes for the changes to take effect and test failover and 911!

Advertise Default Route with BGP

If you are used to using the “Default-Information Originate” command with OSPF or EIGRP to easily advertise a default route, you might be surprised to find that solely applying that command within BGP does not advertise a default route.  You must also use “Redistribute Static” in conjunction with “Default-Information Originate”.  Your BGP config would look something like this:

router bgp 65000
 no synchronization
 bgp log-neighbor-changes
 redistribute static
 neighbor remote-as 65010
 default-information originate
 no auto-summary

Both commands are needed whether you are using eBGP or iBGP

ShoreTel Active Directory Integration

ShoreTel AD integration is pretty simple, just a couple of important steps to remember:

1. To use AD integration, check “Enable AD Integration” under System Parameters -> Other

2. ShoreTel is a top-level LDAP reader, so you do not need to specify certain OUs.  Your LDAP string should look like this:


3. At least one system administrator account has to be AD enabled for ShoreTel to use and perform LDAP lookups.  To use the “Test” or “Sync” buttons on an AD enabled user, you must be logged in with an administrator account that is AD enabled.

ShoreTel TMSNcc Log Info

Great informational article regarding ShoreTel TMSNcc logs: http://www.netdungeon.com/articles/how-decipher-tmsncclog

Call Code Parameters:

C-CE Call Creation Event Call Initiation.
L-CE Leg Create Event Follows a C-CE; Internal Transfers
L-IE Leg Info Event Provides information on other parties in the call.
C-SE Call State Event
State of call in progress; RingBack, Offering, etc.
L-SE Leg State Event Follows a C-SE to inform the leg state changes.
L-DE Leg Destroy Event Call tear down; Leg is destroyed.
C-DE Call Destroy Event Call Destroyed by user or system hung up.
G-MST Media State Event Media states for the terminated call leg.

Example from the article linked above:


Trunk Call Leg To PSTN 40000001
Internal Call Leg 20000023
Call GUID 00020000-1aae-4f05-9cce-0010491e1b95
PBX Responding to Party ncc_media_ctl

Packet Information: (s:1, r:378, l:0),(j:0,u:0,o:0)

The above packet information lists sent and recieved packets, and jitter.  This is very useful in understanding why calls fail.  In many cases we will see issues with jitter readjustments during problem or dropped calls. The s:1 indicates 1 packet was sent, the r:378 indicates 378 packets were recieved.  The second set of parentheses (j:0,u:0,o:0) describes the jitter buffer, and in this case was adjusted 0 times.  This is more of an ideal scenario as problem calls will vary in their jitter and packet amounts.

Setting up OSPF on HP Switches

To run OSPF on HP switches, you will most likely need the “Premium” software license.  Once you have that, configuring OSPF is fairly easy, although different from the Cisco approach:

For example, I want to enable OSPF in area 0 on my HP core switch (HP 5406):

1. Enter OSPF configuration
(config)#router ospf 

2. Define the OSPF areas to be used
(ospf)#area backbone

3. HP runs OSPF under the VLAN configuration, so enter the VLAN that will be communicating with your other OSPF enabled devices and then enable the OSPF area
(vlan-10)#ip ospf area backbone 

4. Once your configuration is complete, enable the OSPF process
(config)#router ospf enable

You can verify your OSPF status and neighbors:
#show ip ospf general
#show ip ospf neighbor