Grandstream HandyTone 502 - HT502 - Wiki

Check out our YouTube channel to watch our simple tutorials that will help you set up most of our features.

Grandstream HandyTone 502 - HT502

From Wiki

Jump to: navigation, search
Grandstream HandyTone 502 - HT502

The Grandstream HandyTone 502 is a two-line analogue telephone adapter with a built-in single port wired 10/100Mbps LAN router and network address translation (NAT). It is reported to support both tone and pulse dial (a capability which was removed from the later HT702).

A product description and manual is available from the manufacturer. You can access your User Manual here and it includes your device's star codes on page 25:


Connecting the HandyTone

1. Connect a standard touch-tone analog telephone to PHONE port (or PHONE1, PHONE2 port for HT386/496/502).

2. Connect a PSTN telephone line to LINE port (optional, applies to HT386/486/488/503 only).

3. Insert the Ethernet cable into the Ethernet port (HT286/386) or WAN port (HT486/488/496/502/503) of HandyTone and connect the other end of the Ethernet cable to an uplink port (a router or a modem, etc.).

4. Connect a PC to the LAN port of HandyTone (optional, applies to HT486/488/496/502/503 only).

5. Insert the power adapter into the HandyTone and connect it to an electrical outlet.

6. Using the HandyTone embedded web server or IVR (Interactive Voice Prompt) menu, you can further configure the phone using either a static IP or DHCP.


Accessing to the Web Configuration

1. From the analog phone, press *** to get into the IVR menu. Enter option 02 to obtain the HandyTone’s IP address.

2. For HT486/488/496/502/503, please enable the “WAN side HTTP access” option by entering IVR option 12 and press 9. A reboot or power cycle of the HandyTone is required after this change. You can also access the HandyTone’s web configuration from a PC connected to the LAN port via

3. Type the HandyTone’s IP address in your PC browser.

4. Log in using password “admin” to configure the HandyTone.


Step 1:

  • Click on FXS 1 to configure your first line.

Step 2:

Fill the followings fields.

  • Account Active: Yes
  • Primary SIP Server: (Pick one of multiple VoIP Servers)
  • Outbound Proxy: Set the same server you've configured at the Primary SIP Server field
  • NAT Traversal: No, But Keep-alive
  • SIP User ID: 100000 (Replace with your Main SIP account or Subaccount UserID, e.g. 198765 or 198765_sub)
  • Authenticate ID: 100000 (Replace with your Main SIP account or Subaccount UserID, e.g. 198765 or 198765_sub)
  • Authenticate Password: ********* (account password)
  • SIP Registration: Yes
  • Register Expiration: 5 minutes
  • Preferred Vocoder: Select as primary option the PCMU codec and as secondary option the G729 codec
  • Allow Incoming SIP Messages from SIP Proxy Only: Yes


Step 3:

  • (Optional) Select a customised dial plan.

Step 4:

  • Click on Basic settings to configure your time zone.
  • Set Time Zone to one of the predefined values (such as Eastern Time: GMT-5) or a self-defined time zone (for example: MTZ+6MDT+5,M4.1.0,M11.1.0) for your area.
Don't forget to reboot your device after you've applied the recommended settings.

Dial plans

The use of a customised dial plan is optional.

A dial plan contains a series of digit sequences, separated by the | character, entirely enclosed within { curly brackets }. Each time a phone button is pressed, the ATA will attempt to match the digit sequence to the dial plan.

Grandstream's default dial plan

{ x+ | *x+ | *xx*x+ }

We recommend the use of the dial plan presented below, however, you can build your own dial plan depending on your needs

{911|[3469]11|*xx.|<=1>[2-9]xxxxxxxxx|1[2-9]xxxxxxxxx|<=1555>[2-9]xxxxxx|011xxxxxxxxxxxx.|011[2-9]x.| 4xxx | ***xx} 
Replace the 555 with your area code if you want to be able to dial 7 digit numbers.

Building your own dial plan

In theory, a standard dial plan could be adapted to Grandstream as:


This would attempt the following translations:

911 (the North American emergency number) is passed verbatim
310xxxx passes any seven-digit 310-xxxx numbers verbatim
<=1555>[2-9]xxxxxx adds area code 1-555 to seven-digit local calls (which begin with anything other than 0 or 1)
1[2-9]xx[2-9]xxxxxx passes any full eleven-digit North American format (1-NXX-NXX-XXXX) telephone number verbatim
[2-9]xx[2-9]xxxxxx passes any ten-digit North American format (NXX-NXX-XXXX) telephone number verbatim. This is not compatible with the 7-digit rule above.
*xx passes any 'star' and two digit codes (like *73 to disable call forwarding)
*xx. is similar but passes any code with 'star' followed by at least two digits
***xxx passes three stars followed by any three numeric digits
[3468]11 passes 311, 411, 611 and 811 verbatim
822|0|00 passes 822, 0 or 00 verbatim
4xxx passes any four-digit number in the 4000-4999 range (such as 4443, an echo test for troubleshooting)
**275*x. passes any number with **275* followed by at least one digit (a dialling code to reach SIP Broker numbers)
xxxxxxxxxxxx. passes any number which consists of a dozen or more consecutive numeric digits

Unfortunately, in the Grandstream dial plans, as soon as one rule is matched (except for x+ or x. which allow an arbitrary number of additional digits) the call is sent out immediately. (By contrast, the Linksys dial plan will wait for a short [typically five second] delay unless 'S0' is specified explicitly). It's therefore not possible to deal with multiple conflicting alternatives by waiting for the user to dial additional digits which could potentially match some other valid pattern.

For instance 444-3xxx (a seven-digit local call) and 4443 (an echo test) might both be desired as valid for some dial plans, but can't both be supported at once. Seven and ten-digit local calls can't both be supported in the same dial plan.

For North American 7-digit dial (adds 1-555- to local calls):

{ 0x+ | *x+ | [2-9]11 | <=1555>[2-9]xxxxxx | 1[2-9]xx[2-9]xxxxxx |***xxx | **275*x+ | *xx*x+ }

For North American 10-digit dial:

{ 0x+ | *x+ | [2-9]11 | [2-9]xx[2-9]xxxxxx | 1[2-9]xx[2-9]xxxxxx |***xxx | **275*x+ | *xx*x+ }

For no translation of domestic numbers:

{ x+ | *x+ | ***xxx | **275*x+ | *xx*x+ }

Note: In the seven digit dial plan, replace 555 by the area code of your choice. The 4443 (Echo Test) and 4747 (DTMF Test) dialling codes will not be supported.

The dial plan structure (described on page 44 of the manual is otherwise very similar to that described for the Dial Plan for Linksys ATAs with minor discrepancies:

Grandstream 502 Cisco/Linksys ATA's Function
0 1 2 3 4 5 6 7 8 9 * # a b c d You can use any of these characters to represent a pressed phone digit.
x Any phone digit, [0-9]
[sequence] You can enter characters between brackets to create a list of acceptable digits.
For example, if you enter the range [1-5], the user may only press the digits from 1 to 5.
You can also use individual numbers, and certain other characters, in combination. For example [35-8*] allows the user to press 3, 5, 6, 7, 8 or *. [369]11 allows calls to 311, 611 or 911.
+ (plus) or . (period) . (period) You can use a period to accept zero or more entries of a give digit.
For example, 01. allows the user to enter 0, 01, 011 and so on, while xx+ allows any two or more numeric digits to be dialled.
<dialed=substituted> <dialed:substituted> This is used for sequence substitution, you can use this to indicate that certain numbers dialled are replaced by other characters. The dialled digits can be zero or more characters.
For example, with <=1555>xxxxxxx if the user dials a 7 digit number, the number 1555 is added to the beginning of the sequence. If the user presses 6782345, the system transmits 15556782345. <2=011> replaces digit 2 with 011 when dialling and < =1> adds a leading 1 to all numbers dialled
^ (leading carat) ! (trailing exclamation point) You can use this character to prohibit a dial sequence.
For example ^1900x+ will reject any sequence that starts with 1900.
{} (curly brackets) () (parentheses) These enclose the entire dial plan text
| (pipe character) These separate each of the individual rules within the dial plan

There are no supported Grandstream 502 equivalents to these codes:

Cisco/Linksys ATA's Function
, (comma) No supported equivalent. Used between digits to play an “outside line” dial tone after a user-entered sequence.
S0 or L0 No supported equivalent. Overrides the Short or Long inter-digit timer to 0 seconds
P# No supported equivalent. Pauses # seconds.

The factory default Grandstream dial plan is: { x+ | *x+ | *xx*x+ } where:

x matches any numeric digit
x+ matches one or more digits
0 1 2 3 4 5 6 7 8 9 * # a b c d match those specific, individual digits only

Each rule is separated from the others by | and the full dial plan is enclosed in { } curly braces.

To ensure that user-dial strings such as *123 are passed through to activate features provided by (as service provider) instead of being handled locally by the Grandstream ATA, the * sequence should be defined inside the dial plan; the resulting dial plan rule would contain: { *x+ }

Known Issues and Resolutions

Hearing an Echo on the Line:

Please go to your FXS port setting screen, the one you are using with our service, and verify that the option 'Disable Line Echo Canceller' is set to NO.
You can also adjust the setting Gain, where the Rx (Other Person) is a gain level for signals transmitted by FXS and Tx (You) is a gain level for signals received by FXS.

Receiving Weird Calls such as from CallerID 100 or in the middle of the Night not showing in your CDR:

These calls are not going through our Network but rather through the internet directly to your ATA Device.
Please check in the Web GUI under each FXS port tab that this option is enabled: Allow Incoming SIP Messages from SIP Proxy Only: Set to YES.
This will make sure you can only receive calls from

Guide Links

In the event where you need the guide directly from Grandstream, you may find the company guide below:

User Manual : Download PDF

Personal tools
Actions Blog
Guides (Français)
Guías (Español)