Dial

Purpose

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).


A screen capture of the Action Dial window

Description

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.

Note: Dialing hook flash on the ROLM switch running E&M protocols may cause the switch to hang up the line.

Using Dial with a common channel signaling process

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.

Format

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.

MF signaling

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).

Call progress tones

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.

Usage notes

The Dial action works in three distinct steps:

  1. It goes off-hook and dials the number string, including the format.
  2. It waits for a ring tone.
  3. It waits for the phone to be answered.

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.

Parameters

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.

Possible results

Dial can have one of the following results:

Succeeded
The switch has received the signal and performed the requested action.
Invalid Phone Number
The phone number or format string specified in the action contained invalid characters or too many characters, or the number of digits in the number did not match the number of # characters in the format string.
Phone Busy
The telephone number dialed was busy.
Network Busy
The combination of the digit string and format dialed a telephone number and the network was busy.
No Answer
The telephone number did not answer within the specified timeout.
Outbound Line Problem
The combination of the digit string and format dialed a telephone number but there was a problem with the line.
Dial Tone
When the application tried to execute the action, it encountered a dial tone.
Unexpected Tone
Unexpected call progress tone was detected. See the Blueworx Voice Response for AIX: Configuring the System information.
Caller Hung Up
The other end has hung up.

ASCII syntax

When using an ASCII editor, code this action with these parameters in the following order:

  1. "GROUND_KEY"
  2. Monitor time

Or:

  1. "HOOK_FLASH"
  2. Monitor time

Or:

  1. "DIGITS"
  2. Number
  3. Format string
  4. Pause time
  5. Ring wait time
  6. Ring time

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.