ShoreTel Star Codes!


Though I know we have readers out there who have never seen a rotary dial telephone (or a 33 RPM record), many readers will be familiar with “star codes”. Star Codes have been generally well known to most phone users since the inception of DTMF dialing. Who has not done the old *82 to block caller ID? In the ShoreTel system, basically, every feature has a star code making it possible to use a simple single line telephone set to do advanced features. If you do not have a list of these codes, send a request and we will send them right along. The characteristic of star codes that has me excited is how ShoreTel uses start codes with its “office anywhere” functionality. Many systems have the ability to forward a call to your cell phone (pun intended), but generally, the call dead ends there in your hand. How wonderful it would be to be on your cell phone and be able to transfer the caller to another team mate BACK IN THE OFFICE PBX! ShoreTel has a number of start codes that enable you to do jus that. In fact, **+Extension number+## will do just that! There are also star codes for conference e, hold, and access to the other star codes we talked about earlier. Now that it some powerful call processing, would you not agree?

ShoreTel Tools for Checking remote dial tone?

Sometimes there is nothing like a telephone lines mans test set to hear exactly what is going on! VoIP solutions have a double challenge: First it is hard to put a butt set on an IP connection; and secondly what happens when that connection hits a gateway at a remote site? This is always a fun situation. ShoreTel has a “trunk test tool” that has some usability. You can actually bring up the test tool, and right click a particular telephone line and place a call. If you are really in the fast reader group, you can set the test tool options to point the call at your own remote handset. In this way, you are sitting in NY, dialing out on a SF analog telephone line.

ShoreTel has another debug tool that is very useful for “hearing” what is happening on a remote analog telephone line at a site that you just cant get a handle on. You can literally telnet into the switch and setup up a recording session and capture the analog line sounds to a file back at your location. This will enable you to listen to the error message or lack of dial tone, locally enabling you to make the right decision about how to handle the trouble ticket.

The audio output of the analog trunk port is saved on the HQ or DVM server that controls the switch. To do this, follow this procedure:

From the start menu, navigate to the Control Panel> Administrative Tools and locate the IIS Manager;
Right-click on the IIS manager and select Properties. Then enable the ability to write to the FTP server by selecting the Write checkbox and clicking OK. This enable the ability to write to: C:\Inetpub\ftproot
At the command prompt, run the following VXWorks commands: Record2File2 (1, 60, “test” ) Audio data from running this command is stored in the file test_rx.pcm and file test_tx.pcm in the C:\Inetpub\ftp which will be stored as 8000Hz 16bit, Mono and can be listed to using a standard audio application.

Give this a shot the next time you are trying to “hear” if an analog line out at some remote location has any dial tone!

VoIP and SRST/AES Encryption!

Encryption of VoIP traffic was, for some of us a humorous concept. I remembered as a young development professional how much fun it was to use a packet sniffer to capture the bosses packets and reassemble his email over the LAN. Years before that when I worked at the phone company as a central office test engineer, it was not uncommon to find an interesting phone call and plug it into the over head paging system to provide entertainment for the late night test crew. There are times I still think the concept of encryption on VoIP is humorous, but it is becoming less funny all the time as we move toward end to end VoIP with no TDM at all in a world populated by terrorists and other evil doers. In any VoIP environment today, you can at some point use the usual tapping tools to capture a phone call as it hits the TDM gateway and is converted from VoIP to traditional analog or digital signals. From an induction coil to a line mans butt set, you can still intercept a VoIP call as it crosses the TDM boundary.

Now that VoIP is being used end to end, we do need to have a mechanism for encrypting at least the media stream. Today we generally do that with SRTP and IETF standard in combination with AES. AES or the Advanced Encryption Standard was adopted by the US Government and comprises three block ciphers: AES 128, AES 192 and AES256. Each AES cipher has a 128 bit block size with key sizes of 128, 192,and 256 respectively. This standard has generally replaced the former Data Encryption Standard or DES. It is important to understand the difference between encryption and authentication. Determining that a signal is “authentic” and originated from a source we believe to be authentic, and encrypting the contents of that communication are two very different issues. Media authentication and encryption ensures that the media streams between authenticated devices (i.e. we have validated the devices and identifies at each end) are secure and that only the intended device receives and reads the data. We need to encrypt both the media (i.e. the voice) and the signaling information (i.e. the DTMF). In most VoIP systems today, SRTO or secure RTO is implemented to assure media encryption. Understand that this encryption is not passed through to the TDM network, so once the media stream leaves the VoIP environment it is subject to eavesdropping.

Clearly as we are now able to employ VoIP end to end, SRST/AES encryption has very powerful ramifications for both the good guys and the bad guys!

Least Cost Routing?

At one point in the evolution of telecommunications features, least cost routing was so sophisticated a function that it required an external processor. In the early 80’s when most large multi site telephone system installations were based on point to point, private T1 tie-lines the need for cost effective routing between sites was in such demand that a stand alone company of scale was formed to meet that need. In San Antonio Texas, a company still in existence today but with a much different agenda was formed to bring the Infoswitch Share family of products to market. These systems consisted of a rack mounted shelves of T1 telephone interfaces, that communicated with a centralized computer over a proprietary data link.

Most intersite dial tone was provided based on human selection. You might dial 81 for the tie line to New York; or 82 for the tie line to the Chicago office. Once at the other site you would then dial access the telephone lines connected to the pbx at that remote site. The decision making as to what facility to access was left entirely to the user and whatever printed instructions might be made available Scotch taped to the side of the phone. The Infoswitch Share family changed all of that! Infoswitch would accept interfacees from the systems at remote sites and using a stored program that reflected the various rate centers reachable by each end point; or the WATTS lines that might be available at a particular facility, it would route user requests for service.

VoIP solutions generally available today have to address the same circumstances. A primary driver of VoIP solutions is that they seamlessly integrate geographically dispersed workgroups into a single image phone system. The central “soft switch” has an intimate understanding of the PSTN facilities at each end point. Trunk groups are created with dialing definitions that enable the entire system to facilitate least cost routing at a level of accuracy that has become increasingly more complex as we add new exchange codes. Back in the days of the Infoswitch, all area codes had either a 1 or a 0 in the second digit, making area code recognition a breeze. Today we not only have to figure out what is an area code, we have to figure out what can be dialed as a local call and what is a long distance call. Long distance also has a new litany definitions as terms like “local long distance” creep in our vocabulary.

ShoreTel has a reasonable least cost routing facility. You have the ability to create trunk groups and assign dialing rules to those trunk groups. In an area like San Diego we have four area codes (see previous post) that might at one time or another be consider either a local or a long distance call. Lets consider an installation in which we have two site. One site in the 619 area code and the other site in the 858 area code. Both sites have PRI lines to the phone company. One of the benefits of having a multiple site system is that if one PRI goes off line, the system should be able to re-route calls through the other site. In this example, we have a couple of interesting warts to deal with. Lets assume the 858 PRI goes down. A caller at that site, picking up a handset and dialing any area code and number other than 858 will have no problem, the call will go out the 619 PRI. At that same site, had they dialed a 7 digit local number, the system would not allow the call without some advanced dialing rule programming. The reason for this is that the ShoreTel will consider the 858 a “cost promotion” if it was to go out the 619 PRI and this is not normally allowed.

There are ways around this, a custom dialing rule access can be enabled on the ShoreTel trunk group. We can create trunk group preferences and to some extent we can generate new dialing patterns. As the national dialing plan moves closer to a 10 digit rule for all phone calls, the subject of least cost routing and programming will continue to be an area that requires considerable planning, design, implementation and testing. When you through SIP trunks into the mix, complete with remote area code origination, the possibilities become endless.  Stay tuned and keep your hands and feet in the car at all times!

How to get your iPhone running SIP on your ShoreTel IPBX!

If you are and iPhone aficionado, you absolutely want your iPhone to work  on your ShoreTel IPBX! I recently downloaded VeNetCorps SipPhone fromt the iPhone App store! There are several SIP phone apps at the store, but most have a pre-programmed domain name for the sip registration proxy server. If you want to use your own SIP proxy there was no easy way to change the IP address so you had to hack your DNS to get it to point to the ShoreTel SIP proxy. Also you need at least iPhone firmware 2.2 as previous versions had WiFi connectivity challenges that negatively impacted the potential for using a SIP softphone. After the iPhone WiFi acquired an IP address, if you attempted to ping the address you would see latency in excess of 300ms. With version 2.2 this issue has all but become unnoticeable. As with any SIP extension setup on ShoreTel, you need to assign sip extension proxy resources on a ShoreGear switch. In the sites section of the ShoreWare Director, make sure you assign a virtual IP address. This is the address you will use for your “domain’ when you setup the Iphone SipPhone. Clearly you will need a User setup with a SIP phone password defined in the individual user section of the ShoreWare Director.

Clearly the assumption here is that you have a WAP that your iPhone can connect to. Also that that wireless connection can route to your ShoreTel network! Once the ShoreTel SIP user, virtual IP address and proxy resources are configured it is time to configure your iPhone SipPhone! After you down load the application and tap to activate the application you will get a screen that lists the options: Dialer, Recent, Contacts, Accounts and Settings. Hit the Accounts tab and you will then EDIT a new SIP account. To get this app to work on ShoreTel you need to enter only three values. First you need to enter the domain name, we have previously defined in the ShoreTel Director as the Virtual IP address. The Username and password are also as specified in the individual user setup in ShoreTel. Hit the DONE tab, and the phone should register and you can make and receive calls from your ShoreTel. I put together a video clip that covers this so you can see that it accutaly works! The video suggests that you enter the user name, but if you want to call the iPhone from a ShoreTel extension, enter the user’s extension number instead.  This was just a fun project and latency on the iPhone WiFi is still a challenge for SIP phone usage.  I suspect that Version 3.0 of the iPhone will fix this small issue, but it was a blast trying it out!  Enjoy!

Add your iPhone as a ShoreTel SIP extension!