Use Dial to send the switch a set of numbers, or a hook flash or ground key signal. Dial can also be used to detect the presence of a dial tone (see Parameters).
Dial assumes that a telephone channel is active (from a preceding inbound call or outbound MakeCall) and sends digits immediately.
Like MakeCall and TransferCall, Dial can detect voice energy. When Dial issues a call, the call is considered "answered" in most signaling protocols when the receiver on the ringing phone is lifted (off hook). In some protocols, the call is not considered answered until voice energy is detected. If Dial detects voice energy, independent of the signaling protocol used, the call is successful.
When using a common channel signaling protocol (such as ISDN or SS7), the Dial action can only be used to send DTMF digits over a connected network. It cannot be used to send hook flash or ground key signals, or to detect dial tone, because these are appropriate only for channel associated signaling protocols. As a result, the Dial action cannot be used to set up calls and in these cases MakeCall should be used instead.
When Dial is invoked, the parameter values define both the digit string that contains all the numbers Dial sends and a format for the digit string. The format defines where Dial should pause as it sends the digits specified in the digit string.
Dial recognizes three format characters:
#, which means “This is a digit.”
, (comma), which means “Wait the number of seconds specified by the Pause parameter.” For more information, see Pause.
. (period), which means “Wait the number of seconds specified by the Pause parameter to receive a dial tone. Proceed sending the digit string as soon as the dial tone is received. If the dial tone is not received before the specified time elapses, terminate the Dial action with the result Outbound Line Problem.” For more information, see Pause.
If the Dial Tone Detection system parameter is set to no dial tone, the period has the same effect as a comma.
For example, the format of a digit string that dials 9 to get a trunk, followed by a seven-digit telephone number, could be either #,####### or #.#######, depending on whether you want Blueworx Voice Response to proceed immediately after pausing, or proceed only when a dial tone is received. When the action pauses, it waits for the system default time (two seconds) unless you define a different wait time using the Pause parameter.
If the switch does not send a standard dial tone, use a comma rather than a period to format the digit string. This will ensure that the digits are sent after the time specified by the Pause parameter, regardless of the tone received.
When you define the digit string and format for a call that is to be made using multifrequency (MF) signaling, the digit string must include the characters that define the MF auxiliary signals that send a start digit (KP) and stop digit (ST).
Blueworx Voice Response maps characters to MF auxiliary signals as follows:
Character |
MF Auxiliary Signal |
---|---|
* |
Code op11 |
# |
Code op12 |
D |
KP or KP1 |
B |
KP2 |
C |
ST |
For example, using MF signaling, the digit string and format used to send an area code and telephone number preceded by a 9 would look like this:
D9CD4085551212C ###,###########
The switch reads this combination as KP (start of a digit sequence), 9 (get a trunk), ST (end of a digit sequence), pause, KP (start of a digit sequence), 4085551212 (the telephone number), ST (end of a digit sequence).
Dial can recognize the call progress tones. The tones that are received when an application executes a Dial action depend on the precise switch configuration for your system. To display the call progress tone values, from the Welcome window select Configuration, then Pack Configuration. The information on the call progress tones is under the Direction & Tones button. For more information, see the Blueworx Voice Response for AIX: Configuring the System information.
To succeed, Dial expects certain call progress tones (for example, a dial tone before dialing, and a ring tone after dialing). If other tones are detected (for example, a busy tone), the System : Progress tone type (SV176) and System : Progress tone ID (SV175) system variables are set to identify the tone received. The tones that Dial recognizes are assigned specific results that identify the tone, as listed under Possible results. If Dial does not recognize a tone, it returns the Unexpected Tone result.
Note that the dial tone provided by the public switched telephone network in Italy is not recognized.
The Dial action works in three distinct steps:
While dialing the number, a period (.) in the dial string causes the action to wait for a dial tone before proceeding. If the action does not receive a dial tone within the time specified in the Pause parameter, it terminates with an Outbound Line Problem result. If it receives a tone other than a dial tone, it terminates with an Unexpected Tone, Phone Busy, Network Busy, or Dial Tone result, depending on the tone received.
After the number has been dialed, Dial waits for a ring tone. Because some protocols do not provide ring tones, and because it is possible for the call to be answered before a ring tone is generated, the action can also detect that the call has been answered during this time. This means that, depending on the protocol, an answer is detected either by signaling or by voice energy. If a ring tone or an answer is not detected within the time specified in the Ring Wait parameter, the action terminates with an Outbound Line Problem result. If an answer is detected, the action terminates with a Succeeded result. If the action receives a tone other than a ring tone, the action terminates with an Unexpected Tone, Phone Busy, Network Busy, or Dial Tone result, depending on the tone received.
In the final step, the action waits for up to the time specified in the Ring Time parameter for the call to be answered. This is detected by signaling for protocols that support answer detection or by voice energy for protocols that do not (loop start and ground start). If the call is not answered in the specified time, the action terminates with a No Answer result.
The parameters for Dial identify whether the action is sending a ground key, hook flash, or a digit string to the switch. The parameters differ, depending on what you are sending.
Actions Ground Key and Hook Flash are not applicable to common channel signaling processes.
When used with a common channel signaling process, Phone Number specifies the digit string to send to the process.
When using a common channel signaling process, Format must contain only “#” characters. The “,” and “.” characters are not supported.
Pause is not applicable to common channel signaling processes and is ignored.
Ring Wait is not applicable to common channel signaling processes and is ignored.
Ring Time is not applicable for SS7 processes and is ignored. For ISDN, Ring Time specifies how long to wait while the called party is being alerted.
Dial can have one of the following results:
When using an ASCII editor, code this action with these parameters in the following order:
Or:
Or:
For example:
label: "Check Edges" Dial("GROUND_KEY", 100) edge EDGE_DIAL_SUCCESSFUL: successful edge EDGE_DIAL_INVALID_PHONE_NO: invalid_phone_no edge EDGE_DIAL_PHONE_BUSY: phone_busy edge EDGE_DIAL_NETWORK_BUSY: network_busy edge EDGE_DIAL_NO_ANSWER: no_answer edge EDGE_DIAL_LINE_PROBLEM: line_problem edge EDGE_DIAL_DIALTONE: dialtone edge EDGE_DIAL_UNEXPECTED_TONE: unexpected_tone edge EDGE_HUP: hup ; Dial("HOOK_FLASH", 100); Dial("DIGITS", "5367", "####", 3, 10, 10);
The parameters and edges are described above under "Parameters" and "Possible results". For more information, see Testing a state table using the debugger.