Tuesday, March 12, 2019

ShoreTel: Test connectivity between ShoreTel voice switches LSP Ping

Here is some info I have put together on how to test connectivity between ShoreTel voice switches. ShoreTel switches uses Location Service Protocol (LSP) to exchange all known SIP URLs of the switches and PBX. When a switch first boots up and connects it exchanges all its know SIP URLs (extensions) with the other switches.  LSP is based on UDP and uses port 5440 to communicate on and relies on keep-alive pings every 30 seconds to detect switches that are offline or unreachable. You can do a LSP ping test between switches to test connectivity. I have used this many times to help determine if the issue is a network issue or a ShoreTel issue. When you run this you should be connected to both ShoreTel switches you are testing between.

To access the ShoreTel switches you will need to open a telnet/SSH connection to the switch. To do this look at the link below

Shoretel: How to Telnet SSH and Console to a ShoreTel switch


Once you have a session to both the ShoreTel switch you can enter the VxWorks shell by typing in gotoshell

You will need to increase the debug levels on both switches so that you can see the output for the ping command. To do this enter >lsp_debug_level=4

The command to run a LSP ping looks like this lsp_ping "<IP Address>" The IP address you enter should be the IP address of the ShoreTel switch you would like to test to. In this example lets use 10.10.10.10 for the remote switch and 192.168.10.201 for the HQ switch. So the command on the remote switch would look like this >lsp_ping "192.168.10.201"

You will send a message from the remote switch
"lsp_send_message 0x0f06.LSP_PING 192.168.10.202"

On the remote switch you should see the receiving message
"recv_message len 1147, code LSP_PING 10.10.10.10"

HQ sends an acknowledgement to the remote
"lsp_send_message 0x0f06.LSP_PING_ACK 10.10.10.10"

The remote receives the acknowledgement from HQ
"recv_message len 702, code LSP_PING_ACK 192.168.10.202"


Normally when there is a connectivity issue between the switches you will see the send from the first switch, and the receive and acknowledgement by the second switch but the first switch does not receive the acknowledgement. This would point to a network error.

Remote switch sending the lsp ping
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 192.168.10.202
lsp_send_message 0x0f06.LSP_PING 
192.168.10.202
HQ switch receiving the lsp ping
recv_message len 1147, code LSP_PING 10.10.10.10
lsp_send_message 0x0f06.LSP_PING_ACK 10.10.10.10
recv_message len 1149, code LSP_PING 10.10.10.10
lsp_send_message 0x0f06.LSP_PING_ACK 10.10.10.10
recv_message len 1150, code LSP_PING 10.10.10.10
lsp_send_message 0x0f06.LSP_PING_ACK 10.10.10.10
recv_message len 1151, code LSP_PING 10.10.10.10
lsp_send_message 0x0f06.LSP_PING_ACK 10.10.10.10
recv_message len 1153, code LSP_PING 10.10.10.10
lsp_send_message 0x0f06.LSP_PING_ACK 10.10.10.10
recv_message len 1154, code LSP_PING 
10.10.10.10
When the ping finishes you will receive a report of the ping.

1000 missing packets
0 extraneous packets, with 0 duplicated sequences
0 out of order packets
0 bad length packets
0 bad data packets
Round Trip Times
-1 ms min
0 ms max
0 ms average