The dialable address format describes a number that can be dialed on the given line. A dialable address contains part addressing information and is part navigational in nature. A dialable address is an ASCII string with the following structure:
DialableNumber | Subaddress ^ Name CRLF ...
where:
DialableNumber | digits and modifiers 0-9 A-D * # , ! W w P p T t @ $ ? ; delimited by | ^ CRLF or the end of the dialable address string. Within the DialableNumber, note the following definitions: |
0-9 A-D * # | ASCII characters corresponding to the DTMF and/or pulse digits. |
! | ASCII Hex (21). Indicates that a hookflash (one-half second on hook followed by one-half second off hook before continuing dialing) is to be inserted in the dial string. |
P p | ASCII Hex (50) or Hex (70). Indicates that pulse dialing is to be used for the digits following it. |
T t | ASCII Hex (54) or Hex (74). Indicates that tone (DTMF) dialing is to be used for the digits following it. |
, | ASCII Hex (27). Indicates that dialing is to be paused. The duration of a pause is device specific and can be retrieved from the line's device capabilities. Multiple commas can be used to provide longer pauses. |
W w | ASCII Hex (57) or Hex (77). An uppercase or lowercase W indicates that dialing should proceed only after a dial tone has been detected. |
@ | ASCII Hex (40). Indicates that dialing is to "wait for quiet answer" before dialing the remainder of the dialable address. This means to wait for at least one ringback tone followed by several (usually five or more) seconds of silence. |
$ | ASCII Hex (24). It indicates that dialing the billing information is to wait for a "billing signal" (such as a credit card prompt tone). |
? | ASCII Hex (3F). It indicates that the user is to be prompted before continuing with dialing. The provider does not actually do the prompting, but the presence of the "?" forces the provider to reject the string as invalid, alerting the application to the need to break it into pieces and prompt the user between pieces. |
; | ASCII Hex (3B). If placed at the end of a partially specified dialable address string, it indicates that the dialable number information is incomplete and more address information will be provided later. ";" is only allowed in the DialableNumber portion of an address. |
| | ASCII Hex (7C), and is optional. If present, the information following it up to the next + | ^ CRLF, or the end of the dialable address string, is treated as subaddress information (as for an ISDN subaddress). |
Subaddress | A variably sized string containing a subaddress. The string is delimited by the next + | ^ CRLF or the end of the address string. When dialing, subaddress information is passed to the remote party. It can be such things as an ISDN subaddress or an e-mail address. |
^ | ASCII Hex (5E), and is optional. If present, the information following it up to the next CRLF or the end of the dialable address string is treated as an ISDN name. |
Name | A variably sized string treated as name information. Name is delimited by CRLF or the end of the dialable address string. When dialing, name information is passed to the remote party. |
CRLF | ASCII Hex (0D) followed by ASCII Hex (0A). If present, this optional character indicates that another dialable number is following this one. It is used to separate multiple canonical addresses as part of a single address string (inverse multiplexing). |
Note A dialable address can contain other characters such as spaces, parentheses, hyphens, and so on. The service provider must ignore characters that it does not recognize and strip them from the dialable string before passing the address along to hardware (if necessary). TAPI does not filter out such characters.