Hack 60. Make IP-to-IP Phone Calls with a Grandstream BudgeTone
With minimal effort, Grandstream's BudgeTone series of IP phones can make and receive calls on your networkeven without a PBX server.
In most enterprise VoIP setups, you have a PBX that connects all of the phones on the network. The PBX acts as a centralized signaling authority and access-control server for all of the telephone users. But some IP phones don't need a PBX at all. They can call each other directly by way of an IP address. You're about to make a direct IP-to-IP call with a BudgeTone hardphone.
The Grandstream BudgeTone 100 phone model has a Menu key, an LCD display, and two arrow keys that you use to navigate its configuration menu options: DHCP, IP Address, Subnet Mask, Router Address, DNS Server Address, TFTP Server Address, Codec Selection Order, SIP Server Address, and Firmware Versions (called Code Rel on the phone's screen). When you get to the option you want, you press the Menu key to select it, and then enter the numeric data required for each option using the keypad. Use this menu only to set up the IP address, subnet mask, and router (default gateway) address, because you'll be doing the rest of the phone's configuration using its web interface.
To get the phone enabled for the next configuration step, turn DHCP off and assign an IP address, subnet mask, and router address.
You can perform more advanced configuration using the BudgeTone's built-in web configuration tool. When you use your web browser to access the IP address you assigned, you'll be prompted to log in to the phone. The default password is admin.
Then, you'll be confronted with a big page of configuration options, many of which are available only through this interface, not from the phone's keypad metu. For this project, the only settings we're concerned with are the codec selection ones. Configure the first (highest-priority) codec to be "PCMU" if you're in North America or "PCMA" if you're elsewhere in the world. That's all we're going to cover about codecs for now. After you apply any configuration changes, you need to power-cycle the BudgeTone.
Some IP phones offer a Telnet interface rather than a web-based one. To use these tools, you must connect to the phone with a Telnet client rather than a web browser. In any event, once the network configuration is set on the IP phone, ping its address from another host on the same network subnet to make sure it's speaking Transmission Control Protocol/Internet Protocol (TCP/IP).
5.3.1. Make an IP-to-IP Phone Call
With both IP phones connected to the same Ethernet switch, or directly connected (to each other) using a crossover patch cable, make a note of the IP address you've established for each. In this example, we'll use 10.1.1.103 for the receiver and 10.1.1.104 for the caller. If you have your phones configured for DHCP, give them this static configuration instead.
The BudgeTone can place IP telephone calls from one IP endpoint directly to another without the need for a VoIP call-management server. This is known as IP-to-IP calling. Since each IP phone has a unique identification characteristic within the scope of the networkan IP addressone phone can call the other by IP address as if it were a phone number.
Now, to dial by IP address. All IP addresses are 12 decimal digits long, even if preceding zeros aren't visible when notated. Conversely, the dots (.) that are normally included in a notated IP address are not dialed. So, on the BudgeTone phones, 10.1.1.103 is dialed as:
010 001 001 103
To dial, take the phone off the hook so that you hear a dial tone, and then press the Menu key, dial the address of your second phone according to the convention just shown, and press the Send or Redial button. Of course, nobody would want to dial 12-digit IP addresses to place phone calls all the time; call management servers, like Session Initiation Protocol (SIP) registrars, provide more elegant dialing conventions. However, dialing by IP address does allow you to circumvent call management and make a direct VoIP connection between two endpoints.
When the receiving phone rings, have somebody answer the call. If you can hear them talk through your IP phone's handset, you've just made your first successful VoIP phone callsort of the IP equivalent of Bell and Watson's first phone call back in 1876.
If the receiving phone doesn't ring, you might have to check the IP address you dialed, check the phone's configuration to make sure it is listening on the default port for SIP5060and make sure SIP registration is turned off. These options concern the Grandstream's use with a PBX server, which isn't a factor in this case.
5.3.2. Mounting the Grandstream on the Wall
For practical, day-to-day use, Grandstream, shown in Figure 5-1, has a few shortcomings. At the top of my "bug list" for the Grandstream 101 is its half-baked support for being hung on the wall (in addition to sitting flat on the desktop). I say half-baked because Grandstream provides screw holes for hanging the phone on the wall, but it doesn't provide a notch to keep the handset on the phone when it's hanging. So, the handset just slips off the phone when you attempt to set it upright.
Figure 5-1. The Grandstream BudgeTone is a great, cheap SIP phone
This won't do. I've envisioned two ways to deal with this problem. First, you can go the Velcro route. Apply about a square centimeter of Velcro adhesive hook strip to the handset, at the point where a normal wall-hanging handset's notch would be. At the corresponding position on the phone itself, put the same amount of Velcro latch strip so that when you hang up the handset, it actually stays in place.
The second way to deal with the wall-hanging problem, which is probably a longer-lasting or more durable approach, is to drill a small hole in the phone base at the point where the wall-hanging notch should be. The hole should be about one-third of an inch to three-quarters of an inch in diameter. Then, again, at the corresponding spot on the handset, screw into the plastic casing a very short, round-headed screw. The head of the screw, if small enough to fit into the hole you drilled, should keep the handset firmly latched onto the phone's base. Not pretty, but it works.