cc/td/doc/product/tel_pswt/vco_prod
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

System Commands

System Commands

System commands allow host application program control of many configuration parameters and resources. These commands fall into five types: configuration control, system status, system diagnostics, system maintenance, and resource control.

System commands consist of a string of bytes immediately following the Network Header; refer to "Message Structure Overview." Although the format of the commands vary, they all begin with a Function Identifier. Table 4-1 shows the command type and Function ID for each system command.

.


Table 4-1: System Commands and Function Identifiers
Function ID Command Name Command Type

$49

ISDN Port Control

Resource Control

$491

SS7 Port Control

Resource Control

$65

Subrate Path Control

Resource Control

$66

Voice Path Control

System Diagnostics

$67

DTMF Collection Control (Standard)

Resource Control

$67

DTMF Collection Control (Enhanced)

Resource Control

$68

MF Collection Control

Resource Control

$69

Outgoing Port Control

Resource Control

$6A

Incoming Port Control

Resource Control

$6B

Change Incoming Port

Resource Control

$6C

Voice Port Control (Standard)

Resource Control

$6C

Voice Port Control (Enhanced)

Resource Control

$6D

Conference Control

Resource Control

$70

Port Hook State Control

Resource Control

$72

Port Supervision Control

System Diagnostics

$80

Request Resource Allocation

System Status

$81

Request Hardware Allocation

System Status

$82

Card Status

System Status

$83

Port Status

System Status

$90

Change Port Status

System Maintenance

$91

Voice Prompt Maintenance Control

Resource Control

$30 011

SS7 Circuit Query

System Status

$30 021

SS7 Circuit Sync

Configuration Control

$C0 00

Configure VCA/Set System Clock

Configuration Control

$C0 01

Change Active Controllers

Configuration Control

$C0 02

T1 Synchronization Control

Configuration Control

$C0 03

Set/Reset Host Alarms

Configuration Control

$C0 04

Host Load Control

Configuration Control

$C0 05

Host Assume/Relinquish Port Control

Configuration Control

1Refer to the appropriate Integrated SS7 System Supplement for detailed information on any SS7 command.

The sections that follow describe each command. The sections are arranged in hexadecimal numerical order according to the command's Function ID.

The description of each command contains the following information:

Each byte in a command is a hexadecimal (base 16) number. Most commands require you to convert this hexadecimal number into binary (base 2) or decimal (base 10) numbers to interpret the byte. A decimal-hex-binary conversion table is provided in "Decimal/Hexadecimal/Binary Conversion.". Users should set all undefined bits and bytes to zero within the present commands to allow for future enhancements.

Byte offset values under the Format heading are counted from the initial byte of the Network Header (byte offset 0 D 3). Interpret these values according to the list below:

Byte Offset Meaning

byte offset a

Description applies to that single byte.

byte offset a & b

Description applies to the two consecutive bytes.

byte offset a - c

Description applies to all bytes a through c, inclusive.

byte offset a/b

Description applies to the second nibble of byte a and all of byte b.

byte offset a/n

Description applies to a variable number of consecutive bytes between a and n.

byte offset n+1

Description applies to a byte that follows a variable number of bytes (a - n).


Note   Unless otherwise stated, the MF processing described in this chapter applies to both MF and MFCR2 processing.

ISDN Port Control ($49) Command

Command Type

Resource Control

Description

Use the ISDN Port Control ($49) command for all call control functions for an ISDN call, including the following:

Use the $49 command to control ISDN B-channels and non-ISDN network interface ports.

This command also supports the control of disconnect at call tear down and the receipt of ISDN Port Change of State ($EA) report.

Usage Guidelines

Total command length cannot exceed 250 bytes.

Specify the controlling port by either B-channel port address or D-channel port address and Call ID.

Choose the associated (outgoing) port in one of two ways: specify the port address, or specify the resource group for the system to reference.

The selected Call ID and B-channel is returned to the host if Return All is set in the network header. The returned command is truncated to report only through byte offset 14.

In interworking scenarios, either the controlling or associated port can be a non-ISDN port.

The call is controlled by the D-channel address and Call ID (If a B-channel has been selected, this address would be used instead.) D-channel address and Call ID are reported to the host via the ISDN Inpulse Rule Complete ($ED) and ISDN Port Change of State ($EA) reports.

If you specify IEs, code them as they would appear in a D-channel message. IEs specified in the command are included in the next D-channel message transmission.

You can specify the following number of bytes of information for call record digit fields:

For this information, use standard system digit strings, IA5 (ASCII) digits, an IE header, or a complete IE. The information is contained in an Outpulse Control segment; use one segment per field. The Outpulse Control Code byte specifies the format of information contained in the segment. This format corresponds to the FLD, I FLD, and D FLD designations used in the ISDN Message Templates. In addition, you can specify individual IEs to be transmitted without storing the data into a digit field.

Connection of an ISDN incoming port to another ISDN incoming port or ISDN outgoing port to another ISDN outgoing port is supported, provided both ports are in the ACTIVE (answered) state.

Main Command Segment

The Main Command segment is composed of byte offsets 4 through 33 and must be included in its entirety. Disconnect Control and Rule Control bytes are included in the Main Command segment. Components of the Main Command segment are defined in the next section.

Format

Figure 4-1 shows the byte formatting for this command.


Figure 4-1: $49 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Tone Plan (byte offsets 9 to 12)—Byte offsets 9 and 10 uniquely identify the tone plan used. Byte offsets 11 and 12 are reserved for future enhancements and must remain 00 in this command. Access the VCO/4K administration software Multiple Tone Plan Configuration screen to view a listing of the available tone plan names and their associated unique tone plan identification numbers, which are decimal values. From the Multiple Tone Plan Configuration screen, determine which tone plan name to configure in this command and make a notation of its associated unique tone plan ID decimal value. Convert the decimal value to hexadecimal and specify the hexadecimal value in the command. Use the following quick reference for the tone plan segment:

Controlling Port Address (byte offsets 13 to 16)—Hexadecimal representation of the controlling port circuit address for which the command is sent. If the Controlling Address Identifier (byte offset 19) is $01, these bytes represent the specific B-channel assigned to the call or a non-ISDN port.

Controlling Call ID (byte offsets 17 and 18)—Specifies the ISDN Call ID for the controlling port. If the host is to perform B-channel selection, specify the port address of the target channel along with the Controlling Call ID; set the Controlling Address Identifier (byte offset 19) to $01.

Controlling Address Identifier (byte offset 19)—Specifies whether the controlling port is identified by Call ID or by B-channel/non-ISDN port. If the host is to perform B-channel selection, specify the port address of the target channel along with the Call ID and set this byte to $01. Specify the byte according to the following list:

Associated Port Address (byte offsets 20 to 23)—Hexadecimal representation of the associated (outgoing) port circuit address for which the command is sent, or the resource group number from which to select the outgoing port. You must set the Associated Address Identifier (byte offset 26) to $01. Byte offsets 20 to 23 represent the specific B-channel to be used, a non-ISDN port, or the resource group number (byte offset 23) from which to select the port; select resource group by setting the P bit in the Connection Control bytes (offset 27 and 28). For a new call, the D-channel designates the interface that carries the call. The actual channel selection depends upon the coding of the Channel ID IE. This IE can be host-specified or system-generated via the ISDN Transmit Message Template.

Associated Call ID (byte offsets 24 and 25)—Specifies the ISDN Call ID for the associated (outgoing) port. When the command is returned to the host, these bytes indicate the Call ID assigned to the call. These bytes must be set to $00 00.

Associated Address Identifier (byte offset 26)—Specifies that the associated (outgoing) port is identified by B-channel/non-ISDN port/resource group. Specify the byte according to the following list:

Connection Control (byte offsets 27 and 28)—Specifies the switching, attaching, hunting, and voice path control options when this command is used to connect a call. Byte offset 28 is reserved for future enhancements and must be set to $00. Construct byte offset 27 according to the following descriptions, then convert to hexadecimal for use in the command.

    SAPVV000 00000000
S—Specifies if switching action is required.

S = 0—No switching action required; the A bit is ignored and should be set to 0.
S = 1—Switching action required.
A—Specifies whether to link or remove a resource.

A = 0—If S = 1, remove resource from call; if S = 0, no meaning.
A = 1—If S = 1, link resource to call; if S = 0, no meaning.
P—Specifies whether to use a specific outgoing circuit or to select any outgoing circuit from a resource group; port address or group number is specified in Associated Port Address bytes.

P = 0—For S = 0 or 1, use port specified in Associated Port Address bytes; port could be either D-channel or B-channel.
P = 1—For S = 1, select port from resource group specified in Associated Port Address bytes; the port address of the selected channel is specified in the command returned to the host.
VV—Specifies additional speech path control functions performed as part of this command. For outgoing circuits, these functions are shown below:

VV = 00—(Default) defer two-way speech path between incoming port and outgoing port until end of outpulse rule processing.
VV = 01—Defer two-way speech path between incoming port and outgoing port until outgoing port answers.
VV = 10—Cut two-way speech path between incoming port and outgoing port immediately, before starting outpulse rule.

Disconnect Control Bytes

The Disconnect Control bytes are always included in the command. You can only define byte offset 29 at this time. Byte offset 29 specifies the disposition of ports when the call is torn down, and the reporting that occurs for DISCONNECT messages, RELEASE messages, and on hook conditions. Byte offset 30 is reserved for future enhancements and should be set to $00.

Bit settings in byte offset 29 are overridden if any of the following commands are processed for either port in the $49 command:

The definition of this byte varies slightly for each case as described in the following text.

Attaching

If you want to attach an outgoing port (S and A = 1 in byte offset 15 and 16), define the Disconnect Control byte as follows.

Disconnect Control (byte offsets 29 and 30)—Determines what actions to take on a port when the opposite end releases. This byte is ignored when used to attach to a virtual port. Specify values for the Disconnect Control byte, set byte offset 30 to 00. Construct the byte in binary according to the following descriptions, then convert to hexadecimal for use in the command.

    0DRTICU0 00000000
D—Specifies whether to suppress the $EA report indicating DISCONNECT received on the incoming port. The DISCONNECT (request to disconnect) message may precede the RELEASE (B-channel has been released) message. Valid for ISDN channels only.

D = 0—$EA report indicating DISCONNECT received on the incoming port is suppressed (applicable only if the incoming port is an ISDN port).
D = 1—$EA report indicating DISCONNECT received on the incoming port is not suppressed (applicable only if the incoming port is an ISDN port).
R—Specifies whether to suppress the $EA report indicating DISCONNECT received on the outgoing port. The DISCONNECT (request to disconnect) message may precede the RELEASE (B-channel has been released) message. Valid for ISDN channels only.

R = 0—$EA report indicating DISCONNECT received on the outgoing port is suppressed (applicable only if the outgoing port is an ISDN port).
R = 1—$EA report indicating DISCONNECT received on the outgoing port is not suppressed (applicable only if the outgoing port is an ISDN port).
T—Specifies whether to suppress the $EA report indicating RELEASE received on the incoming port.

T = 0—$EA report indicating RELEASE was received is generated when the incoming port releases if it is an ISDN port. For a non-ISDN port, a $DB report is generated.
T = 1—Suppress $EA or $DB reports.
I—Specifies whether to return the incoming port to CP_SETUP state when the outgoing port releases.

I = 0—Force incoming to idle; physical release and begin Permanent Signal processing.
I = 1—Set incoming to setup state upon outgoing disconnect.
C—Specifies whether to suppress the $EA report indicating RELEASE received on the outgoing port.

C = 0—$EA report indicating RELEASE was received is generated when the outgoing port releases if it is an ISDN port. For a non-ISDN port, a $DA report is generated.
C = 1—Suppress $EA or $DA reports.
U—Specifies whether to return the outgoing port to CP_SETUP state when the incoming port releases.

U = 0—Force outgoing to idle; physical release and begin Permanent Signal processing.
U = 1—Set outgoing to setup state upon incoming disconnect.

Detaching

If you want to detach an outgoing port (S = 1 and A = 0 in byte offset 15), define the Disconnect Control byte as follows.

Disconnect Control (byte offset 29)—Determines what actions to take on the outgoing port when it is detached via this command. The outgoing port may be connected to a virtual port. If you specify values for the Disconnect Control byte, you must set byte offset 30 to 00.

Construct the byte in binary according to the following descriptions, then convert to hexadecimal for use in the command.

    0DRTICU0
D—Specifies whether to suppress the $EA report indicating DISCONNECT received on the incoming port. The DISCONNECT (request to disconnect) message may precede the RELEASE (B-channel has been released) message. Valid for ISDN channels only.

D = 0—$EA report indicating DISCONNECT received on the incoming port is suppressed (applicable only if the incoming port is an ISDN port).
D = 1—$EA report indicating DISCONNECT received on the incoming port is not suppressed (applicable only if the incoming port is an ISDN port).
R - Specifies whether to suppress the $EA report indicating DISCONNECT received on the outgoing port. The DISCONNECT (request to disconnect) message may precede the RELEASE (B-channel has been released) message. Valid for ISDN channels only.

R = 0—$EA report indicating DISCONNECT received on the outgoing port is suppressed (applicable only if the outgoing port is an ISDN port).
R = 1—$EA report indicating DISCONNECT received on the outgoing port is not suppressed (applicable only if the outgoing port is an ISDN port).
T—Specifies whether to suppress the $EA report indicating RELEASE received on the incoming port.

T = 0—$EA report indicating RELEASE was received is generated when the incoming port releases if it is an ISDN port. For a non-ISDN port, a $DB report is generated.
T = 1—Suppress $EA or $DB reports.
I—Specifies whether to return the incoming port to CP_SETUP state when the outgoing port releases.

I = 0—Force incoming to idle; physical release and begin Permanent Signal processing.
I = 1—Set incoming to setup state upon outgoing disconnect.
C—Specifies whether to suppress the $EA report indicating RELEASE received on the outgoing port.

C = 0—$EA report indicating RELEASE was received is generated when the outgoing port releases if it is an ISDN port. For a non-ISDN port, a $DA report is generated.
C = 1—Suppress $EA or $DA reports.
U—Specifies whether to return the outgoing port to CP_SETUP state when this command is processed.

U = 0—Force outgoing to idle; physical release and begin Permanent Signal processing.
U = 1—Set outgoing to setup state.

Rule Control Byte

The Rule Control byte is always included in the command, and specifies rule processing. The null Outpulse Rule (outgoing port seized then transition immediately into wait for final answer - CP_WTFSUP MState) is not supported for ISDN ports. Therefore, if you set this byte to $00, it has no affect on the outcome of the $49 command.

Rule Control/Rule Number (byte offsets 31 to 33)—Specifies whether an outpulse or inpulse rule is used in this command and the rule number, if any. Construct the byte in binary according to the descriptions that follow, then convert to hexadecimal for use in the command.

    X0I000000
X—Specifies to invoke an outpulse rule.

X = 0—Do not invoke an outpulse rule.
X= 1—Invoke the outpulse rule identified in the next byte (Rule Number, bytes 32 and 33). I must be set to zero.
I—Specifies to invoke an inpulse rule.

I = 0—Do not invoke an inpulse rule.
I = 1—Invoke the inpulse rule identified in the next byte (Rule Number, bytes 32 and 33). X must be set to zero.

Outpulse Segment Count Byte

The Outpulse Segment Count byte is always included and specifies how many Outpulse Control Segments are in the command. If you set this byte to $00, the IE Control byte follows in offset 35; otherwise, the IE Control byte follows the final Outpulse Control Segment.

Outpulse Segment Count (byte offset 34)—Specifies how many Outpulse Control Segments are included in the command. Convert from decimal to hexadecimal for use in the command. Valid values are from $00 to $05.

Outpulse Control Segment

An Outpulse Control segment is up to 86 bytes long and is optional. Each segment consists of an Outpulse Control byte, an Outpulse String Length byte, and one or more Outpulse String bytes.

You can use up to five Outpulse Control Segments in a single command. Specify the number of segments with the Outpulse Segment Count byte (byte offset 34). You must specify a valid outpulse rule for any new originating call attempt which uses an ISDN B-channel. The null outpulse rule is not valid for ISDN B-channels.

Figure 4-2 shows the format and components of the Outpulse Control segment.


Figure 4-2: Components of the Outpulse Control Segment


Outpulse Control—Specifies the call record field in which to save the information that follows and the format in which the information is specified. This information can be in the standard system format (Binary Coded Decimal), IA5 (ASCII digits), an intermediate ISDN IE (header only), or a complete ISDN IE. Information can be specified when executing either an inpulse or outpulse rule. The inpulse rule may contain a DO ORULE token. If information will pass to an outpulse rule, construct the byte in binary according to the following descriptions, then convert to hexadecimal for use in the command.

    FFF000XX
FFF—Specifies the call record field to receive the digit string:

FFF = 001—Field 1.
FFF = 010—Field 2.
FFF = 011—Field 3.
FFF = 100—Field 4.
FFF = 000—ANI (originating number field).
XX—Specifies the format in which the information is specified:

XX = 00—This value is the number of digits included in BCD format, otherwise this byte specifies the Outpulse String Length. Convert from decimal to hexadecimal for string length.
XX = 01—IA5 (ASCII) digits; equivalent to D FLD.
XX = 10—A complete ISDN IE; equivalent to FLD.
XX = 11—An intermediate IE (header only); equivalent to I FLD.

Outpulse String Length—Specifies the number of bytes in the string. Valid values for the number of bytes is defined as follows:

Outpulse String—Specifies the information to be outpulsed or forwarded. Information must be in the format specified by the Outpulse Control XX bits.

IE Segment Count Byte

The IE Segment Count byte is used in all $49 commands to specify how many IEs are included in the command. If the Outpulse Segment Count (byte offset 34) is set to $00, the IE Segment Count byte appears in offset 35. Otherwise, the IE Segment Count byte follows the final Outpulse Control Segment.

IE Segment Count (byte offset 35 or following final Outpulse Segment)—Specifies how many IEs are included in the command. Convert from decimal to hexadecimal for use in the command.

IE Segment

The IE Segment bytes contain IEs to be transmitted on the D-channel. The number of IEs contained in this segment appears in the IE Segment Count byte. The IEs to be transmitted on the D-channel must be coded exactly as they will appear in the D-channel message. Formats for IEs are contained in Belcore SR-3338.

System processing ensures proper IE ordering. It is assumed that the IEs received in the host command begin with Codeset 0. If you use a different Codeset, you must use the Codeset Shift in the IE count, and an IE segment with the Codeset Shift IE.

System Response

Command returned by the system with a network status byte not equal to $01 indicates that the command was not processed. The following network status bytes may be returned: $03, $05, $0D, $0E, $0F, $11, $12, $15, $16, $17, $18, $1C, $1E, $1F, $20, $23, $24, $25, $26, $29, $2B, $35, $37, $38, $39, and $3C.

If Return All was specified in the Network Header, byte offsets 4 through 26 are returned to the host with the Associated address information included.

Subrate Path Control ($65) Command

Command Type

Resource Control

Description

Use the Subrate Path Control ($65) command to manage connections (paths) between subrate channels and to establish and maintain subrate connections. You can also use this command to remove a bearer channel connection from the Subrate Switching Card (SSC).

Types of Connections

You can establish one-way (listen-only) or two-way connections between subrate channels with this command. To establish multiple connections with a single command, use either of the following modes:

A two-way path that is overwritten by a new path at only one endpoint causes the old destination to be set to idle. Figure 4-3 illustrates how the same source is switched to transmit to a new destination.


Figure 4-3: Connections and Paths for the $65 Command


The $65 command allows you to connect or disconnect channels. When you disconnect a channel, you are setting it to listen to idle. When the Subrate Switching Card is brought into service, all paths are set to 8 kbps idle.

Usage Guidelines

Use this command to specify the subrate channels to be switched in terms of how you identify them—by subrate channel width, subrate channel offset, and bearer channel. For example, you may want to switch a subrate channel that is three bits wide beginning at offset 3 on bearer channel 20 of a T1 card. The following rules apply:

Attachment to the Subrate Switching Card

When the system receives a $65 command for subrate path establishment, it checks the destination bearer channels to see if they are already attached to the Subrate Switching Card (SSC). If they are not attached and are idle and if there are time slots available on the SSC to which the bearer channels can be attached, then processing for the $65 command automatically attaches the destination bearer channels to the SSC, and the path connection is made.

The following rules apply:

After Attachment

No subrate switching occurs until the system has determined that all specified destination bearer channels are attached to the SSC. Initial connection of a bearer channel to the SSC for subrate path establishment automatically sets the unaddressed, or unused, portion(s) of the bearer channel to listen to idle.

Format

Figure 4-4 shows the byte formatting for this command.


Figure 4-4: $65 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the VCO/4K system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Control/Options (byte offset 13)—Sets up the conditions to be used for this command. Construct bytes in binary according to the descriptions that follow, then convert to hexadecimal for use in the command. All undefined bits must be set to zero.

    D0MB0TPP
D—Detaches bearer channel.

D = 0—Creates a path as specified by other bits in the command. Any bearer channels are automatically attached by the system.
D = 1—Forcibly detaches the port addressed in the source port address bytes from the SSC. All contained subrate channels are deleted. When D = 1, the only other pertinent data in the command are the bytes at offset 9 and 10—source timeslot address. The remaining control bits in this byte are ignored; the remaining command data bytes are "don't care" values.
M—Specifies multiple destination mode, that is, broadcast mode (one-to-many, source-to-destination channel switching). Use this mode to connect many listeners (destinations) to a single speaker (source). The parameter bytes (byte offsets 6 and 7) specify the number of connections to make (i.e., the number of destination endpoints on the command).

M = 0—Disables multiple destination mode.
M = 1—Enables multiple destination mode. M = 1 is only valid if PP = 01 (one-way path establishment).
B—Specifies bulk switching mode (one-to-one, source-to-destination bulk channel switching). This mode switches the number of contiguous subrate channels specified in the parameter bytes (byte offsets 14 and 15) originating at source endpoint and terminating on destination endpoint. The command allows only one destination endpoint specifier. Subsequent source and destination channels are computed based on channel width (byte offset 16). All subrate channels are of constant width, as defined in the subrate channel width byte (byte offset 16).

B = 0—Disables bulk switching.
B = 1—Specifies bulk switching action.
T—Removes a path (path teardown). You can use the T bit in conjunction with the M and B bits for multiple path teardowns.

T = 0—Leaves a previously established one-way or two-way path unchanged.
T = 1—Removes a previously established one-way or two-way path.
PP—Specifies path control modifier.

PP = 01—One-way connection (destination listens to source).
PP = 10—Two-way connection (destination listens to source, and source listens to destination).
If you want to do a contiguous broadcast, set PP to 01 and both M and B to 1. The number specified in the parameter bytes (byte offsets 6 and 7) is the number of one-way paths that would be established and is interpreted according to the B control setting. These control settings form a hybrid of the multiple and bulk functions which is used to establish a number of one-way (listen-only) paths between the listener channels starting at destination endpoint and a single source. Only a single destination is specified. Subsequent destinations are computed based on channel width.

Parameter (byte offsets 14 and 15)—Parameter value, defined as follows:

If M = 1 in byte offset 5, this value specifies the number of destination path endpoints in the command.

If B = 1 in byte offset 5, this value specifies the number of subrate channels to switch in bulk.

Table 4-2 summarizes the interpretation of the M and B bits in the Control/Options byte (byte offset 13) and their combined effects on the interpretation of the parameter (byte offsets 14 and 15).


Table 4-2: M and B Bits in the Control/Options Byte
M B Comments

0

0

Parameter value is unused.

One path is established between the source and the single destination channels (Source, Destination) or (S, D).

0

1

One-way or two-way contiguous channel bulk switch.

P is the number of contiguous channels to switch in bulk. Source channels are switched one-to-one to destination channels. 'P' channels are switched as paths (S1, D1), (S2, D2), ..., (SP, DP).

1

0

One-way noncontiguous channel broadcast.

P is the number of destination channel identifiers included on command. The path control modifier must specify one-way. All destination channels are set to listen to the specified source channel (one-to-many source channel to destination channels). 'P' channels are switched as paths (S, D1), (S, D2), ..., (S, DP).

1

1

One-way contiguous channel broadcast.

P is the number of contiguous destination channels to switch to listen to a single source (one-to-many source channel to destination channels). Path control modifier must specify one-way. All destination channels are set to listen to the specified source channel. 'P' channels are switched as paths (S, D1), (S, D2), ..., (S, DP).

Subrate Channel Width/Rate (byte offset 16)—Width or rate, in kilobits per second, of the subrate channel being established. Valid entries appear in Table 4-3.


Table 4-3: Valid Entries for Subrate Channel Width/Rate
Value Path Rate

1

8 kbps

2

16 kbps

3

24 kbps

4

32 kbps

5

40 kbps

6

48 kbps

7

56 kbps

8

64 kbps

Source Port Address (byte offsets 17 to 20) and Source Subrate Channel (byte offset 21)—Port address of the speaker bearer channel (bytes 17 to 20) and offset into that channel (in bits) for the start of the source subrate channel (byte offset 21). Bit offset entries are 0 to 7 inclusive.

Destination Port Address (byte offsets 22 to 25) and Destination Subrate Channel (byte offset 26)—Port address of the listener bearer channel (bytes 22 to 25) and offset into that channel (in bits) for the start of the destination subrate channel (byte offset 26).

If M = 1 and B = 0 in byte offset 25, the destination port address and destination subrate channel will appear as many times as the number specified in the parameter bytes (byte offset 14 and 15).

In all other combinations of M and B, only a single destination port address and destination subrate channel is given on the command.

System Response

Table 4-4 shows the network status bytes which may be returned by the $65 command. Refer to "Network Status Byte Definitions," for more detailed explanations.


Table 4-4: Possible Network Status Bytes Returned by the $65 Command
Return Code Description

$01

Successful execution.

$03

Syntax error.

$06

Port specified in command is not idle.

$0F

Call or conference is not controlled by this host.

$12

Port is not line or trunk.

$23

Invalid port address (outside of hardware range).

$24

Port address is for a port or card that is not active.

$29

Could not be processed due to an internal memory allocation error.

$54

Subrate channel width must be greater than zero and less than or equal to eight.

$55

Subrate channel crosses bearer channel boundary.

$56

Bearer channel is not attached to an SSC (received only when command specifies to detach bearer channel).

$57

Bearer channel cannot be attached to an SSC due to timeslot exhaustion.

$58

Connection request rejected, no SSC in service.

$59

Connection request rejected, card redundancy switchover in process.

$5A

Connection request rejected, SSC source and destination bearer subchannel overlap.

$5B

Path removal failed, no such path exists.

$5C

Path removal failed; path exists but is one-way when the host specified two-way, or two-way when the host specified one-way.


Note   Bearer channels which are assigned by the $65 command cannot be used by any other host command. If this is necessary, detach the bearer channels with the $65 command before you use other host commands for the affected port.

Examples

Figure 4-5 provides a context for the examples that follow by illustrating the four types of switching available with the SSC in terms of the M, B, and PP bits in the control/options byte.


Figure 4-5: SSC Switch Types



Example 4-1: $65 Command

Assume no bearer channels are connected to the Subrate Switching Card (SSC)—this is the first subrate switching function you are executing in a command. The following command instructs the system to establish a two-way three-bit wide (24 kbps) subrate channel between bearer channels at port addresses 00000048 and 00000128. The offset of the subrate channel is zero (0) on bearer 00000048; offset five (5) on bearer 00000128:

04 05060708 09101112 13 1415 16 17181920 21 22232425 26 65 00000000 00000000 02 0000 03 00000048 00 00000128 05

Function ID = 65 (Subrate Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Control/Options = 02

    D0MB0TPP 00000010
D = 0 (no detach of bearer from SSC)

M = 0 (no multiple destination mode)

B = 0 (no bulk switching mode)

T = 0 (no path tear down)

PP = 10 (two-way connection)

Parameter = 0000 (unused)

Subrate Channel Width/Rate = 03 (3 bits wide, a 24-kbps channel)

Source Port Address = 00000048

Source Subrate Channel = 00

Destination Port Address = 00000128

Destination Subrate Channel = 05

Because this is the first subrate connection made with the respective bearer channels, the unaddressed portions of those bearers are set to listen to the idle pattern automatically by the system.

One subrate connection now exists—the two-way path as commanded. The unaddressed portions of the bearer channels are set to listen to the idle pattern. This path is shown below in triplet form (bearer channel, subrate channel width, offset).

(00000048, 03, 00) two-way with (00000128, 03, 05), the new two-way path.


Example 4-2: $65 Command

The following command will switch 16 one-bit wide subrate channels (8 kbps) in bulk as two-way connections. The source bearer channels are on adjacent bearer port addresses 00000048 and 00000049. The destination bearer channels are on adjacent bearer port addresses 00000128 and 00000129:

04 05060708 09101112 13 1415 16 17181920 21 22232425 26 65 00000000 00000000 12 0010 01 00000048 00 00000128 00

Function ID = 65 (Subrate Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Control/Options = 02

    D0MB0TPP 00010010
D = 0 (no detach of bearer from the SSC)

M = 0 (no multiple destination mode)

B = 1 (bulk switching mode)

T = 0 (no path tear down)

PP = 10 (two-way connection)

Parameter = 0010 (decimal 16)

Subrate Channel Width/Rate = 01 (one bit wide, an 8-kbps channel)

Source Port Address = 00000048

Source Subrate Channel = 00 (offset within source time slot)

Destination Port Address = 00000128

Destination Subrate Channel = 00 (offset within destination time slot)

A total of 16 two-way subrate connections now exist. These paths are shown below in triplet form (bearer channel, subrate channel width, offset):

(0048, 1, 0) two-way with (0128, 1, 0)

(0048, 1, 1) two-way with (0128, 1, 1)

(0048, 1, 2) two-way with (0128, 1, 2)

(0048, 1, 3) two-way with (0128, 1, 3)

(0048, 1, 4) two-way with (0128, 1, 4)

(0048, 1, 5) two-way with (0128, 1, 5)

(0048, 1, 6) two-way with (0128, 1, 6)

(0048, 1, 7) two-way with (0128, 1, 7)

(0049, 1, 0) two-way with (0129, 1, 0)

(0049, 1, 1) two-way with (0129, 1, 1)

(0049, 1, 2) two-way with (0129, 1, 2)

(0049, 1, 3) two-way with (0129, 1, 3)

(0049, 1, 4) two-way with (0129, 1, 4)

(0049, 1, 5) two-way with (0129, 1, 5)

(0049, 1, 6) two-way with (0129, 1, 6)

(0049, 1, 7) two-way with (0129, 1, 7).

Voice Path Control ($66) Command

Command Type

System Diagnostics

Description

Use the Voice Path Control ($66) command to immediately set up voice paths between receivers (A) and senders (B). A receiver is any system resource capable of receiving a signal, and can be an incoming circuit, outgoing circuit, MF receiver, DTMF receiver, DCC port, CPA, or SPC port. A sender is any system resource capable of sending a signal, and can be an incoming circuit, outgoing circuit, system tones, voice announcement port (DVC or IPRC), or conference (DCC) port. The voice path remains established until it is torn down by the release of one of the circuits involved, a call processing action, an inpulse or outpulse rule, another $66 command, or a resource control command. You can tear down a two-way path in only one direction, converting it to a one-way path. You can specify multiple tone plans in this command when used with VCO/4K system software Version 5.2(0).

The $66 command can also be used to set a conference party to listen to quiet or to another tone. A second $66 command is used to send the party back to the conference.

Minimum command length for the $66 command is 18 bytes. If a command is too short, it is rejected and a syntax error with a network status byte of 03 is returned to the host.

Usage Guidelines

This command establishes a voice path between the specified resources without doing any checking of call state. The command does not affect call state or linkages.

Virtual port addresses ($80 00 to $83 E6) cannot be used with this command.

Outpulse channels and voice ports (DVC and IPRC) cannot be used as receivers (A).

MF receiver, DTMF receiver, and CPA ports cannot be used as senders (B).

When the command is used to convert a two-way path into a one-way path, a $66 command is issued with the port to be removed from the two-way path specified as the A address and no B address specified in the command.

When the command is used to set a conference party to listen to a tone, a one-way path is specified with the conference party as the A address, and the tone as B. To return the party to the conference, a second command is sent to break the path; the conference party is specified as the A address and 0 (zero) is specified as the B address.

Format

Figure 4-6 shows the byte formatting for this command.


Figure 4-6: $66 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Path Modifier (byte offset 9)—Determines the type of voice path constructed and whether a tone plan ID is used in the command. Specify this byte according to the following list:

00 = break path. If two port addresses are specified, A listens to quiet or returns to conference, B listens to quiet (unless B is a tone or 0). If only one port address is specified, A listens to quiet or returns to conference.

01 = one-way connection; A listens to B.

02 = two-way connection; A listens to B, B listens to A.

10 = break path. Hexadecimal representations of the tone plan ID and tone value are specified in the B port address segment—byte offsets 14 to 17.

11 = one-way connection. Hexadecimal representations of the tone plan ID and tone value are specified in the B port address segment—byte offsets 14 to 17. Refer to "Tone Values," for a list of tone values.

80 = break ISDN hyperchannel path. The A and B Address bytes contain the first port of each adjacent group of B-channels. The number of channels is contained in ISDN Channels (byte offset 10).

81 = one-way ISDN hyperchannel connection; A listens to B. The A and B Address bytes contain the first port of each adjacent group of B-channels. The number of channels is contained in ISDN Channels (byte offset 10). You can establish any number of one-way connections.

82 = two-way ISDN hyperchannel connection; A listens to B, B listens to A. The A and B Address bytes contain the first port of each adjacent group of B-channels. The number of channels is contained in ISDN Channels (byte offset 10).

A Port Address (byte offsets 10 to 13)—Port address of the receiver.

B Port Address (byte offsets 14 to 17)—This segment has two uses, dependent upon whether the multiple tone plan feature is in use:

Channels [Optional] (byte offset 18)—Number of adjacent ISDN B-channels to be switched. Included only for Path Control Modifier = 80, 81, or 82. This byte is not sent for all other Path Control Modifier values.

System Response

No response from the system upon successful completion is provided unless Return All has been set in the Network Header. A command that is returned by the system with a network status byte not equal to $01 indicates that the command was not processed. Network status bytes $18, $23 and $3C may be returned. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

Examples


Example 4-3: $66 Command

Assume there is an incoming circuit at address 00000020. The following command connects the incoming circuit (receiver - A) to dial tone (sender - B):

04 05060708 09 10111213 14151617 66 00000000 01 00000020 000004C2

Function ID = 66 (Voice Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Path Control Modifier = 01 (one-way path)

A Address = 00000020

B Address = 000004C2 (dial tone)


Example 4-4:
$66 Command

Assume there is an outgoing circuit at address 00000021, and the voice path established in Example 4-3 is still connected. The following command converts the path from one-way to two-way:

04 05060708 09 10111213 14151617 66 00000000 02 00000020 00000021

Function ID = 66 (Voice Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Path Modifier = 02 (two-way connection)

A Port Address = 00000020

B Port Address = 00000021


Example 4-5: $66 Command

Assume the two-way path established in Example 4-4 is still connected (two-way path between 00000020 and 00000021). The following command converts the path into a one-way path so that 00000020 listens to 00000021, but 00000021 no longer listens to 00000020:

04 05060708 09 10111213 14151617 66 00000000 00 00000021 00000000

Function ID = 66 (Voice Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Path Control Modifier = 00 (break path)

A Port Address = 00000021

B Port Address = 00000000 (no B address specified)


Example 4-6: $66 Command

Assume the two-way path established in Example 4-4 is still connected (two-way path between 00000020 and 00000021). The following command breaks this path so that both ports listen to quiet:

04 05060708 09 10111213 14151617 66 00000000 00 00000021 00000020

Function ID = 66 (Voice Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Path Modifier = 00 (break path)

A Port Address = 00000021

B Port Address = 00000020


Example 4-7: $66 Command

Assume the circuit at address 00000025 is participating in a conference. The following command removes this port from the conference and sets it to listen to quiet:

04 05060708 09 10111213 14151617 66 00000000 01 00000025 000004C0

Function ID = 66 (Voice Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Path Modifier = 01 (one-way path)

A Port Address = 00000025

B Port Address = 000004C0 (quiet)


Example 4-8: $66 Command

Assume the circuit at address 00000025 is still listening to quiet as shown in Example 4-7. The following command returns this port to the conference in which it was participating:

04 05060708 09 10111213 14151617 66 00000000 00 00000025 00000000

Function ID = 66 (Voice Path Control)

Spacer Bytes = 00000000 (user defined command identifier)

Path Modifier = 00 (break path)

A Port Address = 00000025

B Port Address = 00000000 (no B address required)

DTMF Collection Control ($67) (Standard) Command

Command Type

Resource Control

Description

The DTMF Collection Control ($67) (Standard) command instructs the system to collect DTMF digits sent over any line or trunk circuit without an inpulse rule. It also collects dial pulse (DP) digits on a SLIC or DID circuit. DTMF digits include 1 to 9, 0 ($A), and the special characters * ($B) and # ($C). DP digits include 1 to 9 and 0 ($A) only. Digits are sent to the host in the form of a DTMF Digit ($D1) report. This command also attaches or detaches DTMF receivers to or from a trunk. Digits to be used for reenter and end of string can be defined (DTMF only), and the use of beep tones for prompts is allowed. First digit and interdigit timing is set at 6 seconds; field timing, set in the Collection Timeout byte, begins when first digit is received. Collection in progress can be terminated by this command; the digits collected until the termination order are returned to the host as a successful DTMF Digit ($D1) report. You can specify multiple tone plans when used with VCO/4K system software Version 5.2(0).

An enhanced structure for this command provides control over first digit processing, timers, and internal storage of received digits. Refer to the "DTMF Collection Control ($67) (Enhanced) Command" section for a description of the $67 enhanced command structure.

The minimum command length for the $67 standard command is 23 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

If this command is used to attach or detach a DTMF receiver, the DTMF Collection Control byte is set to $00, and the bytes following it are not included in the command.

The Controlling Port cannot be participating in a conference. If it is, the command is returned with a network status byte value of $1C.

All DTMF receiver ports must be members of a single resource group for the system to allocate them. It is not necessary to specify the group number in the command; the system determines the resource group from the database configuration.

A DTMF receiver can be attached to any incoming or outgoing T1 or E+M circuit for DTMF digit collection.

SLIC and DID circuits have an on-board DTMF receiver per port; DP digit detection is handled by the firmware resident on the card. UTC circuits have an on-board DTMF receiver per port. When sending a command for these port types, the receiver address should be $00000000. (The receiver address should be all zeroes. It is not required.) DTMF digit collections performed for a controlling port residing on a SLIC, DID, or UTC card always use the on-board receiver; a DTMF receiver cannot be allocated to the call.

DP digits can only be collected on a SLIC or DID circuit. Clear and reenter characters and their associated tones are not allowed for DP digit collection. DP digits are reported in a DTMF Digit ($D1) report; no differentiation is made between DP and DTMF digits in this report. The digit string must be all DTMF or all DP. The # and S characters are not supported in DP collection.

Timers specified in seconds can vary as much as ± one-half second. This variation affects the $67 (Standard) command and is most pronounced in values set to 1 or 2 seconds.

This command can be used for both DP and DTMF digit collection. In the descriptions that follow, the words DTMF only indicate that the item described is not valid for DP collections and should be set to zero.

Format

Figure 4-7 shows the byte formatting for this command.


Figure 4-7: $67 (Standard) Command Format


Function ID (byte offset 4)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Tone Plan (byte offsets 9 to 12)—Byte offsets 9 and 10 uniquely identify the tone plan used. Byte offsets 11 and 12 are reserved for future enhancements and must remain 00. Access the VCO/4K administration software Multiple Tone Plan Configuration screen for a list of the available tone plan names and their associated unique tone plan identification numbers, which are decimal values. From the Multiple Tone Plan Configuration screen, determine which tone plan name to configure in this command and make a notation of its associated unique tone plan ID decimal value. Convert the decimal value to hexadecimal and specify the hexadecimal value in the command.

Use the following quick reference for the tone plan segment:

0000—Hexadecimal default tone plan ID; access the Multiple Tone Plan Configuration screen to determine the default tone plan name.

0100 to 1400—Hexadecimal tone plan IDs other than the default; access the Multiple Tone Plan Configuration screen to view the available tone plan names and their unique decimal IDs.

Controlling Port Address (byte offsets 13 to 16)—Hexadecimal representation of the circuit address to which the DTMF receiver is attached.

DTMF Receiver Port Control (byte offset 17)—Sets up the conditions used for this command. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    SAPR0000
S—Specifies if switching action is required.

S = 0—No switching action required; A bit ignored and set to 0.
S = 1—Switching action required.
A—Specifies whether to attach or detach receiver; if S = 0, no meaning.

A = 0—If S = 1, detach receiver.
A = 1—If S = 1, attach receiver.
P—Specifies whether to use a specific receiver circuit or to select any receiver circuit from a resource group; port address is specified in Receiver Port Address bytes.

P = 0—For S = 0 or 1, use port specified in Receiver Port Address bytes.
P = 1—For S = 0, use DTMF receiver already in call's resource chain; for S = 1, select port from DTMF receiver resource group.
R—Specifies additional control functions performed as part of this command. For receiver circuits, the actions are shown below.

R = 0—Retain DTMF receiver after report (will remain linked to the line/trunk but not enabled).
R = 1—Release DTMF receiver after report.

DTMF Receiver Port Address or Resource Group (byte offsets 18 to 21)— If P = 0, this number is the hexadecimal representation of the receiver port. If P = 1 or the controlling port resides on a SLIC, DID, or UTC, set to $00000000.

Digit Collection Control (byte offset 22)—Determines if DTMF receiver is to be enabled and the maximum number of digits—up to 40—that can be collected using this command. If the number of digits specified is greater than 40, the command is not rejected, and only 40 digits are collected. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    M0FFFFFF
M—Specifies whether to enable the DTMF receiver.

M = 0—Do not enable DTMF receiver.
M = 1—Enable DTMF receiver.
FFFFFF—Determines the maximum number of DTMF digits that can be collected using this command; convert binary to decimal for this number.

Reenter Digits (byte offset 23)—Determines if the caller is allowed to enter one or two DTMF digits as a reenter code that deletes the digits already entered and begins a new digit string. If only one digit is used, it appears in the first nibble of this byte; the second nibble must be $F. If two digits are used, they appear in the order in which they must be entered by the user. If End of String digits are specified, they must be different from the Reenter digits. In addition to digits 1 to 9, the digit 0 (hexadecimal A) and the characters * (hexadecimal B) and # (hexadecimal C) can be used. If reenter is not allowed, both nibbles must be $F. DTMF only.

End of String Digits (byte offset 24)—Determines if the caller is allowed to enter one or two DTMF digits as an end of string code that signals the end of the digits to be entered. If only one digit is used, it appears in the first nibble of this byte; the second nibble must be $F. If two digits are used, they appear in the order in which they must be entered by the user. If the end of string signal is not allowed, both nibbles must be $F (digits are collected until the total number of digits specified is received, the first digit timer expires, the interdigit timer expires, or the field timer expires). If Reenter digits are specified, they must be different from the End of String digits. In addition to digits 1 to 9, the digit 0 (hexadecimal A) and the characters * (hexadecimal B) and # (hexadecimal C) can be used. DTMF only.

Collection Timeout (byte offset 25)—Specifies the number of seconds, in hex, allowed for the user to enter the number of digits specified in the Digit Collection Control byte minus 1. This timer starts when the first digit is received; first digit timing is always 6 seconds. Valid values for the collection timer are 1 through 60 seconds decimal ($01 to $3C), inclusive, and 0 (timer is not set). Convert from decimal to hexadecimal for the correct value.

User Prompts (byte offset 26)—Determines if a beep tone is used to signal that: the user has entered the reenter code (if allowed); the user has entered the end of string code (if allowed); the DTMF receiver is enabled. Construct the byte in binary according to the descriptions on the following page, then convert to hexadecimal for use in the command.

    IJK00000
I—Determines if beep tone is heard when reenter code is detected; DTMF only.

I = 0—No beep tone for reenter code.
I = 1—Beep tone when reenter code is entered.
J—Determines if beep tone is heard when end of string code is detected; DTMF only.

J = 0—No beep tone for end of string.
J = 1—Beep tone when end of string code is detected.
K—Determines if beep tone is heard when DTMF receiver is enabled.

K = 0—No beep tone when DTMF receiver is enabled.
K = 1—Beep tone when DTMF receiver is enabled.

System Response

DTMF Digit ($D1) report.

A command returned by the system with a network status byte not equal to $01 indicates that the command was not processed. The following network status bytes may be returned: $03, $0A, $0E, $0F, $11, $12, $13, $16, $17, $18, $1C, $1F, $22, $24, $26, $2C, $33, $34, and $3C. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

For DRC/8, if Return All in the Network Header is used, the port address of the DTMF receiver requested by the resource group number is returned in the port address bytes. For DRC24/48, the port address is not returned. Bytes 13 to 16 are set to 0 (zero). For SLIC, DID, and UTC ports, this address is the same as the controlling port address.

A command returned with a network status byte of $1F indicates no DTMF receivers were available to satisfy this command. If this returned command is followed by a Resource Limitation ($D6) report, all members of the DTMF resource group were busy (allocated or out of service). If no $D6 is sent, a DTMF resource group does not exist (no members). Refer to the "Resource Limitation ($D6) Report" section for more information.

Examples


Example 4-9: $67 (Standard) Command

Assume there is a DTMF receiver at address 00000050, and an incoming T1 trunk at address 00000021. The following command attaches the DTMF receiver to the incoming trunk. Notice there are no digits collected, and the digit collection bytes have been omitted:

04 05060708 09101112 13141516 17 18192021 22 67 00000000 00000000 00000021 C0 00000050 00

Function ID = 67 (DTMF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000021

DTMF Receiver Port Control = C0

    SAPR0CCC 11000000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

R = 0 (retain DTMF receiver after report)

DTMF Receiver Port Address or Resource Group = 00000050

Digit Collection Control = 00

    M0FFFFFF 00000000
M = 0 (do not enable receiver)

FFFFFF = 0 (no digits)

The remainder of the digit collection bytes are unnecessary and omitted.


Example 4-10: $67 (Standard) Command

Assume there is an outgoing E+M trunk at address 00000021 and a DTMF receiver at address 00000051. The following command attaches the DTMF receiver to the port and enables it. When the receiver is enabled, the user hears a beep tone (beep tone when receiver enabled), and has 32 seconds to enter seven digits. The reenter code SS allows the user to erase any digits that have been entered and start over.

04 05060708 09101112 13141516 17 18192021 22 23 24 25 26 67 00000000 00000000 00000021 D0 00000051 87 BB FF 20 20

Function ID = 67 (DTMF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000021

DTMF Receiver Port Control = D0

    SAPR0CCC 11010000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

R = 1 (release DTMF receiver after report)

DTMF Receiver Port Address or Resource Group = 00000051

Digit Collection Control = 87

    M0FFFFFF 10000111
M = 1 (enable digit collection)

FFFFFF =7 (7 digits)

Reenter Digits = BB (SS on telephone)

End of String Digits = FF (none)

Collection Timeout = 20 (32 seconds)

User Prompts = 20

    IJK00000 00100000
I = 0 (no beep tone for reenter code)

J = 0 (no beep tone for end of string code)

K = 1 (beep tone when DTMF receiver is enabled)


Example 4-11: $67 (Standard) Command

Assume there is an incoming UTC circuit at address $108. The following command collects up to 10 digits in 30 seconds. When the on-board receiver is enabled, the user hears a beep tone (beep tone when receiver attached). The end of string code ## allows the user to indicate when all digits have been entered; when this code is received the user hears another beep tone (beep tone for end of string code).

04 05060708 09101112 13141516 17 18192021 22 23 24 25 26 67 00000000 00000000 00000108 00 00000000 8A FF CC 1E 60

Function ID = 67 (DTMF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000108

DTMF Receiver Port Control = 00 (not required—use on-board receiver)

DTMF Receiver Port Address or Resource Group = 00000000

Digit Collection Control = 8A

    M0FFFFFF 10001010
M = 1 (enable digit collection)

FFFFFF = A (10 digits)

Reenter Digits = FF (none)

End of String Digits = CC (##)

Collection Timeout = 1E (30 seconds)

User Prompts = 60

    IJK00000 01100000
I = 0 (no beep tone for reenter code)

J = 1 (beep when end of string code is received)

K = 1 (beep tone when DTMF receiver is enabled).

DTMF Collection Control ($67) (Enhanced) Command

Command Type

Resource Control

Description

The DTMF Collection Control ($67) (Enhanced) command instructs the system to collect DTMF digits sent over any line or trunk circuit without an inpulse rule. It also collects dial pulse (DP) digits on a SLIC or DID circuit. DTMF digits include 1 to 9, 0 ($A), and the special characters * ($B) and # ($C). DP digits include 1 to 9 and 0 ($A) only. Digits are sent to the host in the form of a DTMF Digit ($D1) report.

This command also attaches or detaches DTMF receivers to or from a trunk. For DTMF applications, you can define Reenter and End of String digits. Collection in progress can be terminated by this command; the digits collected until the termination order are returned to the host as a successful DTMF Digit ($D1) report. You can also use this command as a command segment in the Incoming Port Control ($6A) command. You can specify multiple tone plans when used with VCO/4K system software Version 5.2(0).

Fourth column DTMF digits A, B, C, and D may be used with the $67 (Enhanced) command only when the system feature flag, "Enable 4th Column DTMF," is enabled. Refer to the Cisco VCO/4K System Administrator's Guide for more information. A control bit in the $67 (Enhanced) command indicates the requirement to use a receiver resource which supports fourth column DTMF digits. Command processing verifies whether the fourth column DTMF system feature is enabled when this control bit is set to 1; an error code of $4F is returned if the control bit is set, but the system feature is not enabled.

The fourth column DTMF system feature flag affects the representation of digits in the $D1 report and the mapping of DTMF digits used in the Reenter/End of String segment of the command. Refer to the "Reenter Digits" and "End of String Digits" segment explanations which follow.

Features of this command not accessible with the $67 (Standard) command structure include:

The minimum command length for the $67 (Enhanced) command is 10 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

The $67 (Enhanced) command has the format:

Main Command segment [optional segments...]

The Main Command segment is 20 bytes long (offsets 4 through 23) and must be included in its entirety every time the enhanced structure is used. If the command is used to attach or detach a receiver without further actions, no optional segments are required.

Timers, specified in seconds, may vary ± one-half second. This variation affects the $67 (Enhanced) command and is most pronounced in values set to 1 or 2 seconds.

Four optional segments are available for use with the $67 (Enhanced) command structure.

Each segment can be included only once in a single command. When more than one segment is used, the segments must appear in the following order:

[Collection Timers] [Reenter/End of String] [First Digit] [Enabling Options]

If a segment is not to be included, it is omitted.

If the controlling port (port from which digits are collected) is an outgoing port, the detachment of the outgoing port upon receipt of the first digit cannot be specified in the command.

All DTMF receiver ports must be members of a single resource group for the system to allocate them. It is not necessary to specify the group number in the command; the system determines the resource group from the database configuration.

A DTMF receiver can be attached to any incoming or outgoing T1 or E+M circuit for DTMF digit collection.

SLIC and DID circuits have an on-board DTMF receiver per port; DP digit detection is handled by the firmware resident on the card. UTC circuits have an on-board DTMF receiver per port.


Note   The LTC-8 and SLIC-2 cards have on-board DTMF receivers which are always attached and enabled—the $67 (Enhanced) command cannot be used to disable or detach LTC-8 or SLIC-2 DTMF receivers.

When sending a command for these port types, the receiver address should be $000. DTMF digit collections performed for a controlling port residing on a SLIC, DID, or UTC card always use the on-board receiver; a DTMF receiver cannot be allocated to the call.

Collected digits are reported to the host in a $D1 report and can be stored in any of the controlling port's five digit fields (ANI and Fields 1 through 4). Collected digits may also be appended to the string already contained in one of the digit fields; the field length restrictions of 20 digits for fields 1 through 4 and 12 digits for ANI still apply. Any appended digits in excess of the field limit are reported to the host, but not saved internally by the system.

DP digits can only be collected on a SLIC or DID circuit. Clear and Reenter characters and their associated tones are not allowed for DP digit collection. DP digits are reported in a $D1 report; no differentiation is made between DP and DTMF digits in this report. The digit string must be all DTMF or all DP. The # and * characters are not supported in DP collection.

This command can be used for both Dial Pulse (DP) and DTMF digit collection. In the descriptions that follow, the words "DTMF only" are used to indicate that the item described is not valid for DP collections and should be set to zero.

Format

Figure 4-8 shows the byte formatting for this command.


Figure 4-8: $67 (Enhanced) Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Tone Plan (byte offsets 9 to 12)—Byte offsets 9 and 10 uniquely identify the tone plan used. Byte offsets 11 and 12 are reserved for future enhancements and must remain 00 in this command. Access the VCO/4K administration software Multiple Tone Plan Configuration screen for a list of the available tone plan names and their associated unique tone plan identification numbers, which are decimal values. From the Multiple Tone Plan Configuration screen, determine which tone plan name to configure in this command and make a notation of its associated unique tone plan ID decimal value. Convert the decimal value to hexadecimal and specify the hexadecimal value in the command.

Use the following quick reference for the tone plan segment:

0000—Hexadecimal default tone plan ID; access the Multiple Tone Plan Configuration screen to determine the default tone plan name.

0100 to 1400—Hexadecimal tone plan IDs other than the default; access the Multiple Tone Plan Configuration screen to view the available tone plan names and their unique decimal IDs.

Controlling Port Address (byte offsets 13 to 16)—Hexadecimal representation of the circuit address to which the DTMF receiver is attached.

DTMF Receiver Port Control Code (byte offset 17)—Sets up the conditions used for this command. Construct the byte in binary according to the descriptions that follow, then convert to hexadecimal for use in the command.

    SAPR0000
S—Specifies if switching action is required.

S = 0—No switching action required; A bit ignored and set to 0.
S = 1—Switching action required.
A—Specifies whether to attach or detach receiver; if S = 0, no meaning.

A = 0—If S = 1, detach receiver (R must be 0).
A = 1—If S = 1, attach receiver.
P—Specifies whether to use a specific receiver circuit or to select any receiver circuit from the DTMF resource group.

P = 0—For S = 0 or 1, use port specified in Receiver Port Address bytes.
P = 1—For S = 0, use DTMF receiver already in call's resource chain; for S = 1, select port from DTMF receiver resource group.
R—Specifies additional control functions performed as part of this command. For receiver circuits, the actions are shown below.

R = 0—Retain DTMF receiver after report (will remain linked to the line/trunk but not enabled; if A = 0, then R must be 0).
R = 1—Release DTMF receiver after report.

DTMF Receiver Port Address or Resource Group (byte offsets 18 to 21)—If P = 0, this number is the hexadecimal representation of the receiver port. If P = 1, or the controlling port resides on a SLIC, DID, or UTC, set to $00 00 00 00.

Enable/Options (byte offset 22)—Determines if DTMF receiver is to be enabled using this command and which optional segments (if any) are included. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    MND0TRFE
M—Specifies whether to enable the DTMF receiver when this command is processed.

M = 0—Do not enable DTMF receiver.
M = 1—Enable DTMF receiver.
N—Bit setting that determines if the $67 (Enhanced) command is being used; must be set to 1.

N = 0—Use $67 (Standard) structure; refer to the "DTMF Collection Control ($67) (Standard) Command" section.
N = 1—Use $67 (Enhanced) command structure.
D—Bit setting that determines if fourth column DTMF digits are to be collected; determines whether a receiver resource which supports fourth column DTMF digit collection must be used.

D = 0—Allow use of DTMF receiver resource which does not support fourth column DTMF digits.
D = 1—Require the use of DTMF receiver resource which supports fourth column DTMF digits.
T—Specifies if a Collection Timers segment is attached.

T = 0—No Collection Timers segment attached; use standard default values.
T = 1—Collection Timers segment attached beginning with byte offset 25.
R—Specifies if a Reenter/End of String segment is attached.

R = 0—No Collection Reenter/End of String segment attached; Reenter/End of String characters not used.
R = 1—Collection Reenter/End of String segment attached.
F—Specifies if a First Digit Processing segment is attached.

F = 0—No First Digit Processing segment attached; first digit reporting/processing not used.
F = 1—First Digit Processing segment attached.
E—Specifies if an Enabling Options segment is attached.

E = 0—No Enabling Options segment attached.
E = 1—Enabling Options segment attached.

Number of Digits (byte offset 23)—Determines the number of digits to be collected using this command. When S and A = 0 in the Digit Storage Control byte, possible values are 1 to 40, inclusive. Otherwise, the value depends on the field number specified in the Digit Storage Control byte. Convert from decimal to hexadecimal for use in the command.

Digit Storage Control (byte offset 24)—Determines if collected digits are stored in or appended to one of the controlling port's digit collection fields (1 to 4, ANI). Up to 12 digits can be stored in the ANI field, and up to 20 digits in fields 1 through 4. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command. If digits are not to be stored, this byte must be set to $00.

    000SAFFF
S—Specifies whether to store collected digits in one of the controlling port's digit fields; digit field is specified in the FFF bits.

S = 0—Do not store digits.
S = 1—Store digits in field specified in FFF; A must be 0.
A—Specifies whether to append collected digits to one of the controlling port's digit fields; digit field is specified in the FFF bits.

A = 0—Do not append digits.
A = 1—Append digits to field specified in FFF; S must be 0.
FFF—Specifies the field in which digits are stored/appended; up to 20 digits can be stored in each of Fields 1 to 4, up to 12 in the ANI Field. Specify bits according to the following list:

000 = store/append digits in ANI Field
001 = store/append digits in Field 1
010 = store/append digits in Field 2
011 = store/append digits in Field 3
100 = store/append digits in Field 4

Collection Timers Segment

The Collection Timers segment is an optional $67 segment that is three bytes in length and specified only when T = 1 in the Enable/Options byte (offset 22). If this condition is true, this segment must appear in byte offsets 25 to 27. Figure 4-9 defines the format and components of the Collection Timers Segment.


Figure 4-9: Collection Timers Segment of the $67 (Enhanced) Command


First Digit Timeout—Specifies the number of seconds, in hex, allowed for the user to enter the first digit of the string. This timer starts when the DTMF receiver port is enabled. Allowed values are 1 to 30 seconds (decimal) or $01 to $1E (hexadecimal) inclusive, and 0 (timer is not set). Convert from decimal to hexadecimal for the correct value.

Interdigit Timeout—Specifies the number of seconds, in hex, allowed for the user to pause between entering digits. This timer starts when the first digit is received. Allowed values are 1 to 10 seconds (decimal) or $01 to $0A (hexadecimal) inclusive, and 0 (timer is not set). Convert from decimal to hexadecimal for the correct value.

Field Timeout—Specifies the number of seconds, in hexadecimal, allowed for the user to enter the number of digits specified. This timer starts when the first digit is received. Allowed values are 1 to 60 seconds (decimal) or $01 to $3C (hexadecimal) inclusive, and 0 (timer is not set). Convert from decimal to hexadecimal for the correct value.

Reenter/End of String Segment

The Reenter/End of String segment is an optional $67 segment that is five bytes in length and specified only when R = 1 in the Enable/Options byte (byte offset 22). If a Collection Timers segment is included in the command, this segment immediately follows it; if not, this segment begins at byte offset 25. Figure 4-10 defines the format and components of the Reenter/End of String segment.


Figure 4-10: Reenter/End of String Segment of the $67 (Enhanced) Command


Reenter/End Conditions—Determines conditions for use of Reenter and End of String codes. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command. DTMF only.

    RSTUVW00
R—Specifies if the caller is allowed to enter one DTMF digit as a reenter code that deletes the digits already entered and begin a new digit string. Digit is specified in the Reenter Digits byte that follows.

R = 0—Single-digit reenter code not used.
R = 1—Single-digit reenter code used; S must be 0.
S—Specifies if the caller is allowed to enter two DTMF digits as a reenter code that deletes the digits already entered and begin a new digit string. Digits are specified in the Reenter Digits byte that follows.

S = 0—Two-digit reenter code not used.
S = 1—Two-digit reenter code used; R must be 0.
T—Specifies if the caller is allowed to enter one DTMF digit as an End of String code that indicates the end of digits to be entered. Digit is specified in the End of String Digits byte.

T = 0—Single-digit End of String code not used.
T = 1—Single-digit End of String code used; U must be 0.
U—Specifies if the caller is allowed to enter two DTMF digits as an End of String code that indicates the end of digits to be entered. Digits are specified in the End of String Digits byte.

U = 0—Two-digit End of String code not used.
U = 1—Two-digit End of String code used; T must be 0.
V—Specifies if a tone is presented upon detection of the reenter code. Tone is specified in the Reenter Tone byte.

V = 0—No tone if reenter code detected.
V = 1—Present tone if reenter code detected; R or S must be 1.
W—Specifies if a tone is presented upon detection of the End of String code. Tone is specified in the End of String Tone byte.

W = 0—No tone if End of String detected.
W = 1—Present tone if End of String code detected; T or U must be 1.

Reenter Digits—Determines the one or two DTMF digits recognized as the reenter code. If only one digit is used, it appears in the first nibble of this byte; the second nibble must be $F. If two digits are used, they must appear in the order in which they are to be entered by the user. If End of String digits are specified, they must be different from the Reenter digits. Either R or S must be set to 1 in the previous byte. If R and S are both 0 and the D bit in the Enable/Options byte (byte offset 22) is not set, set this byte to $FF. If R and S are both 0 and the D bit in the Enable/Options byte (byte offset 9) is set, set this byte to $00. In addition to digits 1 to 9, the digit 0 (hexadecimal A) and the characters * (hexadecimal B) and # (hexadecimal C) can be used.

If the D bit in the Enable/Options byte (byte offset 22) is set, the DTMF digits in this segment are remapped to utilize fourth-column DTMF digits. DTMF digits 0 to 9 (hexadecimal 0 to 9), A to D (hexadecimal A to D), and the characters * (hexadecimal E) and # (hexadecimal F) can be used.

End of String Digits—Determines the one or two DTMF digits to be recognized as the End of String code. If only one digit is used, it appears in the first nibble of this byte; the second nibble must be $F. If two digits are used, they must appear in the order in which they are to be entered by the user. If Reenter digits are specified, they must be different from the End of String digits. Either T or U must be set to 1 in the previous byte. If T and U are both 0 and the D bit in the Enable/Options byte (byte offset 22) is not set, set this byte to $FF. If T and U are both 0 and the D bit in the Enable/Options byte (byte offset 22) is set, set this byte to $00. In addition to digits 1 to 9, the digit "0" (hexadecimal A) and the characters * (hexadecimal B) and # (hexadecimal C) can be used.

If the D bit in the Enable/Options byte (byte offset 22) is set, the DTMF digits in this segment are remapped to utilize fourth-column DTMF digits. DTMF digits 0 to 9 (hexadecimal 0 to 9), A to D (hexadecimal A to D), and the characters * (hexadecimal E), and # (hexadecimal F) can be used.

Reenter Tone—Determines the tone presented upon detection of the reenter code. Refer to "Tone Values," for tones and their values and use the hexadecimal value in the command. Either R or S must be set to 1 in the previous byte. If R and S are both 0, set this byte to $00.

End of String Tone—Determines the tone presented upon detection of the End of String code. Refer to "Tone Values," for tones and their values and use the hexadecimal value in the command. Either T or U must be set to 1 in the previous bit. If T and U are both 0, set this byte to $00.

First Digit Segment

The First Digit segment is an optional $67 (Enhanced) command segment that is two bytes in length and specified only when F = 1 in the Enable/Options byte (offset 22). This segment must follow any Collection Timers or Reenter/End of String segments included in the command. Figure 4-11 defines the format and components of the First Digit segment.


Figure 4-11: First Digit Segment of the $67 (Enhanced) Command


First Digit Conditions—Determines conditions for use of first digit processing. Construct byte in binary according to the descriptions below, then convert to hexadecimal for use in the command. DTMF only.

    F000TWAR
F—Specifies if a DTMF Digit ($D1) report is sent to the host upon detection of the first digit; first digit is always reported in final $D1 report for the collection.

F = 0—No first digit reporting.
F = 1—Report first digit received to the host when received.
T—Specifies if a tone should be presented upon detection of the first digit; tone is specified in First Digit Tone byte that follows.

T = 0—No tone on first digit detection.
T = 1—Present specified tone on first digit detection.
W—Specifies if a wink (hookflash) should be presented to the attached line/trunk upon detection of the first digit.

W = 0—No wink on first digit detection.
W = 1—Wink on first digit detection.
A—Specifies if the voice prompt being presented should be aborted upon detection of first digit.

A = 0—Do not abort voice prompt.
A = 1—Abort voice prompt on first digit detection.
R—Specifies if the line/trunk attached to the controlling port should be detached upon detection of first digit.

R = 0—Do not detach outgoing port.
R = 1—Detach outgoing port.

First Digit Tone—Determines the tone presented upon detection of the first digit. Refer to "Tone Values," for tones and their values and use the hexadecimal value in the command. T must be set to 1 in the previous byte. If T is 0, set this byte to $00.

Enabling Options Segment

The Enabling Options segment is an optional $67 (Enhanced) segment that is up to 16 bytes in length and specified only when E = 1 in the Enable/Options byte (offset 22). This segment must follow any Collection Timers, Reenter/End of String, or First Digit segments included in the command. Figure 4-12 defines the format and components of the Enabling Options segment.


Figure 4-12: Enabling Options Segment of the $67 (Enhanced) Command—$6C (Enhanced) Play/Record Segment


Enabling Options Conditions—Determines conditions for enabling of the DTMF receiver. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command. DTMF only.

    D0ATWPSV
D—Specifies whether to enable the receiver immediately or after the conditions in the P, S, or V bits have been satisfied. If D = 1, then at least one value of P, S, or V is 1. If P, S, and V all are 0, then the first digit timer is started and the actions specified in T and W are taken.

D = 0—Enable receiver immediately.
D = 1—Enable receiver after actions specified in P, S, or V bit have completed.
A-specifies whether the play/record option is enabled.

A = 0—No play/record option.
A = 1—Play/record segment.
T—Specifies if the tone is to be presented when the receiver is enabled; tone is specified in the Parameter byte that follows.

T = 0—No tone on receiver enable.
T = 1—Present specified tone on receiver enable; P, S, and V are all 0.
W—Specifies if a wink (hookflash if off hook) should be presented to the attached line/trunk when the receiver is enabled.

W = 0—No wink on receiver enable.
W = 1—Wink on receiver enable.
P—Specifies to pause before starting first digit timer, if any; if D = 1, receiver is enabled after pause is complete. Amount of time to pause is specified as the number of 0.1 second increments in the Parameter byte that follows.

P = 0—No pause used.
P = 1—Pause number of 0.10 second increments in Parameter byte before starting first digit timer (if any); enable receiver according to setting of D bit; T, S, and V are all 0.
S—Specifies to start the first digit timer after outpulse rule processing is complete; if D = 1, the receiver is enabled after rule processing is complete.

S = 0—No wait for rule processing to complete.
S = 1—Wait for outpulse rule to complete before starting first digit timer (if any); enable receiver according to setting of D bit; T, P, and V are all 0.
V—Specifies to present up to 14 voice prompts before starting first digit timer (if any); if D = 1, receiver is enabled after prompts are completed. Number of voice prompts to play is specified in the Parameter byte that follows, with a listing of voice prompt numbers following that.

V = 0 - No voice prompts.
V = 1 - Present voice prompts specified before starting first digit timer (if any); enable receiver according to setting of D bit; T, P, and S are all 0.

Parameter Byte—Contents of this byte are determined by the setting of the Enabling Options byte as follows:

A = 1—This byte is set to 00 (zero).

T = 1—Specifies tone to present; refer to "Tone Values," for tones and their values and use the hexadecimal value in the command. No further bytes required in command.

P = 1—Specifies the number of seconds to pause; seconds specified in 0.10 second increments up to a maximum of 25.5 seconds. No further bytes required in command.

V = 1—Specifies the number of voice prompts to present; allowed values are 1 to 14. Up to 14 additional bytes are required to specify the individual prompt numbers following this byte.

S = 1—This byte is set to 00 (zero).

Option Data—Determined by the setting of the Enabling Options byte as follows:

V = 1—String of from 1 to 14 bytes specifying the prompts to present; refer to "System Digitized Voice Card Prompts," for a listing of prompts and their numbers.

A = 1—Option data is $6C (Enhanced) Play/Pecord segment, starting with byte offset 17 of the $6C (Enhanced) command.

System Response

DTMF Digit ($D1) report.

If report upon receipt of first digit was specified (First Digit segment included in command with proper bit settings), the first $D1 report received contains only one digit and the report indicates it is a first digit report. The full digit string, including the first digit, is reported in a second $D1 when digit collection ends. Refer to the "DTMF Digit ($D1) (Standard) Report" section for more information on the $D1 report.

A command returned by the system with a network status byte not equal to $01 indicates that the command was not processed. The following network status bytes may be returned: $03, $09, $0A, $0E, $0F, $11, $12, $13, $16, $17, $18, $1C, $1F, $22, $24, $26, $27, $2C, $2E, $2F, $30, $33, $34, $3C, $43, $44, $45, $46, $47 and $48. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

A $4F network status byte is returned if fourth-column DTMF digits are used (D bit set in byte offset 9) and the system feature, "Enable 4th Column DTMF", is not enabled.

A $50 network status byte (feature semantics error) is returned if fourth-column DTMF digits are used in the Reenter Digits and End of String Digits segments, and the D bit is not set in byte offset 9.

For DRC/8, if Return All is used, the port address of the DTMF receiver requested by resource group number is returned in the port address bytes. For DRC24/48, the port address is not returned. For SLIC, DID, and UTC ports, this address is the same as the controlling port address.

A command returned with a $1F network status byte indicates no DTMF receivers were available to satisfy this command. If this returned command is followed by a Resource Limitation ($D6) report, all members of the DTMF resource group were busy (allocated or out of service). If no $D6 report is sent, a DTMF resource group does not exist (no members). Refer to the "Resource Limitation ($D6) Report" section for more information on the $D6 report.

Examples


Example 4-12: $67 (Enhanced) Command

Assume there is a DTMF receiver at address 00000050, and an incoming T1 trunk at address 00000021. The command below attaches the DTMF receiver to the incoming trunk, sets up collection of 7 digits and places any collected digits into Field 1. The command also starts a 10-second first digit timer, a 6-second interdigit timer, and a 30-second field timer. Finally, the command sets ## as the End of String digits and ** as the Reenter String digits, and presents a beep if the End of String digit terminator is entered.

04 05060708 09101112 13141516 17 18192021 22 23 24 25 26 27 28 29 30 31 32 67 00000000 00000000 00000021 C0 00000050 CC 07 11 0A 06 1E 54 BB CC 00 00

Function ID = 67 (DTMF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000021

DTMF Receiver Port Control = C0

    SAPR0000 11000000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

R = 0 (retain DTMF receiver after report)

DTMF Receiver Port Address or Resource Group = 00000050

Eable/Options = CC

    MND0TRFE 11001100
M = 1 (enable receiver)

N = 1 (enhanced command structure)

D = (not fourth column)

0 (undefined)

T = 1 (collection timer segment attached)

R = 1 (Reenter/End of String segment attached)

F = 0 (First Digit Processing Segment not attached)

E = 0 (Enable Options Segment not attached)

Number of Digits = 07

Digit Store Control = 11

    000SAFFF 00010001
S = 1 (store digits in field)

A = 0 (do not append digits in field)

FFF = 001 (field number 1)

Collection Timers Segment:

First Digit Timeout = 0A (10)

Interdigit Timeout = 06 (6)

Field Timeout = 1E (30)

Reenter/End of String Segment:

Reenter/End Conditions = 54

    RSTUVW00 01010100
R = 0 (do not use single-digit reenter code)

S = 1 (use double-digit reenter code)

T = 0 (do not use single-digit End of String code)

U = 1 (use double-digit End of String code)

V = 0 (no tone for reenter digit string)

W = 1 (present tone if End of String digits entered)

Reenter Digits = BB (** on telephone)

End of String Digits = CC (##)

Reenter Tone = 00 (no tone - off due to V bit)

End of String Tone = 00 (beep on End of String code)


Example 4-13:

Assume there is a DTMF receiver at address 00000050, and an incoming T1 trunk at address 00000021. The command below attaches the DTMF receiver to the incoming trunk, sets up collection of 4 digits and appends any collected digits into Field 1. The command does not start a first digit timer, but it does set a 6-second interdigit timer and a 10-second field timer. Finally, the command aborts voice prompts when the first digit is entered, enables the receiver immediately, and plays two voice prompts ("Please dial the number you wish to reach" and "For assistance, dial...") when the receiver is enabled.

04 05060708 09101112 13141516 17 18192021 22 23 24 25 26 27 28 29 30 31 32 33 67 00000000 00000000 00000021 C0 00000050 CB 04 09 00 06 0A 02 00 81 02 11 38

Function ID = 67 (DTMF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000021

DTMF Receiver Port Control = C0

    SPAR0000 11000000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

R = 0 (retain DTMF receiver after report)

DTMF Receiver Port Address or Resource Group = 00000050

Enable/Options = CB

    MND0TRFE 11001011
M = 1 (enable receiver)

N = 1 (enhanced command structure)

D = 0 (not fourth column)

0 (undefined)

T = 1 (collection timer segment attached)

R = 0 (Reenter/End of String segment not attached)

F = 1 (First Digit Processing Segment attached)

E = 1 (Enable Options Segment attached)

Number of Digits = 04

Digit Storage Control = 09

    000SAFFF 00001001
S = 0 (do not store digits in field)

A = 1 (append digits in field)

FFF = 001 (field number 1)

Collection Timers Segment:

First Digit Timeout = 00 (no first digit timing)

Interdigit Timeout = 06 (6)

Field Timeout = 0A (10)

First Digit Segment:

First Digit Conditions = 00000010

F = 0 (no first digit report to host)

0 (undefined)

0 (undefined)

0 (undefined)

T = 0 (no tone of first digit detection)

W = 0 (no wink on first digit detection)

A = 1 (abort voice prompt if digit entered)

R = 0 (do not detach outgoing port)

First Digit Tone = 0 (T = 0)

Enabling Options Segment:

Enabling Options Conditions = 10000001

D = 0 (enable receiver immediately)

0 (undefined)

0 (undefined)

T = 0 (no tone on first digit detection)

W = 0 (no wink on receiver enable)

P = 0 (no pause on receiver enable)

S = 0 (no supervision for receiver enable)

V = 1 (play voice prompts on receiver enable)

Parameter Byte = 02 (number of voice prompts in command)

Prompt Bytes = $11 $38


Example 4-14: $67 (Enhanced) Command

Assume there is a DTMF receiver at address 00000050, and an incoming T1 trunk at address 00000021. The command below attaches the DTMF receiver to the incoming trunk, sets up collection of 10 digits and stores any collected digits into Field 3. The command starts a 15-second first digit timer, a 6-second interdigit timer and a 10-second field timer. It sets # as the End of String digit and * as the Reenter String digit, and presents a beep tone if # is entered and a dial tone if * is entered. Finally, the command reports the first digit to the host when detected and sends a wink to the outgoing port when the first digit is detected.

04 05060708 09101112 13141516 17 18192021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 67 0000000 00000000 00000021 F0 00000050 CF 0A 13 0F 06 0A AC BF CF 03 00 84 00 82 02 20

Function ID = 67 (DTMF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000021

DTMF Receiver Port Control = F0

    SAPR000 11110000
S = 1 (switching action required)

A = 1 (attach resource)

P = 1 (obtain a receiver from the resource group)

R = 1 (release DTMF receiver after report)

DTMF Receiver Port Address or Resource Group = 00000050

Enable/Options = CF

    MND0TRFE 11001111
M = 1 (enable receiver)

N = 1 (enhanced command structure)

0 (undefined)

0 (undefined)

T = 1 (collection timer segment attached)

R = 1 (Reenter/End of String segment attached)

F = 1 (First Digit Processing Segment attached)

E = 1 (Enable Options Segment attached)

Number of Digits = 0A

Digit Store Control = 13

    000SAFFF 00010011
S = 1 (store digits in field)

A = 0 (do not append digits in field)

FFF = 011 (field number 3)

Collection Timers Segment:

First Digit Timeout = 0F (first digit timing of 15 seconds)

Interdigit Timeout = 06 (6)

Field Timeout = 0A (10)

Reenter/End of String Segment:

Reenter/End Conditions = AC

    RSTUVW00 10101100
R = 1 (use single-digit reenter code)

S = 0 (do not use double-digit reenter code)

T = 1 (use single-digit End of String code)

U = 0 (do not use double-digit End of String code)

V = 1 (present tone for reenter digit string)

W = 1 (present tone if End of String digits entered)

Reenter Digits = BF (* on telephone)

End of String Digits = CF (# on telephone)

Reenter Tone = 03 (Dial tone)

End of String Tone = 00 (beep on End of String code)

First Digit Segment:

First Digit Conditions = 84 (10000100)

F = 0 (report first digit to host)

0 (undefined)

0 (undefined)

0 (undefined)

T = 0 (no tone of first digit detection)

W = 1 (wink to outgoing port on first digit detection)

A = 0 (do not abort voice prompt if digit entered)

R = 0 (do not detach outgoing port)

First Digit Tone = 0 (T = 0)

Enabling Options Segment:

Enabling Options Conditions = 10000010

D = 1 (enable receiver after action specified in P, S, or V bit)

0 (undefined)

0 (undefined)

T = 0 (no tone on first digit detection)

W = 0 (no wink on receiver enable)

P = 0 (no pause on receiver enable)

S = 1 (wait for supervision for receiver enable)

V = 0 (no voice prompts)

Parameter Byte = 02 (wait for supervision before starting first digit timer)

Prompt Bytes = 20 (wait 32 seconds for answer supervision)

MF Collection Control ($68) Command


Note   Unless otherwise stated, the MF processing described in this section applies to both MF and MFCR2 processing.

Command Type

Resource Control

Description

The MF Collection Control ($68) command enables a host to collect the MF digits collection that is sent over a trunk circuit. The collected digits are sent to the host in the form of an MF Digit ($D0) report. This command also attaches or detaches MF receivers or MFCR2 transceivers to or from a trunk. Up to 20 MF digits can be collected and stored in a 30-second period (via a single $68 command using one MF receiver port). You can specify multiple tone plans when used with VCO/4K system software Version 5.2(0).

This command allows users the option of keeping a call in an active state when garbled digits are received or no start signal (ST—start digit) or key pulse (KP—stop digit) is detected. The default is to consider the error a call failure and tear down the call. Use this command as a command segment in the Incoming Port Control ($6A) command.

The minimum length for the $68 command is 23 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

All MF receiver ports must be members of a single resource group for the system to allocate them. Also, all MFCR2 transceiver ports must be members of a single resource group. It is not necessary to specify the group number in the command; the system determines the resource group from the database configuration.

The controlling port cannot be participating in a conference. If it is, the command is returned with a $1C network status byte.

For MF processing, digits received have KP, ST, STP, ST2P, and ST3P stripped from the MF Digit ($D0) report.

An MF receiver or MFCR2 transceiver can be attached to any incoming or outgoing trunk/line circuit.

The host has the option of tearing down the call upon collection error or keeping the call active. The following conditions are collection errors (call failures):

A garbled MF digit is declared if one of the following conditions exists:

Upon error, the host can specify to either force the controlling port to idle (tear down the call), or place the port in CP_SETUP state to await further host action (such as connection to a live operator). If an error condition occurs, the $D0 report indicates the reason for the call failure and whether the controlling port has been left in CP_SETUP state or forced to idle.

Format

Figure 4-13 shows the byte formatting for this command.


Figure 4-13: $68 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Tone Plan (byte offsets 9 to 12)—Byte offsets 9 and 10 uniquely identify the tone plan used. Byte offsets 11 and 12 are reserved for future enhancements and must remain 00 in this command. Access the VCO/4K administration software Multiple Tone Plan Configuration screen for a list of the available tone plan names and their associated unique tone plan identification numbers, which are decimal values. From the Multiple Tone Plan Configuration screen, determine which tone plan name to configure in this command and make a notation of its associated unique tone plan ID decimal value. Convert the decimal value to hexadecimal and specify the hexadecimal value in the command.

Use the following quick reference for the tone plan segment:

0000—Hexadecimal default tone plan ID; access the Multiple Tone Plan Configuration screen to determine the default tone plan name.

0100 to 1400—Hexadecimal tone plan IDs other than the default; access the Multiple Tone Plan Configuration screen to view the available tone plan names and their unique decimal IDs.

Controlling Port Address (byte offsets 13 to 16)—Hexadecimal representation of the circuit address to which the MF receiver is attached.

Receiver Port Control Code (byte offset 17)—Bits 7 to 3 (SPARE bits) set up the conditions used for this command. Construct the byte in binary according to the descriptions that follow, then convert to hexadecimal for use in the command.

    SAPRE000
S—Specifies if switching action is required.

S = 0—No switching action required; A bit ignored and set to 0.
S = 1—Switching action required.
A—Specifies whether to attach or detach receiver; if S = 0, no meaning.

A = 0—If S = 1, detach receiver (R must be 0).
A = 1—If S = 1, attach receiver.
P—Specifies whether to use a specific receiver circuit or to select any receiver circuit from a resource group; port address is specified in Receiver Port Address byte.

P = 0—If S = 0 or 1, use port specified in Receiver Port Address bytes.
P = 1—Set Receiver Port Address bytes to $000 for MF Receiver cards. Then, if S = 0, use MF receiver already in call's resource chain; if S = 1, select port from MF receiver resource group.
R—Specifies additional control functions performed as part of this command. For receiver circuits, the actions are shown below.

R = 0—Retain MF receiver after report (remains linked to the line/trunk but not enabled; if A = 0, R must also be 0.
R = 1—Release MF receiver after report.
E—Specifies whether to tear down the call upon digit collection failure or to keep the call active; digit collection failure is defined as receipt of a garbled DTMF digit, no KP is detected within 15 seconds, no ST within 30 seconds, or digit off time is > 6 seconds.

E = 0—Tear down call upon error.
E = 1—Keep call active upon error; return controlling port to CP_SETUP or previous state, if applicable.

Receiver Port Address or Resource Group (offset bytes 18 to 21). If P = 0 (refer to the Receiver Port Control Code segment, byte offset 17) this segment is the hexadecimal representation of the receiver port. If P = 1, set to $000.

Spacer Byte/Backward Supervision Tone (byte offset 22)—In MF processing, this byte is not used and is reserved for future enhancements; set to $00.

In MFCR2 processing, this byte determines the backward supervision tone and end-of-collection backward supervision tone to be used in controlling the collection process.

    IIIIEEEE
IIII—Interdigit backward supervision tone; valid values are 0 to F.

IIII = 0000—The backward supervision tone A-4 is returned to indicate network congestion.
IIII ¼ 0000—Refer to the appropriate national guidelines for information on the numbering and use of these tones.
EEEE—End-of-collection backward supervision tone; valid values are 0 to F.

EEEE = 0000—The backward supervision tone A-4 is returned to indicate network congestion.
EEEE ¼ 0000—Refer to the appropriate national guidelines for information on the numbering and use of these tones.

Digit Collection Control (byte offset 23)—Determines if MF collection is enabled; specify the byte according to the list below.

    EMNNNNNN
E—Enables/disables receiver.

E = 0—Do not enable receiver.
E = 1—Enable receiver.
M—Specifies MF or MFCR2 processing.

M = 0—MF processing.
M = 1—MFCR2 processing.
NNNNNN—Specifies the number of digits to collect.


Note   Bits 0 to 5 are used for MFCR2 processing only.

System Response

MF Digit ($D0) report. The report contains either a valid digit report or an error indicator. Possible errors include: KP not received within 15 seconds (timeout); ST not received within 30 seconds (timeout); digit off time > 6 seconds (timeout); and digit on time > 6 seconds (garbled digit). Refer to the "MF Digit ($D0) Report" section for more information.

A command returned by the system with a network status byte not equal to $01 indicates that the command was not processed. The following network status bytes may be returned: $03, $0A, $0E, $0F, $11, $12, $14, $16, $17, $18, $1C, $1F, $22, $24, $26, and $3C. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

A command returned with a network status byte of $1F indicates no MF receivers were available to satisfy this command. If this returned command is followed by a Resource Limitation ($D6) report, all members of the MF resource group were busy (allocated or out of service). If no $D6 report is sent, an MF resource group does not exist (no members). Refer to the "Resource Limitation ($D6) Report" section for more information.

If Return All is used, the port address of the MF receiver requested by resource group number is returned in the port address bytes.

Examples


Example 4-15: $68 Command

Assume there is a trunk at address 00000019. The following command attaches an MF receiver from the MF resource group to the trunk, without enabling the receiver.

04 05060708 09101112 13141516 17 18192021 22 23 68 00000000 00000000 00000019 E0 00000000 00 00

Function ID = 68 (MF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000019

Receiver Port Control Code = E0

    SAPRECCC 11100000
S = 1 (switching action required)

A = 1 (attach resource)

P = 1 (select from resource group)

R = 0 (retain MF receiver after report)

E = 0 (tear down call if errors detected)

Receiver Port Address or Resource Group = 00000000 (use MF receiver group)

Spacer Byte = 00

Digit Collection Control = 00 (do not enable receiver)


Example 4-16: $68 Command

Assume there is a trunk at address 00000018 and an MF receiver at address 00000060. The following command attaches the MF receiver to the trunk, enables the receiver, and collects a string of MF digits. After digit collection, the receiver is detached. If an error occurs, the controlling port is placed into CP_SETUP state until further host action.

04 05060708 09101112 13141516 17 18192021 22 23 68 00000000 00000000 00000018 D8 00000060 00 80

Function ID = 68 (MF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000018

Receiver Port Control Code = D8

    SAPRECCC 11011000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

R = 1 (release MF receiver after report)

E =1 (place controlling port in setup state if errors detected)

Receiver Port Address or Resource Group = 00000060

Spacer Byte = 00

Digit Collection Control = 80 (enable receiver)


Example 4-17: $68 Command

Assume there is a trunk at address 00000208. The following command hunts an MF receiver, attaches it to the trunk, enables the receiver, and collects a string of MF digits. After digit collection, the receiver is detached. If an error occurs, the controlling port is reordered through PST processing.

04 05060708 09101112 13141516 17 18192021 22 23 68 00000000 00000000 00000208 E0 00000000 00 80

Function ID = 68 (MF Collection Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000208

Receiver Port Control Code = E0

    SAPRECCC 11011000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (select from resource group)

R = 1 (retain MF receiver after report)

E = 1 (tear down call if errors detected)

Receiver Port Address or Resource Group = 00000000 (use MF receiver group)

Spacer Byte = 00

Digit Collection Control = 80 (enable receiver)

Outgoing Port Control ($69) Command

Command Type

Resource Control

Description

Use the Outgoing Port Control ($69) command to link or remove outgoing circuits to or from a call's resource chain. This command also begins outpulse or inpulse rule processing for an outgoing port. Digit strings contained in call record fields can be overwritten and new digits supplied using this command. Control of disconnect at call teardown and receipt of on hook reports is also included. You can specify multiple tone plans when used with VCO/4K system software Version 5.2(0). This command can be used as a command segment in the Incoming Port Control ($6A) command.

Use fourth-column DTMF digits with the $69 command only when the system feature flag, "Enable 4th Column DTMF," is enabled. No explicit indicator is used in the $69 command. The "Enable 4th Column DTMF" system feature flag affects the mapping of DTMF digits used in the digit string portion of the command. Refer to the Digit String explanation below.

The minimum length for the $69 command is 27 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

The $69 command has the following format:

Main Command segment [optional Disconnect Control byte] Outpulse Control segment

Both the Main Command segment and the Outpulse Control segment must be included every time the command is used. At least one Outpulse Control segment is required in the command. Up to five Outpulse Control segments can be included in a single command.

Use of the optional Disconnect Control byte is determined by a bit setting in the Main Command segment. When used, it must appear in byte offset 25. One or more Outpulse Control segments must then follow it. When the command is constructed without the optional Disconnect Control, default settings are used so that when one end hangs up the other end is forced idle with Permanent Signal Timing and both on hooks are reported to the host.

Up to 20 digits can be specified for each field, up to 12 for ANI. These digits are contained in an Outpulse Control segment; one segment is used per field. This command can affect all aspects of call processing: voice paths, states, resource linkages, and supervision.

This command can use virtual ports as the controlling port. The Controlling and Outgoing Ports cannot participate in a conference. If either does, the command is returned with a network status byte value of $1C.

For outgoing SLIC ports and other ports that require only a seizure, the Rule Control byte can be set to $80. This calls the null Outpulse Rule that performs a seizure only.

DID ports are supported by this command as an incoming (controlling) port only.

To execute an inpulse or outpulse rule on an already off hook outgoing port or to idle an outgoing port with no incoming port attached, the controlling port address can be set to $00 00. This allows rule execution on an outgoing port in CP_SETUP state that has been detached from a call or conference. If the controlling port address is set to $00 00 and no inpulse or outpulse rule is specified, the command will idle an outgoing port left in setup state with no incoming port attached, making the port available for allocation.

The $69 command operates in conjunction with the Auto Retry feature for outgoing ports. When hunting from an outgoing port resource group and a supervision error is detected for the outgoing port, call processing can rehunt the group and replace the outgoing port. This feature and the number of rehunts performed is configured using the system administration Resource Group Summary Submenu. Refer to the Cisco VCO/4K System Administrator's Guide for more information.

Format

Figure 4-14 shows the byte formatting for this command.


Figure 4-14: $69 Command Format


Main Command Segment

The Main Command segment is composed of byte offsets 4 to 24 and must be included in its entirety. Components of the Main Command segment are defined as follows:

Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Tone Plan (byte offsets 9 to 12)—Byte offsets 9 and 10 uniquely identify the tone plan used. Byte offsets 11 and 12 are reserved for future enhancements and must remain 00 in this command. Access the VCO/4K administration software Multiple Tone Plan Configuration screen for a list of the available tone plan names and their associated unique tone plan identification numbers, which are decimal values. From the Multiple Tone Plan Configuration screen, determine which tone plan name to configure in this command and make a notation of its associated unique tone plan ID decimal value. Convert the decimal value to hexadecimal and specify the hexadecimal value in the command.

Use the following quick reference for the tone plan segment:

0000—Hexadecimal default tone plan ID; access the Multiple Tone Plan Configuration screen to determine the default tone plan name.

0100 to 1400—Hexadecimal tone plan IDs other than the default; access the Multiple Tone Plan Configuration screen to view the available tone plan names and their unique decimal IDs.

Controlling Port Address (byte offset 13 to 16)—Hexadecimal representation of the incoming circuit address to which the outgoing port is or will be linked. When using this command to execute a rule on an outgoing port in CP_SETUP state (no incoming port attached), these bytes must be set to $00 00.

Outgoing Port Control Code (byte offset 17)—Sets up the conditions for this command. Construct the byte in binary according to the following descriptions, then convert to hexadecimal for use in the command.

    SAPVV000
S—Specifies if switching action is required.

S = 0—No switching action required; A bit ignored and set to 0.
S = 1—Switching action required.
A—Specifies whether to link or remove a resource.

A = 0—If S = 1, remove resource from call; if S = 0, no meaning.
A = 1—If S = 1, link resource to call; if S = 0, no meaning.
P—Specifies whether to use a specific outgoing circuit or to select any outgoing circuit from a resource group; port address or group number is specified in Outgoing Port Address bytes.

P = 0—For S = 0 or 1, use port specified in Outgoing Port Address bytes.
P = 1—For S = 0, use outgoing port already in call's resource chain; for S = 1, select port from resource group specified in Outgoing Port Address byte.
VV—Specifies additional speech path control functions performed as part of this command. For outgoing circuits, these functions are shown below.

VV = 00—(Default) Defer two-way speech path between incoming port and outgoing port until end of outpulse rule processing.
VV = 01—Defer two-way speech path between incoming port and outgoing port until outgoing port answers.
VV = 10—Cut two-way speech path between incoming port and outgoing port immediately, before starting outpulse rule.

Outgoing Port Address (byte offsets 18 to 21)—The hexadecimal representation of the port address or resource group to hunt for an available circuit; convert decimal to hexadecimal for the group number.

P = 1—Resource Group.
P = 0—Port Address.

Rule Control (byte offset 22)—Determines if an outpulse or inpulse rule is used in this command and the rule number, if any. Construct the byte in binary according to the descriptions that follow, then convert to hexadecimal for use in the command.

    XNI000000
X—Specifies if an outpulse rule is used in this macro command.

X = 0—Do not invoke an outpulse rule.
X = 1— Invoke the outpulse rule identified in the next byte (Rule Number (byte offsets 23 and 24). The I bit must be set to zero.
N—Bit setting that determines if the Disconnect Control byte is included in this command; indicates a disconnect control option is specified.

N = 0—No Disconnect Control byte included; continue command with Digit Outpulse Control byte.
N = 1—Disconnect Control byte contained in byte offset 25.
I—Specifies to invoke an inpulse rule.

I = 0—Do not invoke an inpulse rule.
I = 1—Invoke the inpulse rule identified in the next byte (Rule Number, byte offsets 23 and 24). The X bit must be set to zero.
Rule Number (byte offsets 23 and 24)—Specifies the rule which is currently active on the system.

Disconnect Control Byte

The Disconnect Control byte is used only when N = 1 in the Rule Control byte (offset 22). In addition to determining the disposition of ports when the call is torn down, this byte also specifies the reporting that occurs for on hook conditions. When N = 1 in byte offset 22, the Disconnect Control byte appears in byte offset 25.

This byte is processed by the system in the following two cases:

The Disconnect Control byte is ignored when the outgoing port is being attached to a virtual incoming port. Also, bit settings in this byte are overridden if any of the following commands are processed for either port in this $69 command: another $69 command, or an Incoming Port Control ($6A), Change Incoming Port ($6B), or Conference Control ($6D) command.

The definition of this byte varies slightly for each case as described in the text that follows.

Attaching

When attaching an outgoing port (S and A = 1 in byte offset 17), the Disconnect Control byte is defined as follows.

Disconnect Control (byte offset 25)—Included only if N = 1 in the Rule Control byte. Determines what actions to take on a port when the opposite end goes on hook. This byte is ignored when used to attach to a virtual port. Construct byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    000TICU0
T—Valid only when I = 0 (port forced to idle and not CP_SETUP); specifies whether to suppress the Incoming Port Change of State ($DB) report if the outgoing port to which it is attached goes on hook first. If the incoming port goes on hook first, the $DB report is always generated. This bit has no effect on Permanent Signal Condition ($D2) reporting for the incoming port. If I = 1, set this bit to 0.

T = 0—If I = 0, on hook ($DB) reports always generated when incoming port goes on hook; ignored if I = 1.
T = 1—If I = 0, suppress on hook ($DB) reports for the incoming port if the outgoing port goes on hook first; ignored if I = 1.
I—Specifies whether to return the incoming port to CP_SETUP state when the outgoing port goes on hook.

I = 0—Force incoming to idle; physical release and begin permanent signal processing.
I = 1—Set incoming to setup state upon outgoing disconnect; T must be 0.
C—Valid only when U = 0 (port forced to idle and not CP_SETUP); specifies whether to suppress the Outgoing Port Change of State ($DA) report if the incoming port to which it is attached goes on hook first. If the outgoing port goes on hook first, the $DA report is always generated. This bit has no effect on $D2 reporting for the outgoing port. If U = 1, set this bit to 0.

C = 0—If U = 0, on hook ($DA) reports are always generated when outgoing port goes on hook; ignored if U = 1.
C = 1—If U= 0, suppress on hook ($DA) reports for the outgoing port if the incoming port goes on hook first; ignored if U = 1.
U—Specifies whether to return the outgoing port to CP_SETUP state when the incoming port goes on hook.

U = 0—Force outgoing to idle; physical release and begin Permanent Signal processing.
U = 1—Set outgoing to setup state upon incoming disconnect; C must be 0.

Detaching

When detaching an outgoing port (S = 1 and A = 0 in byte offset 17), the Disconnect Control byte is defined as follows.

Disconnect Control (byte offset 25)—Included only if N = 1 in the Rule Control byte. Determines what actions to take on the outgoing port when it is detached via this command. The outgoing port may be connected to a virtual port. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    000TICU0
T—Bit unused when detaching outgoing; set to 0.

I—Bit unused when detaching outgoing; set to 0.

C—Valid only when U = 0 (port forced to idle and not CP_SETUP); specifies whether to suppress the $DA. This bit has no effect on $D2 reporting for the outgoing port. If U = 1, set this bit to 0.

C = 0—If U = 0, $DA reports always generated when outgoing port goes on hook; ignored if U = 1.
C = 1—If U= 0, suppress $DA reports for the outgoing port; ignored if U = 1.
U—Specifies whether to return the outgoing port to CP_SETUP state when this command is processed. If a previous $69 command is used to attach a specified U = 1, it must be specified again when detaching.

U = 0—Force outgoing to idle; physical release and begin permanent signal processing.
U = 1—Set outgoing to setup state; C must be 0.

Outpulse Control Segment

The Outpulse Control segment is up to 6 bytes long and it is used in all $69 commands. Always use a single- byte Outpulse Control segment of $00 to terminate this command. You can use up to five Outpulse Control segments in a single command. When a Disconnect Control byte is used, the first Outpulse Control segment begins at byte offset 27; otherwise the first segment begins at byte offset 26. The Outpulse Control segment is defined as follows.

Digit Outpulse Control—Specifies the call record field into which the digit string that follows is to be saved, and the number of digits in the string. The final byte of this command must always be a Digit Outpulse Control Byte = $00 to signal that there are no further digits to be outpulsed. If the digit string contained in a field is to be replaced by a new digit string, the field number and string are specified here. Only the field specified here is replaced; digit strings in any other field contained in the outpulse rule remain unchanged and are processed. Digit strings can be specified when executing either an inpulse or outpulse rule; the inpulse rule may contain a DO ORULE token. If a digit string is to be passed to an outpulse rule, construct byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    FFFNNNNN
FFF—Specifies the call record field to receive the digit string:

FFF = 001—Field 1.
FFF = 010—Field 2.
FFF = 011—Field 3.
FFF = 100—Field 4.
FFF = 000—ANI (originating number field).
NNNNN—Specifies the number of digits in the string; a number between 0 (no digits) and 20 is required (between 0 and 12 for the originating number (ANI) field). Convert from decimal to binary for string length.

Digit String—The digit string contains half as many bytes as specified in the NNNNN bits. Each nibble in the hexadecimal byte represents a single digit; digits represented are from 1 to 9 inclusive, 0 ($A), plus the special characters * ($E) and # ($F). If there is an odd number of digits in the string, the second digit of the final byte should be 0. Up to 20 digits can be specified (up to 12 for ANI).

If the system feature "Enable 4th Column DTMF" is set, the DTMF digits in this string are remapped to utilize fourth-column DTMF digits. DTMF digits 0-9 (hexadecimal 0-9), A-D (hexadecimal A-D), and the characters * ($E), and # ($F) can be used.


Note   The special characters * and # are represented differently in DTMF Digit ($D1) reports and $69 command outpulse segments.
In $D1 (Standard) reports, * and # are indicated by the hexadecimal characters $B and $C, respectively.
In $D1 (Enhanced) reports, if the system feature "Enable 4th Column DTMF" is enabled, * and # are indicated by the hexadecimal characters $E and $F, respectively.

If the system feature "Enable 4th Column DTMF" is set, the DTMF Digit ($D1) Enhanced report indicates * and # with the hexadecimal characters $E and $F, respectively.


Note   All $69 command terminations are indicated by a single byte Outpulse Control segment of 00. If the host creates an Outpulse Control segment for the ANI field with 0 (zero) digits, the Digit Outpulse Control byte (byte offset 26) is 00. This scenario is interpreted by the VCO/4K as a termination of the command and any Outpulse Control segments that appear after it are ignored. Ensure that, if a 0 byte ANI field within an Outpulse Control segment is a possibility, it is the last Outpulse Control segment in the command.

System Response

No response from the system upon successful completion unless Return All has been set in the Network Header. A command returned by the system with a network status byte not equal to $01 indicates the command was not processed. The following network status bytes may be returned: $03, $0D, $0E, $0F, $11, $12, $15, $16, $17, $18, $1C, $1F, $20, $22, $23, $24, $25, $26, $2B, $35, $37, $3A and $3C. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

A network status byte value of $4F is returned if fourth-column DTMF digits are used and the system feature "Enable 4th Column DTMF" is not enabled.

A $DA report is generated when any supervision error is detected, or a supervision event occurs for which a REP or ANSREP condition token has been specified in the answer supervision template called by the outpulse rule, or a REP END is used in an outpulse rule.

If more than 20 digits are specified for a single digit string, the command is processed without error return, but only the first 20 digits of the string are stored and outpulsed.

A command returned with a network status byte of $1F indicates that no outgoing ports were available in the resource group and is followed by a Resource Limitation ($D6) report. A network status byte of $25 indicates that the command could not be processed because all outpulsing channels are busy, but is not followed by a $D6 report. Refer to the "Resource Limitation ($D6) Report" section for more information.

If Return All is used, the port address of any resource that was requested by resource group number is returned in place of the group number.

When the incoming port is on a T1, E+M, or UTC, answer supervision is passed back to the incoming port when the call goes stable.

Examples


Example 4-18: $69 Command

Assume there is a nonidle incoming circuit at address 00000018. The following command attaches an idle outgoing circuit from resource group 2 to the incoming circuit, begins Outpulse Rule 4, and passes it three digits to be placed in call field 2, and seven digits to be placed in call field 4.

04 05060708 09101112 13141516 17 18192021 22 2324 25 26 27 28 29 30 31 32 69 00000000 00000000 00000018 E0 00000002 80 0043 6A 30 87 55 51 23 40 00

Main Command Segment:

Function ID = 69 (Outgoing Port Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000018

Outgoing Port Control Code = E0

    SAPVV000 11100000
S = 1 (switching action required)

A = 1 (attach resource)

P = 1 (select from resource group)

VV = 00 (cut through path after rule completion)

Outgoing Port Address or Resource Group = 00000002 (resource group 2)

Rule Control = 80

    XNI00000 10000100
X = 1 (execute outpulse rule)

N = 0 (no Disconnect Control byte)

I = 0 (no inpulse rule)

Rule Number = 0043

Disconnect Control Code =0A

Outpulse Control Segment 1:

Digit Outpulse Control = 43

FFF = 010 (field 2)

NNNNNN = 3 (3 digits in string)

Digit String = 603 (final 0 is ignored)

Outpulse Control Segment 2:

Digit Outpulse Control = 10000111

FFF = 100 (field 4)

NNNNNN = 7 (7 digits in string)

Digit String = 5551234 (final 0 is ignored)

Outpulse Control Segment 3:

Digit Outpulse Control = 00 (no further digits in command)


Example 4-19: $69 Command

The following command attaches the idle outgoing circuit at address 00000020 to the nonidle incoming circuit at address $18. No outpulsing is specified, and no digits are sent, so the digit string is omitted.

04 05060708 09101112 13141516 17 18192021 22 2324 69 00000000 00000000 00000018 C0 00000020 00 0000

Main Command Segment:

Function ID = 69 (Outgoing Port Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000018

Outgoing Port Control Code = C0

    SAPVV000 11000000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

VV = 00 (cut through path after rule completion)

Outgoing Port Address = 00000020

Rule Control = 00

    XNI00000 00000000
X = 0 (no outpulse rule)

N = 0 (no Disconnect Control byte)

I = 0 (no inpulse rule)

RRRRR = 0 (bit ignored)

Rule Number = 0000

Outpulse Control Segment:

Digit Outpulse Control = 00 (no further digits in command)


Example 4-20: $69 Command

Assume the circuit at $10F is an incoming port with a COS = AT and in a setup state (CP_SETUP). Also assume that the circuit at 00000045 is an outgoing port that was first in a stable call, then participating in a conference, and finally removed from the conference (currently in CP_SETUP). The following command places these two ports into a stable call:

04 05060708 09101112 13141516 17 18192021 22 2324 69 00000000 00000000 0000010F D0 00000045 00 0000

Main Command Segment:

Function ID = 69 (Outgoing Port Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 0000010F

Outgoing Port Control Code = D0

    SAPVV000 11000000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

VV = 00 (cut through path immediately)

Outgoing Port Address = 00000045

Rule Control = 00

    XNI00000 00000000
X = 0 (no outpulse rule)

N = 0 (no Disconnect Control byte)

I = 0 (no inpulse rule)

Rule Number = 0000

Outpulse Control Segment:

Digit Outpulse Control = 00 (no further digits in command)


Example 4-21: $69 Command

Assume the circuit at 00000256 is an incoming T1 port that has gone off hook and is awaiting host action. Resource group 10 contains SLIC ports with COS = O. The command below hunts group 10 for an idle SLIC port, executes the null outpulse rule (seize only), then places both ports into a wait for answer state (CP_WANS for the incoming, CP_WTFSUP for the outgoing). When the SLIC port goes off hook, answer supervision is returned to the incoming T1 port. When the outgoing SLIC goes on hook, the incoming T1 is returned to CP_SETUP to await further action (Disconnect Control byte included in command at byte offset 10).

04 05060708 09101112 13141516 17 18192021 22 2324 25 69 00000000 00000000 00000256 E8 0000000A C0 0008 00

Main Command Segment:

Function ID = 69 (Outgoing Port Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000256

Outgoing Port Control Code = E8

    SAPVV000 11101000S
A = 1 (attach resource)

P = 1 (hunt from group)

VV = 01 (cut through path after outgoing answers)

Outgoing Port Address or Resource Group = 0000000A

Rule Control = C0

    XNI00000 11000000
X = 1 (execute outpulse rule)

N = 1 (Disconnect Control byte)

I = 0 (no inpulse rule)

Rule Number = 0008

Disconnect Control Byte = 00

    000TICU0 00001000
T = 0 (undefined)

I = 1 (place incoming in CP_SETUP on outgoing on hook)

C = 0 (on hook and PSC clear reported for outgoing)

U = 0 (force outgoing to idle on incoming on hook)

Outpulse Control Segment:

Digit Outpulse Control = 00 (no further digits in command)


Example 4-22: $69 Command

Assume the outgoing circuit at 0000011F has been attached to the virtual call generation incoming port 00008012, an outpulse rule was executed and the port has answered. The following command detaches the outgoing port from the virtual so that further action can be taken (prompts played, connection made to another call, etc.).

04 05060708 09101112 13141516 17 18192021 22 2324 25 69 00000000 00000000 00008012 81 0000011F 40 0002 00

Main Command Segment:

Function ID = 69 (Outgoing Port Control)

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00008012

Outgoing Port Control Code = 81

    SAPVV000 10000001
S = 1 (switching action required)

A = 0 (remove resource) P = 0 (use address given)

VV = 00 (cut through path after rule completion)

Outgoing Port Address or Resource Group = 0000001F

Rule Control = 40

    XNI00000 01000000
X = 0 (no outpulse rule)

N = 1 (Disconnect Control byte)

I = 0 (no inpulse rule)

Rule Number = 0002

Disconnect Control Byte = 00

    000TICU0 00000010
T = 0 (undefined)

I = 0 (force incoming port to idle; begin PST processing)

C = 0 (on hook and PSC clear reported for outgoing)

U = 1 (set outgoing port to setup state upon outgoing disconnect)

Outpulse Control Segment:

Digit Outpulse Control = 00 (no further digits in command)

Incoming Port Control (Macro) ($6A) Command

Command Type

Resource Control

Description

Use the Incoming Port Control (Macro) ($6A) command to instruct the system to force call origination or disconnect, begin an inpulse or outpulse rule, or execute one of the following commands or segments:

Specify only one inpulse rule, outpulse rule, or command segment in a single command. Up to five Outpulse Control segments can be included in a single command when an outpulse or inpulse rule is specified for an incoming port. Command segments follow the general format for their command, but the Function ID, any trailing Spacer Bytes, Tone Plan, and Controlling Port Address segments are omitted. Spacer Bytes in the MF Collection Control ($68) command segment must be included whenever the segment is used. You can specify multiple tone plans when used with VCO/4K system software Version 5.2(0).

Control of disconnect at call tear down and receipt of Permanent Signal Condition/on hook reports are also included in this command.

The minimum length for the $6A command is 22 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

The $6A command has the format:

Main Command segment [optional segment(s)...]

Use only one command segment in a single command. Up to five Outpulse Control segments can be included.

This command can be used with virtual call generation ports. Specify the virtual port by either address, or as a hunt from resource group $FE.

When a physical port is used as the incoming (controlling) port, it must be off hook and in a nonidle state in order for this command to be processed, except in the case of forced origination. For forced origination, port must have a COS = A and be off hook and idle, or a virtual port.

If an inpulse or outpulse rule is specified in the command, no command segments can be attached.

Call origination can be forced by setting S = 1 and A = 1 in the Incoming Port Control Code byte. The port specified in the Controlling Port Address bytes must be either a physical port with COS = A and be off hook and idle, or a virtual port. An inpulse rule or command segment can also be specified.

Because the incoming port must be off hook, a Port Supervision Control ($72) command segment can only be used to unseize an incoming port or for T1 or UTC hookflash. Refer to the "Port Supervision Control ($72) Command" section for more information.

DID ports are supported by this command as an incoming (controlling) port only.

This command can be used to transfer an incoming port by causing a disconnect while maintaining the port in setup state, and then including a $69 segment that attaches a new outgoing port.

Format

Figure 4-15 shows the byte formatting for this command.


Figure 4-15: $6A Command Format


Main Command Segment

The Main Command segment is composed of byte offsets 4 to 21 and must be included in its entirety. Components of the Main Command segment are defined as follows.

Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Tone Plan (byte offsets 9 to 12)—Byte offsets 9 and 10 uniquely identify the tone plan used. Byte offsets 11 and 12 are reserved for future enhancements and must remain 00 in this command. Access the VCO/4K administration software Multiple Tone Plan Configuration screen for a list of the available tone plan names and their associated unique tone plan identification numbers, which are decimal values. From the Multiple Tone Plan Configuration screen, determine which tone plan name to configure in this command and make a notation of its associated unique tone plan ID decimal value. Convert the decimal value to hexadecimal and specify the hexadecimal value in the command.

Use the following quick reference for the tone plan segment:

0000—Hexadecimal default tone plan ID; access the Multiple Tone Plan Configuration screen to determine the default tone plan name.

0100 to 1400—Hexadecimal tone plan IDs other than the default; access the Multiple Tone Plan Configuration screen to view the available tone plan names and their unique decimal IDs.

Controlling Port Address (byte offsets 13 to 16)—If P = 0 (below), this number is the hexadecimal representation of the incoming circuit. If P = 1, this number is the hexadecimal representation of the resource group number to hunt for an available circuit.

Incoming Port Control Code (byte offset 17)—Sets up the conditions used for this macro command. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    SAPTICU0
S—Specifies if switching action is required.

S = 0—No switching action required; A bit ignored and set to 0.
S = 1—Switching action required.
A—Specifies whether to originate a call or disconnect a call.

A = 0—If S = 1, forced disconnect from incoming port (tears down a call); if S = 0, no meaning.
A = 1—If S = 1, forced origination from incoming port (begins a call); if S = 0, no meaning.
P—Specifies whether to use a specific incoming circuit or, if forcing an origination, to select any incoming circuit from a resource group; port address or group number is specified in Controlling Port Address bytes.

P = 0—If S = 1 and A = 1, initiate a call using a port specified in Controlling Port Address byte to start a call; otherwise use that port to perform the action specified (such as begin inpulse rule processing or present a voice prompt).
P = 1—If S = 1 and A = 1, initiate a call by selecting a port from the resource group specified in the Controlling Port Address byte.
T—Specifies whether on hooks are reported for the incoming port (Incoming Port Change of State ($DB) report). Valid only when S = 1, A = 0, and I = 0. If I = 1, this bit has no meaning (port is not forced to idle at the end of the call) and should be set to 0. This bit has no effect on Permanent Signal Condition ($D2) reporting.

T = 0—If I = 0, $DB reports are generated when incoming port goes on hook..
T = 1—If I = 0, no $DB reports generated for this port.
I—Specifies whether to return the incoming port to CP_SETUP state when performing a forced disconnect. Valid only when S = 1 and A = 0.

I = 0—Force incoming to idle; physical release and begin permanent signal processing (only if COS is not A).
I = 1—Set incoming to setup state when command is processed.
C—Specifies whether on hooks are reported for the outgoing port ($DA reporting). Valid only when S = 1 and A = 0. If U = 1, this bit has no meaning (port not forced to idle at the end of the call) and should be set to 0. This bit has no effect on $D2 reporting.

C = 0—If U = 0, $DA reports are generated when outgoing goes on hook.
C = 1—If U = 0, no $DA reports generated for this port.
U—Specifies whether to return the outgoing port to CP_SETUP state when this command is received. Valid only when S = 1 and A = 0 (incoming port detached).

U = 0—Force outgoing to idle; physical release and begin permanent signal processing (only if COS is not A).
U = 1—Set outgoing to setup state upon receipt of command.

Rule Control (byte offset 18)—Determines if an inpulse or outpulse rule is used in this macro command, and the rule number, if any. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    I0U000000
I—Specifies if an inpulse rule is used in this macro command.

I = 0—No inpulse rule specified; 0 bits ignored.
I = 1—Execute inpulse rule identified in the next byte (Rule Number, byte offsets 19 and 20). Digit strings may appear in the Outpulse Control segment at the end of this command if a DO ORULE token is used in the inpulse rule specified. U must be set to zero.
U—Specifies whether an outpulse rule is used in this macro command.

U = 0—No outpulse rule specified; 0 bits are ignored.
U = 1—Execute the outpulse rule specified in the next byte (Rule Number, byte offsets 19 and 20). Digit strings to be outpulsed may appear in the Outpulse Control segment at the end of the command. I must be set to zero.

Segment Control Code (byte offset 21)—Identifies the Resource Control command segment included in this macro; a segment is allowed only if Inpulse Rule Control byte = 0. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    CDMAPSD0
C—Specifies if a Port Supervision Control ($72) command segment is attached.

C = 0—No Port Supervision Control command segment attached.
C = 1—Port Supervision Control command segment attached.
D—Specifies if DTMF Collection Control ($67) command segments are attached.

D = 0—No DTMF Collection Control command segment attached.
D = 1—DTMF Collection Control command segment attached.
M—Specifies if an MF Collection Control ($68) command segment is attached.

M = 0—No MF Collection Control command segment attached.
M = 1—MF Collection Control command segment attached.
A—Specifies if a Voice Port Control ($6C) command segment is attached.

A = 0—No Voice Port Control command segment attached.
A = 1—Voice Port Control command segment attached (standard or enhanced).
P—Specifies if an Outgoing Port Control ($69) command segment is attached.

P = 0—No Outgoing Port Control command segment attached.
P = 1—Outgoing Port Control command segment attached.
S—Specifies if a Speech Collection Control ($6E) command segment is attached.

S = 0—No Speech Collection Control command segment attached.
S = 1—Speech Collection Control command segment attached.
D—Specifies if one or more Outpulse Rule Control segments are attached.

D = 0—No Outpulse Rule Control segments attached.
D = 1—One or more Outpulse Rule Control segments attached.

Optional Segments

Optional Segments consists of the command segment or Outpulse Control segment(s) to be included in this macro and begins with byte offset 22. The type of segment included is defined in the Segment Control Code (byte offset 21). The command segment format follows that of the command represented, with the exclusion of the Function ID, any trailing Spacer Bytes, Tone Plan, and Controlling (incoming) Port Address segments. Spacer bytes in the MF Collection Control ($68) command segment must be included whenever it is used. Outpulse Control segment can be included only when I or U = 1 in the Rule Control byte (offset 10) and are defined in the "Outgoing Port Control ($69) Command" section. Only one command segment can be specified. Up to five Outpulse Control segments can be included in a single command.

System Response

If an inpulse or outpulse rule is included in this command, a $D0, $D1, $DA or $DD report may be returned.

No response from the system upon successful completion is provided unless Return All has been set in the Network Header. If the command is returned by the system with a network status byte not equal to $01, it indicates the command was not processed. The following network status bytes may be returned—$03, $06, $0F, $10, $11, $12, $18, $1C, $1F, $21, $24, $26, $2B, $37, and $3C—in addition to any network status bytes specific to the command segments. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

If Return All is used, the port address of any resource that was requested by resource group number is returned in place of the group number.

A Resource Limitation ($D6) report indicates the command could not be processed due to lack of available resources when the command or segment attempted to select from a resource group, or when an inpulse or outpulse rule is executed. Refer to the "Resource Limitation ($D6) Report" section for more information.

If command processing involves a port change of state, an Incoming Port Change of State ($DB) or Outgoing Port Change of State ($DA) report is returned by the system.

Forced disconnect causes the system to return Incoming Port Change of State ($DB), Outgoing Port Change of State ($DA), and Permanent Signal Condition ($D2) reports unless T = 1 (controls $DB reporting) and/or C = 1 (controls $DA reporting) in the Incoming Port Control Code.

Examples


Example 4-23: $6A Command

Assume there is an incoming circuit at address 00000018 that has gone off hook. The following command processes Inpulse Rule 5 on 00000018.

04 05060708 09101112 13141516 17 18 1920 21 6A 00000000 00000000 00000018 00 80 0005 00

Function ID = 6A (Incoming Port Control (Macro))

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000018

Incoming Port Control Code = 00

    SAPTICU0 00000000
S = 0 (no switching action required)

A = 0 (S = 0, so this bit is ignored)

P = 0 (use address given)

T = 0 (S = 0, so this bit ignored)

I = 0 (S = 0, so this bit ignored)

C = 0 (S = 0, so this bit ignored)

U = 0 (S = 0, so this bit ignored)

Rule Control = 80

    I0URRRRR 10000000
I = 1 (execute inpulse rule)

U = 0 (no outpulse rule specified)

Rule Number = 0005

Segment Control Code = 00

    CDMAPSD0 00000000
C = 0 (no Port Supervision Control command segment attached)

D = 0 (no DTMF Collection Control command segment attached)

M = 0 (no MF Collection Control command segment attached)

A = 0 (no Voice Port Control command segment attached)

P = 0 (no Outgoing Port Control command segment attached)

S = 0 (no Speech Collection Control command segment attached)

D = 0 (no Outpulse Rule Control segments attached)

No optional segments.


Example 4-24: $6A Command

Assume there is an incoming circuit at address 00000020 with a stable call in progress. The following command forces it to disconnect. Notice there are no segments attached to this command.

04 05060708 09101112 13141516 17 18 1920 21 6A 00000000 00000000 00000020 80 00 0000 00

Main Command segment:

Function ID = 6A (Incoming Port Control (Macro))

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000020

Incoming Port Control Code = 80

    SAPTICU0 10000000
S = 1 (switching action required)

A = 0 (S = 1; forced disconnect)

P = 0 (use address given)

T = 0 (report incoming port on hook and PSC)

I = 0 (incoming port forced to idle)

C = 0 (report outgoing port going on hook)

U = 0 (outgoing port forced to idle)

Rule Control = 00

    IOURRRRR 00000000
I = 0 (no inpulse rule)

U = 0 (no outpulse rule)

RRRR = 0 (no rule)

Rule Number = 0000

Segment Control Code = 00

    CDMAPSD0 00000000
C = 0 (no Port Supervision Control command segment attached)

D = 0 (no DTMF Collection Control command segment attached)

M = 0 (no MF Collection Control command segment attached)

A = 0 (no Voice Port Control command segment attached)

P = 0 (no Outgoing Port Control command segment attached)

S = 0 (no Speech Collection Control command segment attached)

D = 0 (no Outpulse Rule Control segments attached)

No optional segments.


Example 4-25: $6A Command

Assume there is an incoming circuit at address $0019 with COS = AT that is off hook and idle, and an outgoing circuit at address $0025. The command below initiates a call on the incoming circuit, then attaches it to the outgoing circuit and processes Outpulse Rule 4. The format for attaching $0025 and executing Outpulse Rule 4 is taken from the Outgoing Port Control ($69) command.

04 05060708 09101112 13141516 17 18 192021 22 6A 00000000 00000000 00000019 C0 00 000008 C0 00000025 80 0004 00

Main Command segment:

Function ID = 6A (Incoming Port Control (Macro))

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000019

Incoming Port Control Code = C0

    SAPTICU0 11000000
S = 1 (switching action required)

A = 1 (forced origination—start a call)

P = 0 (use address given to initiate call)

T = 0 (S = 1, but A is also 1; this bit ignored)

I = 0 (incoming port forced to idle)

C = 0 (report outgoing port going on hook)

U = 0 (outgoing port forced to idle)

Rule Control = 00

    I0URRRRR 00000000
I = 0 (no inpulse rule)

U = 0 (no outpulse rule)

Rule Number = 0000

Segment Control Code = 08

    CDMAPSD0 00001000
C = 0 (no Port Supervision Control command segment attached)

D = 0 (no DTMF Collection Control command segment attached)

M = 0 (no MF Collection Control command segment attached)

A = 0 (no Voice Port Control command segment attached)

P = 1 (Outgoing Port Control command segment attached)

S = 0 (no Speech Collection Control command segment attached)

D = 0 (no Outpulse Rule Control segments attached)

Outgoing Port Control Command segment = C0 00000025 80 0004:

Function ID = omitted

Controlling Port Address = omitted

Outgoing Port Control Code = 11000000

S = 1 (switching action required)

A = 1 (attach outgoing port)

P = 0 (use outgoing port address given)

VV = 00 (cut through path after outpulsing)

Outgoing Port Address = 00000025

Outpulse Rule Control = 10000000

X = 1 (execute outpulse rule)

N = 0 (no Disconnect Control byte)

I = 0 (no inpulse rule)

Digit Outpulse Control = 00000000

FFF = 000 (no digits to be outpulsed)

NNNNN = 0 (0 digits saved in call record)

End of Outgoing Port Control Command segment.


Example 4-26: $6A Command

Assume there is an incoming circuit at address $0020 with a stable call in progress. The command below forces it to disconnect. The incoming circuit is left in setup mode while the outgoing circuit begins Permanent Signal Timing. The Attach Outgoing Port Control command attaches the incoming circuit to an outgoing circuit hunted from group 2.

04 05060708 09101112 13141516 17 18 1920 21 22 23 24 25 26 27 2829 30 6A 00000000 00000000 00000020 88 00 0000 08 E0 00 00 00 02 80 0000 00

Main Command Segment:

Function ID = 6A (Incoming Port Control (Macro))

Spacer Bytes = 00000000 (user defined command identifier)

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000020

Incoming Port Control Code = 88

    SAPTICU0 10001000
S = 1 (switching action required)

A = 0 (S = 1; forced disconnect)

P = 0 (use address given)

T = 0 (report incoming port on hook and PSC)

I = 1 (sets incoming port to setup state)

C = 0 (report outgoing port going on hook)

U = 0 (outgoing port forced to idle)

Rule Control = 00

    I0U00000 00000000
I = 0 (no inpulse rule)

U = 0 (no outpulse rule)

Rule Number = 0000

Segment Control Code = 08

    CDMAPSD0 00001000
C = 0 (no Port Supervision Control command segment attached)

D = 0 (no DTMF Collection Control command segment attached)

M = 0 (no MF Collection Control command segment attached)

A = 0 (no Voice Port Control command segment attached)

P = 1 (Outgoing Port Control command segment attached)

S = 0 (no Speech Collection Control command segment attached)

D = 0 (no Outpulse Rule Control segments attached)

Outgoing Port Control Command segment = E0 00000002 80 0000 00:

Function ID = omitted

Controlling Port Address = omitted

Outgoing Port Control Code = 11100000

S = 1 (switching action required)

A = 1 (attach outgoing port)

P = 1 (hunt a port from the resource group in Outgoing Port Address)

VV = 00 (cut through path after outpulsing)

Outgoing Port Address = 00000002

Outpulse Rule Control = 10000000

X = 1 (execute outpulse rule)

N = 0 (no Disconnect Control byte)

I = 0 (no inpulse rule)

Outpulse Rule Number = 0000

Digit Outpulse Control = 00000000

FFF = 000 (no digits to be outpulsed)

NNNNN = 0 (0 digits saved in call record)

End of Outgoing Port Control Command segment.

Change Incoming Port ($6B) Command

Command Type

Resource Control

Description

Use the Change Incoming Port ($6B) command to switch all resources for an active call from one incoming port to another. Original port is forced to an idle state.

The minimum length for the $6B command is 22 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

The old incoming port should have other resources linked to it and be participating in a call for this command to have any effect. The command adjusts all speech paths from the old incoming port to the new incoming port. This command can be used for transferring calls.

The controlling or new incoming port cannot be participating in a conference. If it is, the command is returned with a network status byte value of $1C.

If the old incoming port is involved in inpulse rule processing, the rule is aborted when this command is received.

The new incoming port must be in CP_SETUP state or, if COS = AT or A2, the port can also be in CP_IDLE if it is off hook. Hunting can be done only if all members of the group specified have COS = A and are off hook. An idle port in that group is selected.

Use this command to replace a virtual port with a physical incoming port. The call must be in either a wait for answer or stable condition to perform this action. The virtual port is idled when removed from the call.

Disconnect Control settings for both the incoming and outgoing ports are determined in the Outgoing Port Control ($69) command. These settings can be carried over from the $69 command or cleared using two bit settings in the $6B command's Port Selection Control byte (offset 17). The Disconnect Control settings cannot be set when the incoming port is a virtual call generation port. Refer to the Disconnect Control byte description in the $69 command for details on disconnect settings.

Format

Figure 4-16 shows the byte formatting for this command.


Figure 4-16: $6B Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Old Incoming Port Address (byte offsets 13 to 16)—Hexadecimal representation of the circuit address from which to switch active call processing.

Port Selection Control (byte offset 17)—Specifies the disconnect control settings for the incoming and outgoing ports, and determines whether to switch the call to a specific incoming port or select one from a resource group. The first bit setting specifies whether to carry the disconnect bit settings from the old incoming port to the new incoming port, or clear the settings. The second bit determines whether to maintain the settings on the outgoing port as currently defined, or clear the settings. The third bit determines whether a specific incoming port is used or an available port hunted from a resource group. Construct the byte in binary, then convert to hexadecimal for use in the command.

    CKP00000
C—Specifies whether to carry disconnect control bits defined for the old incoming port to the new incoming port, or clear the current settings on the incoming port.

C = 0—Clear bit settings.
C = 1—Carry bit settings from previous incoming port.
K—Indicates whether to keep the disconnect control bits as currently defined on the outgoing port, or clear the settings.

K = 0—Clear bit settings.
K = 1—Keep bit settings the same as on outgoing port.
P—Determines whether to use a specific port or select from a resource group.

P = 0—Use address given.
P = 1—Select from resource group.

New Incoming Port Address (byte offsets 18 to 21)—Hexadecimal representation of the circuit address from which to receive active call processing.

System Response

No response from the system upon successful completion is provided unless Return All has been set in the Network Header. If the command is returned by the system with a network status byte not equal to $01, it indicates that the command was not processed. The following network status bytes may be returned: $06, $0E, $0F, $10, $11, $12, $18, $1C, $1F, $21, $24, $26, $35, and $3C. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

If Return All is used, the port address of the new incoming port requested by resource group number is returned in place of the group number.

The Resource Limitation ($D6) report indicates that the command could not be processed because of a lack of available resources in a specified resource group. Refer to the "Resource Limitation ($D6) Report" section for more information.

The old incoming port is released and Permanent Signal processing begins for that port (unless it is a virtual port). An Incoming Port Change of State ($DB) report for the old port address is returned when that physical port goes on hook. A Permanent Signal Condition ($D2) report may also be returned. If the old incoming port is a virtual port or its COS = A, it is returned to an idle condition; no $DB report is generated.

Examples


Example 4-27: $6B Command

Assume there is an active call on the incoming port at address $18. Resource group 6 consists of ports with a COS = AT, and all ports in that group are off hook. The following command switches that call to an idle port in resource group 6, and forces the port at address $18 to go idle.

04 05060708 09101112 13141516 17 18192021 6B 00000000 00000000 00000018 20 00000006

Function ID = 6B (Change Incoming Port)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Old Incoming Port Address = 00000018

Port Selection Control = 00100000

    CKP00000 00100000
C = 0 (clear incoming disconnect bit settings)

K = 0 (clear outgoing disconnect bit settings)

P = 1 (select from resource group)

New Incoming Port Address = resource group 6 ($006).


Example 4-28: $6B Command

Assume there is an active call between a virtual port and an outgoing port. The following command transfers the call to an incoming circuit at $211 that is already in setup state.

04 05060708 09101112 13141516 17 1819202122 6B 00000000 00000000 00000080 00 0000000211

Function ID = 6B (Change Incoming Port)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Old Incoming Port Address = 00000080

Port Selection Control = 00

    CKP00000 00000000
C = 0 (clear incoming disconnect bit settings)

K = 0 (clear outgoing disconnect bit settings)

P = 0 (use address given)

New Incoming Port Address = 0000000211.


Example 4-29: $6B Command

Assume there is an active call on the incoming port at address $20. The following command switches that call to an incoming circuit at $21 that is already in setup state. The disconnect settings for the incoming ports are carried over and the current outgoing disconnect settings are maintained.

04 05060708 09101112 13141516 17 18192021 6B 00000000 00000000 00000020 C0 00000021

Function ID = 6B (Change Incoming Port)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Old Incoming Port Address = 00000020

Port Selection Control = C0

    CKP00000 11000000
C = 1 (carry over incoming disconnect bit settings)

K = 1 (keep current outgoing disconnect bit settings)

P = 0 (use address given)

New Incoming Port Address = 00000021.

Voice Port Control ($6C) (Standard) Command

Command Type

Resource Control

Description

Use the Voice Port Control ($6C) (Standard) command to instruct the system to play up to 14 voice prompts to a line or trunk port. A prompt consists of one or more words; all prompts are downloaded to the Digital Voice Card (DVC) or Integrated Prompt/Record Card (IPRC) at system boot. Prompts are identified by number (refer to "System Digitized Voice Card Prompts," for a listing of prompt numbers and scripts). When more than one prompt is specified in the command, they are played in the order in which they appear. You can use this command to link a voice card port to, or remove it from, a call's resource chain, and you can also use it as a command segment in the Incoming Port Control ($6A) command.

This command can specify whether a Voice Port Status ($DE) report is generated when all voice prompts have been presented.

The minimum length for the $6C (Standard) command is 23 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

All DVC or IPRC ports must be members of a single resource group for the system to allocate them. You do not need to specify the group number in the command; the system determines the resource group from the database configuration.

The controlling port cannot be participating in a conference. If it is, the command is returned with a network status byte value of $1C.

This command can be used as a segment in an Incoming Port Control ($6A) command. While voice prompts are being played, other commands can be sent for this port (such as an Outgoing Port Control ($69) command) without interfering with the prompts. This command is aborted if a Voice Path Control ($66) command is received for the controlling port, outpulse rule processing resets the voice path of the controlling port, or another $6C (Standard) command is received for this port.

Once a $6C (Standard) command has been used to begin playing prompts to an incoming port, an inpulse rule can be started using a $6A command. If rule processing encounters a TONE ENAB, TONE FDIG, TONE END, or TONE CLR token while prompts are being played, the $6C (Standard) command is aborted. A TONE NOW token is not executed until the prompts are completed.

A DVC or IPRC port can be attached to any incoming or outgoing trunk/line circuit. Prompts can be presented to either incoming or outgoing ports.

Multiple prompt libraries can be used; however, make sure that you number the libraries consecutively. Refer to the Cisco VCO/4K Card Technical Descriptions for further information.

Format

Figure 4-17 shows the byte formatting for this command.


Figure 4-17: $6C (Standard) Command Format


Function ID (byte offset 4)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Controlling Port Address (byte offsets 13 to 16)—Hexadecimal representation of the circuit address to which the prompts are to be played.

Port Control Code (byte offset 17)—Sets up the conditions used for this command. Construct the byte in binary and convert to hexadecimal for use in the command.

    SAPR0000
S—Specifies if switching action is required.

S = 0—No switching action required; A bit ignored and set to 0.
S = 1—Switching action required.
A—Specifies whether to attach or detach DVC or IPRC port; if S = 0, no meaning.

A = 0—If S = 1, detach DVC or IPRC port; if S = 0, no meaning.
A = 1—If S = 1, attach DVC or IPRC port; if S = 0, no meaning.
P—Specifies whether to use a specific voice port circuit or to select a voice port circuit from the resource group. The port address is specified in Voice Port Address bytes; if the port is selected from the resource group, no address or group number is necessary.

P = 0—For S = 0 or 1, use port specified in Voice Port Address bytes.
P = 1—For S = 0, use voice port already in call's resource chain; for S = 1, select port from voice port resource group.
R—Specifies additional control functions performed as part of this command. For voice port circuits, the actions are shown below.

R = 0—Retain DVC or IPRC port after prompts have been played (will remain linked to the line/trunk but not enabled).
R = 1—Release DVC or IPRC port after prompts have been played.

Voice Port Address or Resource Group (byte offsets 18 to 21)—If P = 0, this number is the hexadecimal representation of the voice port. If P = 1, these digits should be 0; the system determines the correct group to hunt based on the system database.

Prompt Control (byte offset 22)—Determines the number of prompts to be played; you can specify up to 14 prompts in a single command. If no prompts are to be played, this byte must be $00. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    XR00FFFF
X—Specifies if a prompt is to be played to a line/trunk port.

X = 0—No prompts to be played.
X = 1—Play number of prompts specified in rest of the byte.
R—Specifies if a $DE report is generated when all prompts have been played; if X = 0, this value must also be 0.

R = 0—No report upon completion or no prompts specified in X.
R = 1—Generate $DE report upon prompt completion.
FFFF—If X = 1, determines the number of prompts that are to be played using this command; you can specify up to 14 prompts. Convert decimal to binary for this number. If X = 0, this value must also be 0.

Phrases (byte offsets 23 to n)—The phrase number(s) corresponding to the phrase(s) to be played. The number of phrase bytes required is equal to the number of phrases specified in the FFFF bits of the Prompt Control byte. Phrases are played in the order in which they appear in the command. Refer to "System Digitized Voice Card Prompts," for a listing of phrases by number. Convert the phrase number from decimal to hexadecimal for the correct byte value.

System Response

No response from the system upon successful completion is provided unless you specified Voice Port Status ($DE) report in the command or set Return All in the Network Header. If you specify a command specified to select from resource group, the command returned contains the port address of the voice port selected by the system. A command returned by the system with a network status byte not equal to $01 indicates command was not processed. The following network status bytes may be returned: $03, $07, $09, $0D, $0E, $0F, $11, $12, $16, $17, $18, $1C, $1F, $22, $24, $26, $27, and $3C. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

A command returned with a network status byte of $1F indicates no voice ports were available to satisfy this command. If this returned command is followed by a Resource Limitation ($D6) report, all members of the voice card resource group were busy (allocated or out of service). If no $D6 is sent, a voice card resource group does not exist (no members). Refer to the "Resource Limitation ($D6) Report" section for more information on the $D6 report.

Examples


Example 4-30: $6C (Standard) Command

Assume there is an active call on the incoming port at address $18. The following command starts a series of prompts to be played to that port. Upon completion of prompts, a $DE report is generated.

04 05060708 09101112 13141516 17 18192021 22 23 24 25 26 27 28 6C 00000000 00000000 00000018 D0 00000050 C6 27 5B 4B 4C 4D 4F

Function ID = 6C (Voice Port Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000018

Port Control Code = D0

    SAPR0000 11010000
S = 1 (switching action required)

A = 1 (attach resource)

P = 0 (use address given)

R = 1 (release voice port after prompts have been played)

Voice Port Address or Resource Group = 00000050

Prompt Control = C6

    XR00FFFF 11000110
X = 1 (play number of prompts in remainder of byte)

R = 1 (report to host upon prompt completion)

FFFF = 6 (6 prompts)

Prompt 1 = prompt number 27

Prompt 2 = prompt number 5B

Prompt 3 = prompt number 4B

Prompt 4 = prompt number 4C

Prompt 5 = prompt number 4D

Prompt 6 = prompt number 4F


Example 4-31: $6C (Standard) Command

The following command aborts the prompts started by the command in Example 4-30 and releases the voice port (removes it from the call's resource chain).

04 05060708 09101112 13141516 17 18192021 22 6C 00000000 00000000 00000018 80 00000050 00

Function ID = 6C (Voice Port Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000018

Port Control Code = 80

    SAPR0000 10010000
S = 1 (switching action required)

A = 0 (detach resource)

P = 0 (use address given)

R = 1 (release voice port—port is being detached)

Voice Port Address or Resource Group = 00000050

Prompt Control = 00

    XR00FFFF 00000000
X = 0 (no prompts to be played)

R = 0 (no reporting; X = 0)

FFFF = 0 (0 prompts)

Voice Port Control ($6C) (Enhanced) Command

Command Type

Resource Control

Description

The Voice Port Control ($6C) (Enhanced) command is specific to the IPRC. It is used to instruct the system to play up to 20 voice prompts, consisting of one or more words each, to a line or trunk port in the form of a single announcement. The $6C (Enhanced) command also allows the system application to play prompts from any one of 16 prompt libraries and to loop the playback of individual prompts or a list of prompts. The $6C (Enhanced) command is also used to record a prompt to any of the 16 prompt libraries.

This command gives you the ability to access any of the temporary prompts maintained by an individual IPRC port for play or record operations. Temporary prompts are maintained by the IPRC as long as the associated playback port is involved with a call. When the playback port is released from the call, the temporary prompt is erased. The temporary prompts are accessed for recording and subsequent playback through inpulse rule processing and $6C (Enhanced) command processing.

All prompts are downloaded to the Integrated Prompt/Record Card (IPRC) at IPRC card initialization. Prompts are identified by number (refer to "Integrated Prompt and Record Card Prompt Library," for a listing of the standard prompt library and their numbers). When more than one prompt is specified in the command, they are played in the order in which they appear. You can use this command to link a voice card port to, or remove it from, a call's resource chain, and you can also use it as a command segment in the Incoming Port Control ($6A) command.

This command can specify whether a Voice Port Status ($DE) report is generated when all voice prompts have been presented.

The minimum length for the enhanced $6C (Enhanced) command is 10 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

All IPRC ports must be members of a single resource group for the system to allocate them. You do not need to specify the group number in the command; the system determines the resource group from the database configuration.

The controlling port cannot be participating in a conference. If it is, the command is returned with a network status byte value of $1C.

This command can be used as a segment in an $6A command. While voice prompts are being played, other commands can be sent for this port (such as an Outgoing Port Control ($69) command) without interfering with the prompts. This command is aborted if a Voice Path Control ($66) command is received for the controlling port, outpulse rule processing resets the voice path of the controlling port, or another $6C (Enhanced) command is received for this port. An IPRC port can be attached to any incoming or outgoing trunk/line circuit. Prompts can be presented to either incoming or outgoing ports.

Multiple prompt libraries can be used; however, make sure that you number the libraries consecutively. Refer to the Cisco VCO/4K Card Technical Descriptions for further information.

Format

Figure 4-18 shows the byte formatting for this command.


Figure 4-18: $6C (Enhanced) Command Format


Function ID (byte offset 4)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Controlling Port Address (byte offsets 13 to 16)—Hexadecimal representation of the circuit address to which the prompts are to be played.

Port Control Code (byte offset 17)—Sets up the conditions used for this command. Construct the byte in binary and convert to hexadecimal for use in the command.

    SAPR0000
S—Specifies if switching action is required.

S = 0—No switching action required; A bit ignored and set to 0.
S = 1—Switching action required.
A—Specifies whether to attach or detach the IPRC port; if S = 0, no meaning.

A = 0—If S = 1, detach IPRC port; if S = 0, no meaning.
A = 1—If S = 1, attach IPRC port; if S = 0, no meaning.
P—Specifies whether to use a specific voice port circuit or to select a voice port circuit from the resource group. The port address is specified in Voice Port Address bytes; if the port is selected from the resource group, no address or group number is necessary.

P = 0—For S = 0 or 1, use port specified in Voice Port Address bytes.
P = 1—For S = 0, use voice port already in call's resource chain; for S = 1, select port from voice port resource group.
R—Specifies additional control functions performed as part of this command. For voice port circuits, the actions are shown below.

R = 0—Retain IPRC port after prompts have been played (will remain linked to the line/trunk but not enabled).
R = 1—Release IPRC port after prompts have been played.

Voice Port Address or Resource Group (byte offsets 18 to 21)—If P = 0, this digit number is the hexadecimal representation of the voice port. If P = 1, these digits should be 0; the system determines the correct group to hunt based on the system database.

Prompt Control (byte offset 22)—Controls prompt playback and record. Construct the byte in binary and convert to hexadecimal for use in the command.

    XREP0000
X—Specifies if a prompt is to be played to a line/trunk port.

X = 0—Stop play/record.
X = 1—Play/record prompt.
R—Specifies if a $DE report is generated when all prompts have been played; if X = 0, this value must also be 0.

R = 0—No report upon completion or no prompts specified in X.
R = 1—Generate $DE report upon prompt completion.
E—Specifies $6C (Standard) or $6C (Enhanced) command.

E = 0—Use $6C (Standard) command.
E = 1—Use $6C (Enhanced) command.
P—Specifies whether playback or record segment is attached.

P = 0—Playback segment attached.
P = 1—Record segment attached.

Phrases (byte offset 23...)—Determines the number of prompts to play, the library from which to access the prompt, and the prompt phrase IDs. Include when P equals zero (P = 0) in the Prompt Control byte (byte offset 22).

Figure 4-19 shows the byte formatting for the Phrases segment used as a Play segment.


Figure 4-19: Phrases Segment of the $6C (Enhanced) Command—Play Segment


Byte offset 23—Play control.

00000000 = Do not loop.
00000001 = Loop prompt string.
00000010 = Loop last prompt.
Byte offset 24—Number of prompts to play.

$01 to $14 = Valid range (1 to 20).
Byte offset 25—Library ID.

$00 to $0F = Specifies prompt library to access.
Byte offsets 26 and 27—Prompts: 2 bytes per prompt.

00000000 = Flags
Bit 7—Temporary prompt.
T = 0—Nontemporary.
T = 1—Temporary.
Bits 6 to 0: set to 0.
Byte 2 = $01 to $FF Prompt ID (1 to 255).

Record Segment (byte offset 23...)—Used to define the library to record a prompt to, the maximum record time value, and the prompt ID. Include when P equals zero (P = 0) in Prompt Control (byte offset 22).

Figure 4-20 shows the byte formatting for the Phrases segment used as a Record segment.


Figure 4-20: Phrases Segment of the $6C (Enhanced) Command—Record Segment


Byte offset 23—Record control

Reserved for future use.
Byte offset 24—Record time

$00 to $FF valid range.
Byte offset 25—Library ID

$00 to $0F: specifies prompt library to access.
Byte offset 26 and 27—Prompt: 2 bytes

00000000: Flags
Bit 7: Temporary prompt.
T = 0, Nontemporary
T = 1, Temporary
Bits 6 to 0: set to 0
Byte 2: $01 to $FF prompt ID (1 o 255).

System Response

No response from the system upon successful completion is provided unless you specified Voice Port Status ($DE) report in the command or set Return All in the Network Header. If the command specified to make a selection from a resource group, the command returned contains the port address of the voice port selected by the system. A command returned by the system with a network status byte not equal to $01 indicates the command was not processed. The following network status bytes may be returned: $03, $09, $0E, $0F, $11, $12, $16, $17, $18, $1F, $22, $24, $26, $27, $3C, $43, $44, $45, $46. $47, and $48. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

The command is returned with a network status byte of $1F indicates no voice ports were available to satisfy this command or that no IPRC ports were available from the specified prompt library. If this returned command is followed by a Resource Limitation ($D6) report, all members of the voice card resource group were busy (allocated or out of service). If no $D6 is sent, a voice card resource group does not exist (no members). Refer to the "Resource Limitation ($D6) Report" section for more information on the $D6 report.

Examples


Example 4-32: $6C (Enhanced) Command

Take port 29 off hook.

    Tx Host: ALL HOST-F0 40 80 00 DB 00 80 00 29 00 00 00

Record for 10 seconds and store the recording in temporary Prompt ID 80 01.

    Rx Host: HOST1-DF DF 00 00 6C 00 29 E0 00 F0 001 0A 00 80 01 Tx Host: HOST1-DF DF 80 01 6C 00 29 E2 AF F0 00 0A 00 80 01

Record the complete message.

    Tx: Host: ALL HOST-F0 40 80 00 DE 00 29 00 00 02 AF 00

Play the temporary prompt stored in Prompt ID 80 01 to port 29.

    Rx Host: HOST1-DF DF 00 00 6C 00 29 20 00 E0 00 01 00 80 01 Tx Host: HOST1-DF DF 80 01 6C 00 29 20 00 E0 00 01 00 80 01 Tx Host: ALL HOSTS-F0 40 80 00 DE 00 29 00 00 02 AF 10 Tx Host: ALL HOSTS-F0 40 80 00 DB 00 40 00 29 00 00 00

Example 4-33: $6C (Enhanced) Command

Take port 29 off hook.

    Tx Host: ALL HOSTS-F0 40 80 00 DB 00 80 00 29 00 00 00

Record for 5 seconds and store the recording in temporary Prompt ID 80 01.

    Rx Host: HOST1-DF DF 00 00 6C 00 29 E0 00 F0 00 05 00 80 01 Tx Host: HOST1-DF DF 80 01 6C 00 29 E0 00 F0 00 05 00 80 01

Record the complete message.

    Tx Host: AL HOST-F0 40 80 00 DE 00 29 00 00 02 B1 00

Seize out port 2A.

    Rx Host: HOST1-DF DF 00 00 69 00 29 C0 2A 80 00 Tx Host: HOST1-DF DF 80 01 69 00 29 C0 2A 80 00

Answer port 2A.

    Tx Host: ALL HOST-F0 40 80 00 DA 00 80 00 2A 00 29 32 06 80

Play the temporary prompt stored in Prompt ID 80 01 to Port 2A.

    Rx Host: HOST1-DF DF 00 00 6C 00 2A 20 00 E0 00 01 00 80 01 Tx Host: HOST1-DF DF 80 01 6C 00 2A 20 00 E0 00 01 00 80 01 Tx Host: ALL HOSTS-F0 40 80 00 DE 00 2A 00 00 02 B2 10

Conference Control ($6D) Command

Command Type

Resource Control

Description

The Conference Control ($6D) command controls the conferencing features of both basic conferencing and enhanced conferencing. Up to 8 conference ports can be used for a basic conference, and up to 16 conference ports can be used for an enhanced conference. An incoming or outgoing line/trunk port can be marked to listen only (one-way path) or listen and talk (two-way path).

Basic Conferencing

A single basic conference, card type SPC-CONF, can accommodate up to 8 two-way line/trunk ports, or up to 7 two-way line/trunk ports and as many one-way line/trunk ports as are available in the system. Basic conferencing allows the system to support up to 255 simultaneous basic conferences.

Enhanced Conferencing


Note   Users of VCO/4K system software Version 5.1(4) and higher may use both the basic and the enhanced conferencing feature; all other users are limited to basic conferencing.

A single enhanced conference, card type SPC-ENHCNF, can accommodate up to 16 two-way line/trunk ports, or as many one-way line/trunk ports as are available in the system. Enhanced conferencing allows the system to support up to 640 simultaneous enhanced conferences. Enhanced conferencing can employ Automatic Gain Control (AGC) to maintain volume, Voice Activity Detect (VAD), and DTMF detection/suppression on each two-way conference port. These features are controlled by bit selections in this command. You can also play a prompt to a conference with enhanced conferencing.

Refer to the Cisco VCO/4K System Administrator's Guide for further information on the configuration of card types in the system.

Basic and Enhanced Conferencing

The Conference Control command lets the host perform one of the following functions:

In addition, the following features support talk-only conference support for Communication Assistance for Law Enforcement Act (CALEA) applications:

The minimum length for the $6D command is 25 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host. Refer to "Network Status Byte Definitions," for a description of network status bytes.

Usage Guidelines

All conference ports must be members of a single resource group for the system to allocate them. The system determines the resource group from the database configuration.

Reserved conference ports remain reserved until the conference is torn down. If a line/trunk port is deleted from a reserved conference, the conference port to which it was linked remains reserved.

When a conference is reserved or started, the system assigns it a conference number. If Return All has been set in the Network Header, the conference number is returned to the host in the second byte of the command (byte offsets 13 and 14). The system requires the conference number to add ports to, delete ports from, adjust input/output gain levels for, or tear down a conference.

To add a port to a conference, one of the following conditions must be true:

If an idle port with COS = 2 is used, it assumes a COS of T. While in a conference, the port is assigned an internal COS of C. When a port is removed from a conference (delete or tear down) and the command specifies to leave that port active, it remains in the CP_SETUP MState until further host action. For a discussion on MStates, refer to "Call Processing States."

When a line/trunk port involved in a conference goes on hook, it is automatically deleted from the conference.

Other resource control commands cannot be used on ports in a conference. To collect digits or play prompts, the port must first be removed from the conference, instructed to perform the action, and then added back to the conference. The $66 command can be used to make the port in a conference listen to Quiet; however, anything transmitted by that port can still be received by other conference parties.

If one port in a stable call is added to a conference (also if the outgoing port is in CP_WTFSUP or the incoming is in CP_WANS), the other port in the call is placed into CP_SETUP unless it is a virtual port or its COS = A. If a physical port is placed into CP_SETUP, the host must take some action on that port. Virtual ports and ports with COS = A are returned to CP_IDLE and are available for use.

Format

Figure 4-21 shows the byte formatting for this command.


Figure 4-21: $6D Command Format


Function ID (byte offset 4)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Conference Number (byte offsets 13 and 14)—Specifies the number of the conference upon which the action should be taken. To start or reserve a conference, specify a conference identifier from 0 to 640; 0 is valid only if a conference is available for allocation. When the conference identifier = 0, the system returns the ID of the allocated conference. When adding to, deleting from, adjusting input/output levels for, or tearing down a conference, the conference number is required. Convert from decimal to hexadecimal for the conference number.

    F0000000 00000000
F—Specifies basic or enhanced conferencing. The enhanced conferencing specification is contained in the highest bit (F) of byte offset 13.

F = 1—Use enhanced conferencing. The system searches for conference ports from the enhanced conferencing resource.
F = 0—Use basic conferencing. The system searches for conference ports from either the enhanced or the basic conferencing resource.

Note   Enhanced conferencing resources can also be used for basic conferencing; this may come into practice if the host designates 9 to 16 two-way legs in a single conference.

Conference Control Code (byte offset 15)—Determines the action to be taken for this command. Construct the byte in binary and convert to hexadecimal for use in the command.


Note   Set only one of the following bits (R, S, T, A, D, or G) to 1; all other bits must be set to 0 (zero).

    RSTADG00
R—Specifies if command is used to reserve up to eight ports for a future conference.

R = 0—Command not used to reserve a conference.
R = 1—Reserve a conference. Port Control Codes (byte offset 17-n) are not specified.
S—Specifies if command is used to start a conference.

S = 0—Command not used to start a conference.
S = 1—Start a conference.
T—Specifies if command is used to tear down a conference.

T = 0—Command not used to tear down a conference.
T = 1—Tear down a conference.
A—Specifies if command is used to add one or more line/trunk ports to a conference.

A = 0—Command not used to add port(s) to a conference.
A = 1—Add one or more ports to a conference.
D—Specifies if command is to delete one or more line/trunk ports from a conference.

D = 0—Command not used to delete port(s) to a conference.
D = 1—Delete one or more ports from a conference.
G—Specifies if input/output level adjustment is specified in this command.

G = 0—No level adjustment necessary.
G = 1—Level adjustment specified in command.

Port Count (byte offset 16)—Specifies the number of ports affected by this command. If R = 1 in Conference Control Code (byte offset 15), the Port Count specifies how many conference ports to reserve. In this case, the maximum number of ports to reserve is sixteen. For all other settings, the Port Count specifies how many Port Control Code bytes are contained in this command. Convert from decimal to hexadecimal for use in the command.

Port Control Code (byte offsets 17 and 18)—This field (with Port Address) exists for each port utilized. A three-byte set is required when a conferencing action is required for a specific line/trunk port. One Port Control Code byte set is required for each line/trunk port affected when S, T, A, D, or G = 1 in the Conference Control Code (byte offset 15); the number of Port Control Code byte sets must be equal to PPPP specified in the Port Count (byte offset 16). When T = 1 in the Conference Control Code (byte offset 15), any line/trunk port that should be left active must be represented by a Port Control Code byte set.


Note   Do not specify Port Control Codes when reserving a conference (R=1). The system will automatically reserve the ports based on their availability. Setting R=1 and specifying Port Control Codes causes a syntax error.

Construct the bytes in binary and convert to hexadecimal for use in the command.

    IIIIA0CL WSVDF000
IIII—Determines whether the input level from this line/trunk port into the conference is to be adjusted when S, A, or G—of the Conference Control Code—is equal to 1. Specify bit settings according to the following list:

  • 0001 = -1 dB

  • 0110 = -7.5 dB

  • 1011 = -15 dB

  • 0010 = -2 dB

  • 0111 = -9 dB

  • 1100 = + 6 dB

  • 0011 = -3 dB

  • 1000 = -10.5 dB

  • 1101 = +4.5 dB

  • 0100 = -4.5 dB

  • 1001 = -12 dB

  • 1110 = + 3 dB

  • 0101 = -6 dB

  • 1010 = -13.5 dB

  • 1111 = +1.5 dB

  • 0000 = no level adjustment (default)

A—Specifies the talk-only conference capability.

A = 1—Talk-only conference enabled. The port is talk-only to the conference to which it is attached; this setting has precedence over the W setting (described below).
A = 0—Talk-only conference disabled; the W setting determines configuration.
C—Specifies if Automatic Gain Control (AGC) is used for this port.

C = 0—Do not use AGC for this port; apply the input level (bits IIII, above) as a manual offset to this channel's input.
C = 1—Use AGC to scale the input voice level to the desired level, given by the input level (bits IIII, above).
L—Specifies if the output level of the conference port associated with this line/trunk port is to be decreased by 3 dB when S, A, or G = 1.

L = 0—No output level adjustment required.
L = 1—Decrease output level by 3 dB.
W—Determines whether to set up a two-way (talk and listen) or one-way (listen only) voice path for this line/trunk port when it becomes part of a conference. This bit has no meaning unless S or A = 1 in the Conference Control Code.

W = 0—Set up two-way voice path (talk and listen) for line/trunk port when it becomes part of conference.
W = 1—Set up one-way voice path (listen only) for line/trunk port when it becomes part of conference.

Note   Do not set both the talk-only bit (A) and the listen-only bit (W) equal to 1 for the same port and time. Failure to follow this guideline results in a port added to a conference which can neither receive from nor transmit to other ports.

S—Determines whether this line/trunk port should be left active (CP_SETUP state) or idled (Permanent Signal processing begun) when it is removed from a conference. This bit has no meaning unless D or T = 1 in the Conference Control Code.

S = 0—Leave line/trunk port active (setup state) when deleted from conference.
S = 1—Set line/trunk port to idle through Permanent Signal processing when deleted from conference.
V—Determines when the voice path of an outgoing trunk port in CP_WTFSUP is set to the conference. The voice path can be established when the outgoing is answered or immediately when the command is received.

V = 0—Establish voice path of outgoing port to conference when outgoing is answered.
V = 1—Establish voice path of outgoing port to conference immediately.
D—Specifies if Voice Activity Detect (VAD) is used for this port.

D = 0—Do not use VAD for this port.
D = 1—Use VAD for this port.
F—Specifies if DTMF suppression and report are enabled/disabled.

F = 0—Disable DTMF suppression; don't report DTMF digit.
F = 1—Enable DTMF suppression; report DTMF digit.

Note   When this bit (F) is set to 1, a first digit report is generated upon detecting the single DTMF digit on the two-way conference port. A DTMF Digit ($D1) report is sent to the host, which indicates the detected DTMF digit.

Port Address (byte offset 19 to 22)—This field (with Port Control Code) exists for each port utilized. The line/trunk port address for which conferencing action is to be performed. Convert to hexadecimal for use in the command.

Port Control and Address (byte offset 23 to 28)—These bytes are for whatever number of ports are specified in Port Count, and represent the next sequential available port address.

System Response

No response from the system upon successful completion is provided unless Return All has been set in the Network Header. Return All should be used when R or S = 1 in the Conference Control Code to track the conference number assigned by the system. Any command returned by the system with a network status byte not equal to $01 indicates that the command was not processed. The following network status bytes may be returned: $03, $0B, $0C, $0F, $12, $1C, $1D, $1E, $1F, $21, $23, $24, $29, and $3C. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

A command returned with a network status byte of $1F indicates no conference ports were available to satisfy this command. If this returned command is followed by a Resource Limitation ($D6) report, all members of the DCC resource group were busy (allocated or out of service). If no $D6 is sent, a DCC resource group does not exist (no members). Refer to the "Resource Limitation ($D6) Report" section for more information on the $D6 report.

When a conference is torn down or a line/trunk port is deleted from a conference and the port(s) is idled, an Incoming Port Change of State ($DB) or Outgoing Port Change of State ($DA) report is received for each port sent to idle (except for those with COS = A). The type of report is based on whether the port was considered incoming or outgoing prior to being added to the conference structure. Permanent Signal Condition ($D2) reports may also be returned by the system under these conditions.

Examples


Example 4-34: $6D Command

Assume that an incoming port at address $18 and an outgoing port at address $30 are connected in a stable call. A third port at address $45 is in CP_SETUP state. The following command creates a conference using these three ports.

04 05060708 09101112 13141516 1718 19 20 2122 23 24 25 26 27 28 29 30 6D 00000000 00000000 00000000 0000 40 03 0040 00 18 B0 00 30 E0 00 45

Function ID = 6D (Conference Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Conference Number = 0000 (begin a new conference)

Conference Control Code = 40

    RSTADG00 01000000
R = 0 (command not used to reserve)

S = 1 (start a conference)

T = 0 (command not used to tear down)

A = 0 (command not used to add ports)

D = 0 (command not used to delete ports)

G = 0 (command not used for level adjustments)

Port Count Code = 03

Port Control Code = 0040

First set = 40 00 18

IIII = 0100 (adjust input level by -4.5 dB)

LL = 00 (no output level adjustment)

W = 0 (2-way path; talk and listen)

S ignored (T and D = 0)

Port Address = 018

Second set = B0 00 30

IIII = 1011 (adjust input level by -15 dB)

LL = 00 (no output level adjustment)

W = 0 (2-way path; talk and listen)

S ignored (T and D = 0)

Port Address = 030

Third set = E0 00 45

IIII = 1110 (adjust input level by +3 dB)

LL = 00 (no output level adjustment)

W = 0 (2-way path; talk and listen)

S ignored (T and D = 0)

Port Address = 000000045.


Example 4-35: $6D Command

Assume the conference above was assigned a conference number of 4 by the system. An incoming port at address $27 is in CP_SETUP state. The following command adds the port at address $27 to conference 4 as a listener (1-way).

04 05060708 09101112 1314 15 16 1718 19 20212223 6D 00000000 00000000 0004 10 01 0000 80 00000027

Function ID = 6D (Conference Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Conference Number = 0004 (conference number 4)

Conference Control Code = 10

    RSTADG00 00010000
R = 0 (command not used to reserve)

S = 0 (command not used to start a conference)

T = 0 (command not used to tear down)

A = 1 (command used to add ports)

D = 0 (command not used to delete ports)

G = 0 (command not used for level adjustments)

Port Count Code = 01 (1 port)

Port Control Code = 0000 sets

First set = 00 80 27

IIII = 0000 (no change to input—listen-only voice path)

LL = 00 (no output level adjustment)

W = 1 (one-way path; listen only)

S ignored (T and D = 0)

Port Address = 00000027.


Example 4-36: $6D Command

The following command removes the port at address $45 from conference 4. The port is to be idled and sent through Permanent Signal processing.

04 05060708 09101112 1314 15 16 1718 19202122 23 6D 00000000 00000000 0004 08 01 0000 00000040 45

Function ID = 6D (Conference Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Conference Number = 0004 (conference number 4)

Conference Control Code = 08

    RSTADG00 00001000
R = 0 (command not used to reserve)

S = 0 (command not used to start a conference)

T = 0 (command not used to tear down)

A = 0 (command not used to add ports)

D = 1 (command used to delete ports)

G = 0 (command not used for level adjustments)

Port Count Code = 01 (1 port)

Port Control Code = 0000 sets

First set = 00 40 45

IIII ignored (S, A, and G = 0)

LL ignored (S, A, and G = 0)

W ignored (S and A = 0)

S = 1 (set port to idle through Permanent Signal processing)

Port Address = 00000045.


Example 4-37: $6D Command

The following command tears down conference 4, leaving the ports at addresses $18 and $30 in CP_SETUP state so that an Outgoing Port Control ($69) command can be used to reconnect them into a stable call. Port $27 is released and put through Permanent Signal processing. Note that it is not necessary to include a Port Control Code byte set for a port that is to be idled when a conference is torn down.

04 05060708 09101112 1314 15 16 1718 19 20 21 22 23242526 6D 00000000 00000000 0004 20 02 0000 00 18 00 00 00000030

Function ID = 6D (Conference Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Conference Number = 0004 (conference number 4)

Conference Control Code = 20

    RSTADG00 00100000
R = 0 (command not used to reserve)

S = 0 (command not used to start a conference)

T = 1 (command used to tear down)

A = 0 (command not used to add ports)

D = 0 (command not used to delete ports)

G = 0 (command not used for level adjustments)

Port Count Code = 02 (2 ports)

Port Control Code = 0000 sets

First set = 00 00 18

IIII ignored (S, A, and G = 0)

LL ignored (S, A, and G = 0)

W ignored (S and A = 0)

S = 0 (set port CP_SETUP)

Port Address = 00000018

Second set = 00 00 30

IIII ignored (S, A, and G = 0)

LL ignored (S, A, and G = 0)

W ignored (S and A = 0)

S = 0 (set port CP_SETUP)

Port Address = 00000030

Port Hook State Control ($70) Command

Command Type

Resource Control

Description

The Port Hook State Control ($70) command provides the host with following functionality:

Normal system host commands must be used to connect the two ports into a call prior to processing an answer condition for the outgoing port, and for setting up a voice path between two ports.

The $70 command is recommended for use only with call scenarios in which all signaling or call control occurs outside the system.


Note   The $70 command does not support PRI (or PRI/N) ports. All signaling for these ports must be received over an ISDN D-channel.

Hook state processing within the command for a specified line/trunk is controlled by the Hook State byte and COS byte. Table 4-5 summarizes the $70 command processing for each hook state and COS.


Table 4-5: $70 Command Processing
Command Hook State/COS System Port State/
COS
Action

Offhook/Default

Idle/T or 2

The port goes to CP_SETUP, for COS of 2 is set to 2T, start and end records are allocated.

Idle/O

The port goes to CP_MBUSY (far end busy out).

Nonidle/T or 2T

Ignored.

Nonidle/O or 2U

The port goes to CP_STABLE (answer condition).

Offhook/Incoming

Idle/T or 2

The port goes to CP_SETUP. For COS 2, the COS is set to 2T. Start and end records are allocated.

Idle/O

The command is rejected with $18 error.

Nonidle/T or 2T

The command is ignored.

Nonidle/O or 2U

The command is rejected with $18 error.

Offhook/Outgoing

Idle/2 or O

The port goes to CP_SETUP. For COS of 2, the COS is set to 2U.

Idle/T

The command is rejected with $18 error.

Nonidle/T or 2T

The command is rejected with $18 error.

Nonidle/O or 2U

The command is ignored.

Onhook/Any

Idle/Any

The command is ignored.

Nonidle/T or 2T

The call is torn down with immediate guard complete.

Nonidle/O or 2U

The call is torn down with immediate guard complete.

The execution of an inpulse or outpulse rule within the $70 command is controlled by the Rule Control byte and the Rule Identifier byte. The Rule Control byte specifies whether the rule is an inpulse rule or an outpulse rule. The Rule Identifier specifies which rule to execute. Execution is valid for both incoming and outgoing ports. Table 4-6 summarizes the processing for inpulse and outpulse rules within the $70 command. Rules can only be executed when a port is offhook.


Table 4-6: Inpulse and Outpulse Rule Processing within a $70 Command
Rule Control Byte Rule Identifier $70 Command Processing

Inpulse

$00 (zero)

Default inpulse rule for the specified port is invoked (if one is assigned).


    Note   For outgoing ports without a start/end record, a start and end record will be allocated prior to rule execution.

Nonzero

Specified inpulse rule is invoked.

Outpulse

$00 (zero)

No rule is invoked.

Nonzero

Specified outpulse rule is invoked.

Usage Guidelines

The usage guidelines for the $70 command are as follows:

Format

Figure 4-22 shows the byte formatting for this command.


Figure 4-22: $70 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header. The Function ID uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Port Address (byte offsets 13 to 16)—Hexadecimal representation of the circuit address. This number must fall within the range of 0 to 7FFF. This address must also correspond to a card and line or trunk port configured in the system. The exception is PRI ports; PRI is not supported by the $70 command.

Hook State (byte offset 17)—Used to define the Hook State for the port and whether to suppress the Outgoing Port Change of State ($DA) and Incoming Change of State ($DB) reports. The format for the byte is as follows:

    S000000H
S—Specifies whether or not to suppress $DA or $DB reports.

S = 0—Do not suppress $DA and $DB reports.
S = 1—Suppress $DA and $DB reports.
H—Specifies Hook State.

H = 0—Onhook.
H = 1—Offhook.
Any other value will return an error code.

Class of Service (byte offset 18)—Used to define the COS (incoming or outgoing) when the port is defined in the database as having a COS of two-way. Valid values for this byte are 00 (default), 01 (incoming), or 02 (outgoing.) A COS of none (0) is only valid with a hook state of offhook and a COS defined in the database as two-way.

Rule Control (byte offset 19)—Specifies whether to invoke an inpulse rule or an outpulse rule. The format of the byte is as follows:

    OI000000
O—Specifies to invoke an outpulse rule.

O = 0—Do not invoke an outpulse rule.
O= 1—Invoke the outpulse rule identified in the next byte (Rule Identifier, byte 10). The I bit must be set to zero.
I—Specifies to invoke an inpulse rule.

I = 0—Do not invoke an inpulse rule.
I = 1—Invoke the inpulse rule identified in the next byte (Rule Identifier, byte 10). The O bit must be set to zero.

Rule Identifier (byte offsets 20 and 21)—This byte specifies which inpulse or outpulse rule to invoke. If this byte is nonzero, the rule corresponding to the Rule Identifier is invoked. When an inpulse rule is being invoked (I in byte 9 is set to 1) and the Rule Identifier is zero, a default inpulse rule is invoked if one is defined for the port in the database. When an outpulse rule is being invoked (O in byte 9 is set to 1) and the Rule Identifier is zero, no outpulse rule is invoked. If the Rule Identifier is not valid (a number other than 1 to 30), an error is returned.

$70 Command Error Checking and Handling

The command format and content is verified within call processing when the $70 command is received. Any format or content error results in the command being returned to the host without processing. When an error occurs, the appropriate error code is inserted into the network status byte. Table 4-7 describes valid error codes for the $70 command.


Table 4-7: $70 Command Error Codes
Error Code Meaning

$0F

The port address you specified in offset bytes 13 to 16 is under the control of another host.

$12

The port address specified in offset bytes 13 to 16 is for a port other than a T1 port. The $70 command does not support any other circuit types.

$18

The specified port address has an incorrect COS for the requested operation. This error occurred due to one of the following conditions:

  • Hook state/COS of offhook/incoming for an idle port with a COS of O, or nonidle port with a COS of O or 2U.

  • Hook state/COS of offhook/outgoing for an idle port with a COS of T, or nonidle port with a COS of T or 2T.

$23

The port address you specified in offset bytes 13 to 16 is not within the range of 0 to 7FFF or the port is not defined in the system configuration.

$24

The port address you specified is for a port on a card that is inactive. Specified ports must be on active cards for the $70 command.

$26

The specified port is in an uncontrollable state (CP_MBUSY).

$29

A system internal processing error has occurred. Start and End call records could not be allocated for this call.

$2B

The Specified Inpulse/Outpulse Rule byte value is not within the valid range of 1 through 30. Refer to the Cisco VCO/4K System Administrator's Guide.

$3E

The value of the Hook State Control byte (offset byte 17) is invalid. Valid values for offset byte 17 are 00 (onhook), 01 (offhook), or 80 and 81 (suppress reports).

$3F

The value of the Class of Service byte (offset byte 18) is invalid. Valid values for offset byte 18 are 00 (default COS), 01 (incoming), or 02 (outgoing).

$40

The value of the Rule Control byte (offset byte 19) is invalid. Valid values for offset byte 19 are 40 (inpulse rule) or 80 (outpulse rule).

$41

The length of the command is invalid. The $70 command must be exactly 21 bytes long (not counting the Network Header).

$42

The port specified in offset bytes 13 to 16 is not in a valid state to execute an inpulse rule or an outpulse rule.

Port Supervision Control ($72) Command

Command Type

System Diagnostics

Definition

Use the Port Supervision Control ($72) command for manual host control over outward handshake and supervision signals on both incoming and outgoing circuits. Available actions are seize and wink (hookflash if off hook); their effects on different system hardware types are summarized in Table 4-8. This command can be used as a command segment in an Incoming Port Control ($6A) command.


Table 4-8: Seize and Wink Effects
Hardware Type Seize Effect Wink Effect

SLIC-2

Ring line

No effect.

DID-2

Tip/ring reversal

Tip/ring reversal for 200 ms or unreversal for 500 ms1.

UTC-2 (LS)

Close loop

On hook for 500 ms2.

UTC-2 outgoing (GS)

Ground ring

On hook for 500 ms2.

UTC-2 incoming (GS)

Ground tip/close loop

On hook for 500 ms2.

T1

Raise A/B signal

Raise/lower A/B signal for 250 ms2.

E+M

Raise E/M lead

Raise E/M lead for 250ms.

1DID wink when on hook provides a 200 ms wink signal; DID wink when off hook provides a T1 500 ms hook flash; signal.
2T1 wink when on hook provides a wink signal; T1 and UTC wink when off hook provides a T1 hook flash; signal.

The minimum length for the $72 command is 19 bytes. If a command is too short, it is rejected and a syntax error with a network status byte of 03 is returned to the host.

Usage Guidelines

Wink applies only to idle ports, and has no effect on off hook ports except DID, UTC, and T1 ports. A wink specified for an off hook DID, UTC, or T1 port provides a hookflash signal. Command does not affect voice path, states, or resource linkages.

Format

Figure 4-23 shows the byte formatting for this command.


Figure 4-23: $72 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Controlling Port Address (byte offset 13 to 16)—Hexadecimal representation of the address of the port acted upon.

Supervision Code (byte offset 17)—Determines whether an action is executed (seize, wink) or cancelled (seize only), and the type of action performed. Construct the byte in binary according to the descriptions below, then convert to hexadecimal for use in the command.

    A0000MMM
A—Specifies whether to execute or cancel an action.

A = 0—Cancel supervision action (seize only).
A = 1—Execute supervision action.
MMM—Specifies the action performed.

MMM = 001—Seize port.
MMM = 010—Wink/hookflash on port.

Spacer Byte (byte offset 18)—Byte reserved for future enhancements; set to $00.

System Response

No response from the system upon successful completion unless Return All has been set in the Network Header. Command returned by the system with a network status byte not equal to $01 indicates that the command was not processed. Network status bytes of $03, $23, $24, and $3C may be returned. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

Examples


Example 4-38: $72 Command

Assume there is a T1 circuit at address $23. The following command causes the T1 port to seize outward by raising its AB signals.

04 05060708 09101112 13141516 17 18 72 00000000 00000000 00000023 81 00

Function ID = 72 (Port Supervision Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000023

Supervision Code = 81

    A0000MMM 10000001
A = 1 (execute supervision action)

MMM = 001 (seize port)

Spacer Byte = 00


Example 4-39: $72 Command

Assume the T1 port in Example 4-38 is still seized. The following command causes a hookflash on the port by lowering the A/B signal for 250 ms.

04 05060708 091011 12131415 16 17 72 00000000 000000 00000023 82 00

Function ID = 72 (Port Supervision Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000023

Supervision Code = 82

    A0000MMM 10000010
A = 1 (execute supervision action)

MMM = 010 (wink port)

Spacer Byte = 00.


Example 4-40: $72 Command

Assume the T1 port in Example 4-38 is still seized. The following command causes the port to unseize by lowering its AB signals.

04 05060708 09101112 13141516 17 18 72 00000000 00000000 00000023 01 00

Function ID = 72 (Port Supervision Control)

Spacer Bytes (user defined command identifier) = 00000000

Reserved for Tone Plans = 00000000

Controlling Port Address = 00000023

Supervision Code = 01

    A0000MMM 00000001
A = 0 (cancel supervision action)

MMM = 001 (seize port)

Spacer byte = 00.

Request Resource Allocation ($80) Command

Command Type

System Status

Description

Use the Request Resource Allocation ($80) command to obtain a Resource Allocation ($80) report. This report is a bit map that specifies the online or offline status of every port within a specified resource group and port address range. At least one request for each resource group in the system is necessary to determine the complete configuration.

The minimum length for the $80 command is 11 bytes.

Upon successfully receiving the $80 command, a status byte of $01 is returned to the host. If an error occurs in sending the command, a status byte of $03 is returned to the host.

Usage Guidelines

Although this command can be used at any time after system boot, its use is recommended during periods of low traffic volume because of the communications link and system processing overhead required.

Format

Figure 4-24 shows the byte formatting for this command.


Figure 4-24: $80 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Address Range (byte offsets 5 to 8)—Determines the range of port addresses for which the report is requested. Calculate the address range according to the calculation formula described below. Refer to Table 4-9 as you read the following explanation for calculating the address range.

To specify a range of ports, you must list bytes 5 through 8 in your $80 command. Ports are divided into groups of 512, decimal; however, the groups of ports are specified in hexadecimal. For example, to specify the range of ports from 0 to 511 (decimal), or 00000000 to 000001FF (hexadecimal) inclusive, list bytes 5 through 8 as 00 00 00 00, hexadecimal. To specify the next available group of ports, 512 to 1023 (decimal), or 00000200 through 000003FF (hexadecimal) inclusive, list bytes 5 through 8 as 00 00 00 01, hexadecimal. Again, to specify the next available group of ports, 1024 to 1535 (decimal), or 00000400 through 000005FF (hexadecimal) inclusive, list bytes 5 to 8 as 00 00 00 02, hexadecimal. Notice that the bytes you must list in your $80 command to designate the address range increase by one for each group of 512 ports. This leads to a method of calculation for the hexadecimal representation of address ranges in $80 commands.

To demonstrate the method of calculation, assume that you need to specify a range of ports for a receiver card, such as a Service Platform card, in an $80 command. All port addresses for receiver cards start at 4000, hexadecimal. Assume that you need to specify this group of 512 ports, which starts at 4000. Convert the hexadecimal value (4000) to a decimal value (16,384). Next, divide that decimal value by the number of ports in each group (512). The resulting value is 32, decimal. Convert this decimal value to hexadecimal (00000020) and insert this into your $80 command as the address range.

Refer to Table 4-9 for a summary of these figures, and extrapolate this information to calculate the bytes you need to specify for the address range in your $80 commands.


Table 4-9: Address Range Calculation
Port Group
(Each contains 512 ports total)
Decimal Values Hexadecimal Values Address Range: Bytes 5 to 8 (Hexadecimal)

1st

0 to 511

00000000 to 000001FF

00 00 00 00

2nd

512 to 1023

00000200 to 000003FF

00 00 00 01

3rd

1024 to 1535

00000400 to 000005FF

00 00 00 02

...

...

...

...

32nd

16,384 to 16,895

00004000 to 000041FF

00 00 00 20

33rd

16,896 to 17,407

00004200 to 000043FF

00 00 00 21

...

...

...

...

Resource Group (bytes 9 and 10)—Specifies resource group; convert decimal to binary for group number (1 to 63).

System Response

Resource Allocation ($80) report. The system returns a copy of the command with allocation information attached as a report, and a network status byte of $01. A network status byte of $0D indicates command was not processed. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

Examples


Example 4-41: $80 Command

The following command requests a report of all ports between $E00 and $FFF inclusive that are in resource group 2.

04 05060708 0910 80 00000007 0002

Function ID = 80 (Request Resource Allocation)

Address Range = 00000007

Resource Group = 0002.


Example 4-42: $80 Command

This command requests a report of all ports between $600 and $7FF inclusive that are in resource group 32.

04 05060708 0910 80 00000003 0020

Function ID = 80 (Request Resource Allocation)

Address Range = 00000003

Resource Group = 0020.

Request Hardware Allocation ($81) Command

Command Type

System Status

Description

Use the Request Hardware Allocation ($81) command to obtain a Hardware Allocation ($81) report. This report is a bit map that allows the host to match the logical port addresses used in system commands to their corresponding physical Rack-Level-Slot hardware addresses. Reports are requested by port address ranges of 512 ports each; one request for each address range is necessary to determine the complete system configuration.

The minimum length for the $81 command is 9 bytes. If a command is too short, it is rejected and a syntax error with a status byte of 03 is returned to the host.

Usage Guidelines

The Hardware Allocation ($81) report takes the form of a command returned from the host with a network status byte = $01, and the bit-mapped information for the requested address range. Although this command can be used at any time after system boot, its use is recommended during periods of low traffic volume because of the communications link and system processing overhead required.

This command returns the address range of Four Span Programmable T1 Interface (4xT1) and Four Span Programmable E1 Interface (4xE1) card spans correctly because ports are added to the database contiguously and in ascending order. Users of ICCs must use the Card Status ($82) command to determine the correct port address range for the spans. ICC spans are added in descending order, and not necessarily contiguously.

Format

Figure 4-25 shows the byte formatting for this command.


Figure 4-25: $81 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Address Range (byte offsets 5 to 8)—Specifies the port address range for which the Hardware Allocation report is to be generated. Specify the byte according to the following list:

00—Ports $00 to $1FF (0 to 511)

40—Ports $200 to $3FF (512 to 1023)

80—Ports $400 to $5FF (1024 to 1535)

C0—Ports $600 to $7FF (1536 to 2047)

100—Ports $800 to $9FF (2048 to 2559)

140—Ports $A00 to $BFF (2560 to 3071)

180—Ports $C00 to $DFF (3072 to 3583)

1C0—Ports $E00 to $FFF (3584 to 4095)

System Response

Hardware Allocation ($81) report: the system returns a copy of the command with allocation information attached as a report and a network status byte of $01. A network status byte of $03 indicates that the command was not processed. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

Example


Example 4-43: $81 Command

The following command requests a report of all ports between $00 and $1FF inclusive.

04 05060708 81 00000000

Function ID = = 81 (Request Hardware Allocation)

Address Range = 00000000 (ports $00 to $1FF).

Card Status ($82) Command

Command Type

System Status

Description

Use the Card Status ($82) command to obtain the Card Status ($82) report. You can specify a single card or a range of cards.

Specify the card by its rack-level-slot (R-L-S) position. Specify a range of cards by encoding the starting R-L-S and ending R-L-S in the command. One $82 report is generated for each card specified in the range. For single cards, the starting R-L-S and the ending R-L-S should be the same.

Usage Guidelines

The $82 report takes the form of a command returned with a network status byte set to $01. The report includes the status of the card and the type of the card.

Cisco recommends that you use the command during periods of low traffic volume because of the communications link and system processing overhead.

Format

Figure 4-26 shows the byte formatting for this command.


Figure 4-26: $82 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

RLS of the first card in range (byte offsets 5, 6, and 7)—R-L-S number of the first card in the range for which the status is requested. These three bytes correspond to the rack, level and slot location of the card, represented in hexadecimal. Valid values for rack are 1 or 2; valid values for level are 0 through 3; valid values for slot are from 1 to 21 (that is, 0 to 15 in hexadecimal). Convert the decimal value of the slot into hexadecimal for encoding.

Span Specifier (byte offset 8)—Specifies the span number of the first card in the range. Value of zero specifies that the request is for all spans of a multispan card. For a single-span card, this value can be either 0 or 1.

RLS of the last card in range (byte offsets 9, 10, and 11)—This is an optional field. Represents the rack, level and slot number of the last card in the range for which the status is requested. These three bytes correspond to the rack, level, and slot location of the card represented in hex. Valid values for rack are 1 or 2; valid values for level are 0 to 3; valid values for slot are 1 to 21 (that is, 0 to 15 in hexadecimal). Convert the decimal value of the slot into hexadecimal for encoding.

Span Specifier (byte offset 12)—This is an optional field. Specifies the span number of the last card in the range. Zero specifies that the request is for all spans of a multispan card. For a single-span card, this value can be either 0 or 1. If a report is required for a single card, the bytes 9 to 12 are not required in the command.

The R-L-S encoding in bytes 9 to 11 must designate a location at the higher end of the range than the R-L-S specified in byte 5. For example, if bytes 5 to 7 specify Rack 1, Level 2, and Slot 1, then bytes 9 to 11 cannot specify Rack 1, Level 1 and Slot 1; however, Rack 2, Level 0, and Slot 1 would be valid.

If bytes 5, 6, 7, and 8 (first R-L-S and span), specify Rack 1, Level 2, Slot 1 and Span 0, and bytes 9, 10, 11, and 12 (last R-L-S and span) specify Rack 2, Level 0, Slot 1 and Span 2, then an $82 report is generated for the following:

If any slot falling within the range contains a multispan card, an $82 report will be generated for each span in the slot.

System Response

One $82 report is generated for each of the cards specified in $82 command. For any multispan card, a separate report is generated for each span. If the command is processed without any errors, the $82 report indicates $01 as the network status byte (NSB).

The following NSBs may be returned:

Example


Example 4-44: $82 Command

The following command requests the status of the cards located at 1,1,6 and 1,1,7:

04 050607 08 091011 12 82 010106 00 010107 02

Function ID = 82 (Card Status)

Starting RLS = 1,1,6

Span specifier = 0

Ending RLS = 1,1,7

Span specifier = 2

Request for all spans of the card at 1,1,6 and for spans 1 and 2 of the card at 1,1,7.

Port Status ($83) Command

Command Type

System Status

Description

Use the Port Status ($83) command to obtain the Port Status ($83) report. The command queries the status of a range of ports specified by either a port address range or the rack, level and slot (R-L-S) encoding of a card, with the specified span or resource group.

For a query for ports in a multispan card (through R-L-S specification), you must also specify the span (interface).

Usage Guidelines

You can specify a range of ports in different ways, depending upon the application. You can get the status of all the ports on a card by specifying the R-L-S encoding for the card in the command.

You can also get the status of all ports within a port address range by specifying the port address range, which can span cards. If the starting port address and the ending port address are same, the report is generated for that particular port.

You can get the status of all ports within a resource group by specifying the resource group number.


Note   Do not use the port address method to query ports above the 4000 range, such as DTMF receivers. The $83 command is rejected with a network status byte of 23, for anything above hexadecimal FFF. Use the resource group or R-L-S methods to query these ports. Refer to "Network Status Byte Definitions," for a list of network status bytes.

The $83 report takes the form of a command returned with a network status byte (NSB) set to $01. The report contains a series of status report elements; each element contains the port address and its call processing state.

More than one $83 report may be generated for one $83 command if all the port status report elements could not be accommodated in one report. An indicator is present in a group of reports, that identifies which reports are generated for one $83 command.

Cisco recommends that the command be used during periods of low traffic volume because of the communications link and VCO/4K processing overhead.

Format

Figure 4-27 shows the byte formatting for this command.


Figure 4-27: $83 Command Format


Function ID (byte offset 4)—Byte immediately following the network header; uniquely identifies the report from the VCO/4K system.

Access Code (byte offset 5)—A port address range can be specified in different ways. The access code specifies the way in which the port address range is chosen. Construct the byte in binary and convert to hexadecimal for use in the command.

    C000 AGR0
C—Always set to 0 in $83 command. The C bit is used by the $83 report to indicate that there are more fragments of the report.

A—Specifies port address range.

A = 1—If port address range is specified.
A = 0—If port address range is not specified.
G—Specifies a resource group.

G = 1—If the resource group is specified.
G = 0—If the resource group is not specified.
R—Specifies the R-L-S and span content.

R = 1—If R-L-S of card is specified, with or without the span information
R = 0—If R-L-S is not specified.

Range Specifier 1 (byte offsets 6 to 9)—Set the field after converting the corresponding values into two bytes, right justified, in hexadecimal.

If bit A in Access Code byte is set, specify the starting port address.

If bit G in Access Code is set, specify the Resource Group number, 00 00 00 GG.

If bit R in Access Code is set, specify the rack and level number of the card. The rightmost two bytes specify the rack and level in which the card is located. Rack can have a value of 1 or 2; level can have a value of 0 through 3, 00 00 RR LL.

Range Specifier 2 (byte offsets 10 to 13)—This is an optional field. If bit G is set in the Access Code, this field should not be included in the command.

The field should be set after converting the corresponding values into two bytes, right justified, in hexadecimal.

Specify the ending port address if bit A in the Access Code byte is set.

These two bytes specify the slot number and the span number of the card if the R bit in the Access Code is set. Valid slot numbers are from 1 to 21 (that is, 0 to 15 in hexadecimal); valid span numbers range between 0 and 4, 00 00 SS II.

Convert the decimal value of the slot into hexadecimal for encoding.

System Response

The Port Status ($83) report is generated by the system with an NSB set to $01, if the command is processed successfully.

If the port range for which the status report is requested is such that one $83 report cannot accommodate all the port status report elements, the report is split into as many $83 reports as necessary.

The following NSBs may be returned:

Example


Example 4-45: $83 Command

The following command requests status reports for ports $27 and $28. The command specifies the range through port addresses:

04 05 06070809 10111213 83 08 00000027 00000028

Function ID = 83 (Port Status)

Access Code = 08

    0000 1000 (C000 AGRS)
C = 0; A = 1 (Address Range specified); G = 0; R = 0;

Range Specifier 1 = 00000027

Range Specifier 2 = 00000028.

Change Port Status ($90) Command

Command Type

System Maintenance

Description

The Change Port Status ($90) command enables the host to activate and deactivate individual ports on an internal service circuit or network interface card. It performs same action as taking ports out of service using the system administration Card Maintenance utility. Changes performed by the command can be written to the database on hard disk.

The minimum length for the $90 command is 14 bytes. If a command is too short, it is rejected and a syntax error with a status byte of $03 is returned to the host.

Usage Guidelines

This command can be used for ports on all service circuit and network interface card types. When a port is activated, it is placed in idle state. A port can be deactivated immediately (regardless of whether the port is in stable state) or when the port is in idle state (if not idle, the command is aborted). You can specify single ports, clusters of 8 and 24 ports, and groups of nonconsecutive ports. All ports specified in a single command must reside on the same card.

Port Status ($D3) reports are issued for each port affected by the command. When the command is used to deactivate clusters and groups of ports only if they are idle, the command may be returned with a $01 network status byte (command processing successful) although not all ports specified in the command experienced status changes.

This command can also seize out (busy out) the affected line/trunk ports regardless of their class of service (COS). Busying out ports prevents connected equipment from attempting to use ports taken out of service on the system.

You must specify the activation and deactivation of PRI/N card ports on a port basis only, not on a span basis, in order to avoid an FRM error message. For example, instead of specifying a span (DF DF 00 00 90 72 00 38), specify the ports you want to activate or deactivate (DF DF 00 00 90 72 00 38 FF FF FE) on the span.

Format

Figure 4-28 shows the byte formatting for this command.


Figure 4-28: $90 Command Format


Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Command Control Code (byte offset 9)—Specifies the type of action to be performed. Actions include activating/deactivating ports, seizing out on port, and updating the database on hard disk. The status of a single port, a cluster of ports, or a group of ports, can be changed. Construct the byte in binary and convert to hexadecimal for use in the command.

    AAMD00CC
AA—Specifies whether to activate or deactivate a port, and the conditions under which to perform the action.

AA = 00—Activate the port and set it to idle state.
AA = 01—Deactivate the port immediately (regardless of port state).
AA = 10—Deactivate the port only if the port is in idle state.
M—Specifies whether to seize out on port. Seizing out on the port prevents attached equipment from originating calls on the port. Applies only to line/trunk ports when the port is deactivated (AA = 01 or 10). Note that SLIC and DID ports automatically seize out when deactivated.

M = 0— Do not seize out on port.
M = 1—Seize out on port.

    Note   Setting bit M to either 0 or 1, for E1, 4xE1, T1, or 4xT1 ports, results in the same response, that is, E1, 4xE1, T1, or 4xT1 ports always seize out when a $90 command is used to deactivate them.

D—Specifies whether to update the database on hard disk with port status change. If the change is not updated on hard disk, the port is automatically brought into service following a system reboot.

D = 0—Do not update port status on hard disk.
D = 1—Update port status change on hard disk.
CC—Specifies whether the change of status affects a single port, a cluster of eight ports, or a list of ports indicated in the Port Address Map (byte offset 8, 9 and 10).

CC = 00—Change one port (port address in byte offset 10 to 13).
CC = 01—Change cluster of eight ports (first port address in byte offset 10 to 13).
CC = 10—Change cluster of 24 ports (first port address in byte offset 10 to 13).
CC = 11—Change ports listed in Port Address Map (byte offset 14 to 16).

Port Address (byte offsets 10 to 13)—Hexadecimal representation of the first port address affected by the change of state. Check CC bits in the Command Control Code to determine which port address this byte should represent. If CC = 00, this is the address of the single port affected. If CC = 01 or CC = 10, this is the first address of the cluster of 8 or 24 ports. If CC = 11, this is the port address of the port represented by the first bit of the Port Address Map (starting in byte offset 14).

Port Address Map (byte offsets 14 to 16)—Included only when CC = 11 in the Command Control Code. One to three bytes specifying the ports to be affected by the status change. Each bit represents one of up to 24 consecutive ports, beginning with the port at the port address specified in byte offsets 10 to 13. A "1" in the port's bit position indicates its status is to be changed. For card types with 8 ports, use only byte offset 14 to indicate status changes; bytes 15 and 16 can be omitted. Construct the bytes according to the format shown below and convert to hexadecimal.

System Response

A Port Status ($D3) report is generated for each port affected. The Old Status/New Status byte (offset 5) in the $D3 report indicates if the command was successfully executed and the new port status. The $D3 report Originator byte (offset 10) is $61 when the port change of state attempt was originated by the host via a $90 command. However, if a port is deactivated using a $90 command and the card it resides on is later taken out of service, any $D3 reports generated when the card returns to service will contain a $12 Originator byte (port busied out via system administration) rather than a $61 value.

When the command is applied to the first port of the DTG card, the $D3 report generated will always indicate no status change (this port is not supported and remains deactivated at all times). Also, port status changes applied to DTG ports are only performed on the ports residing on the Active tone card. Although the ports on the Standby tone card are assigned the same logical addresses as the ports on the Active card, any $D3 report generated represents the status of the Active tone card port.

A command returned by the system with a network status byte not equal to $01 indicates the command was not processed. Network status bytes of $03, $0E, $23 and $3B may be returned.

Examples


Example 4-46: $90 Command

Assume there is an incoming trunk port at port address $30. The status of the port is CP_IDLE. The following command deactivates the port, writes the change to the hard disk, and seizes out the far end.

04 05060708 09 10111213 90 00000000 70 00000030

Function ID = 90 (Change Port Status)

Spacer Bytes (user defined command identifier) = 00000000

Command Control Code = 70

    AAMD00CC 01110000
AA = 01 (Deactivate port immediately)

M = 1 (Seize out to far end)

D = 1 (Write changes to hard disk)

CC = 00 (Change only single port)

Port Address = 00000030

The same action can be performed using the following command:

04 05060708 09 10111213 141516 90 00000000 73 00000030 800000

Function ID = 90 (Change Port Status)

Spacer Bytes (user defined command identifier) = 00000000

Command Control Code = 73

    AAMD00CC 01110011
AA = 01 (Deactivate port immediately)

M = 1 (Seize out to far end)

D = 1 (Write changes to hard disk)

CC = 11 (Change ports listed in Port Address Map)

Port Address = 00000030

Port Address Map = 80 00 00

    10000000 00000000 00000000

Example 4-47: $90 Command

The following command deactivates the ports at addresses $00 31, $00 32, $00 35 and $00 38. Ports are deactivated only if they are in idle state. Changes are written to the hard disk and the ports are not seized out at the far end. Note that all the ports are on one card.

04 05060708 09 10111213 141516 90 00000000 93 00000030 648000

Function ID = 90 (Change Port Status)

Spacer Bytes (user defined command identifier) = 00000000

Command Control Code = 93

    AAMD00CC 10010011
AA = 10 (Deactivate port if idle; if not, abort command)

M = 0 (Do not seize out to far end)

D = 1 (Write changes to hard disk)

CC = 11 (Change ports listed in Port Address Map)

Port Address = 00000030

Port Address Map = 64 80 00

    01100100 10000000 00000000

Example 4-48: $90 Command

The following command activates the port at address $00 49 and writes the change to the hard disk. Because the port is activated, no outward seizure can be performed.

04 05060708 09 10111213 90 00000000 10 00000049

Function ID = 90 (Change Port Status)

Spacer Bytes (user defined command identifier) = 00000000

Command Control Code = 10

    AAMD00CC 00010000
AA = 00 (Activate port and set to idle state)

M = 0 (Do not seize out to far end)

D = 1 (Write changes to hard disk)

CC = 00 (Change only single port)

Port Address = 00000049.

Voice Prompt Maintenance Control ($91) Command

Command Type

Resource Control

Description

Use the Voice Prompt Maintenance Control ($91) command to allow the host to maintain voice prompt information on the IPRCs in a system. The $91 command provides a mechanism for the host to upload voice prompt information from, and download prompt information to, one or more IPRCs.

This command returns a $01 network status code upon acceptance of the command. The $01 network status code indicates that the command was successfully validated and that the prompt maintenance operation has begun. When the command processing completes, a subsequent message is sent to the host to indicate the completion status. The requested command is re-sent with a $4B network status code to indicate that the command processing completed successfully, or a $4C network status code to indicate that an error was encountered while processing the command.

Usage Guidelines

The $91 command has the following format:

Main Command Segment [optional segment(s)...]

Format

Figure 4-29 shows the byte formatting for this command.


Figure 4-29: $91 Command Format


Main Command Segment

The Main Command segment is composed of byte offsets 4 to 25 and must be included in its entirety. Components of the Main Command segment are defined as follows.

Function ID (byte offset 4)—Byte immediately following the Network Header; uniquely identifies the command to the system.

Spacer Bytes (byte offsets 5 to 8) (User Defined Command Identifier)—Reserved for the host. Because these are echoed back in the command response, you can use them to reference or "name" calls.

Reserved for Tone Plans (byte offsets 9 to 12)—Reserved for future tone plan specifications.

Control Code (byte offset 13)—1 byte.

0—Download prompt information.

1—Upload prompt information.

Access Code (byte offset 14)—1 byte.

0—Access card containing port specified by port address code.

1—Access card specified by RLS code.

2—Access all cards supporting specified prompt library (download only).

RLS Code (byte offset 15)—1 byte.

See the Hardware Allocation ($81) report for RLS code specification.

Set to $00 if accessing by port address.

Port Address Code (byte offsets 16 to 19)—4 bytes.

Card that contains port address will be accessed. Set to $0000 if accessing by RLS code.

Source Library (byte offset 20)—1 byte.

Hexadecimal representation of library ID ($00 to $0F).

Source Prompt ID (byte offsets 21 and 22)—2 bytes.

Byte 1: flags.

Bit 8: temporary prompt.

Byte 2: Hexadecimal representation of prompt ID ($00 to $FF), where $00 means all prompts in library if downloading.

Destination Library (byte offset 23)—1 byte, upload only.

Hexadecimal representation of library ID ($00 to $0F).

Destination Prompt ID (byte offsets 24 and 25)—2 bytes, upload only.

Hexadecimal representation of prompt ID ($0001 to $00FF).

Configure VCA/Set System Clock ($C0 00) Command

Command Type

Configuration Control

Description

Use the Configure VCA/Set System Clock ($C0 00) command to configure any specific Virtual Communication Addresses (VCAs) needed in addition to the global communications address, $DF. This command also allows setting the system real-time clock. Specific VCAs are especially important when a single host controls multiple systems, and are maintained through system resets or power-down cycles.

Usage Guidelines

In a redundant system, this command can be sent to both the active and standby controllers.

Format

Figure 4-30 shows the byte formatting for this command.


Figure 4-30: $C0 00 Command Format


Function ID (byte offsets 4 and 5)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Virtual Communications Address (byte offset 6)—Hexadecimal representation of new address; system still responds to commands sent to the global address $DF. Specifying $FF in this byte leaves the VCA unchanged, and is used when just setting the clock. Specifying $FE sets the VCA to the global address $DF.

Real Time Clock (byte offset 7 to 9)—24-hour clock setting; hours, minutes, and seconds are represented separately in hex. To leave the hours, minutes, or seconds unchanged, specify $FF in the byte. If there is no change to the clock, set all three bytes to $FF.

System Response

No response from the system upon successful completion is provided unless Return All has been set in the Network Header. A command returned by the system with a network status byte not equal to $01 indicates that the command was not processed.

Invalid clock values, such as 44:55:66, cause the system to return the command with a network status byte of $1A (bad date/time). If the command specifies to change both the VCA and the time, the VCA is changed even if the clock value is invalid. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

Examples


Example 4-49: $C0 00 Command

The following command sets the Virtual Communications Address to $B0 and leaves the system time unchanged.

0405 06 070809 C000 B0 FFFFFF

Function ID = C0 00 (Configure VCA/Set System Clock)

Virtual Communications Address = B0

Real Time Clock = No change ($FF in all time bytes)


Example 4-50: $C0 00 Command

The following command sets the Virtual Communications Address to $A0 and sets the system time to 8:45:00 p.m.

0405 06 070809 C000 A0 142D00

Function ID = C0 00 (Configure VCA/Set System Clock)

Virtual Communications Address = $A0

Real Time Clock = Change time to 8:45:00 p.m. ($14 = 20; $2D = 45; $00 = 00)


Example 4-51: $C0 00 Command

The following command sets the system time to 12:00:00 midnight without configuring a new Virtual Communications Address.

0405 06 070809 C000 FF 000000

Function ID = C0 00 (Configure VCA/Set System Clock)

Virtual Communications Address = $FF (do not configure new address)

Real Time Clock = Change time to 12:00:00 midnight [$00 = 00 (first hour of the day is hour 0); $00 = 00; $00 = 00]

Change Active Controllers ($C0 01) Command

Command Type

Configuration Control

Description

In redundant systems, use the Change Active Controllers ($C0 01) command to transfer system control from the active side to the standby side. This command can be sent to either the active or standby system controller. Optional reset of previously active side is also available.

The $C0 01 command can only function if both sides, active and standby, are operational.

Usage Guidelines

The $C0 01 command is forwarded, via the update channel, to the active system for processing; however, the standby side system cannot unilaterally make itself active. This action requires the participation of the active side processor and the AAC.

A controller can request a change to standby from active, but only the AAC can complete standby to active transitions. When a request is sent to a standby processor, the $C0 01 command is sent to the active side processor. The active side processor then sends a message to the AAC, changing system control to standby status. The AAC does this by using its switchover circuitry and changes the formerly standby side status to active.

If a switchover is desired following an AAC reset of the active side, toggle the A/B side switch to the side that needs to be made active. If you reset a controller via the AAC front panel, the normal AAC failure detection and switch-over circuitry is disabled. In this event, if you then reset the active side from the AAC front panel, the standby side will not change status to active.

Use the MVME147 reset button, or physically remove the combined controller, to make a switchover. These actions do not disable the AAC detection/switchover logic.


Note   If there is no active controller, the AAC reset of the active side causes loss of operation for several minutes.

Format

Figure 4-31 shows the byte formatting for this command.


Figure 4-31: $C0 01 Command Format


Function ID (byte offsets 4 and 5)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Condition Code (byte offset 6)—Determines the conditions of the transfer.

00—Do not reset previously active side after transfer.

04—Reset previously active side after transfer.

System Response

Active/Standby Mode ($DC) report from both sides is provided when transfer has occurred.

No response from the system upon successful completion is provided unless Return All has been set in the Network Header. A command that is returned with a network status byte of $03 indicates a syntax error. A command returned with a network status byte of $08 indicates that the system is not redundant and cannot perform a switchover. A command returned with a network status byte of $36 indicates the switchover request has been queued until completion of file synchronization between the active and standby sides. This command is also queued when the standby system cannot communicate to the active system.

Examples


Example 4-52: $C0 01 Command

The following command forces a transfer without a reset.

0405 06 C001 00

Function ID = C0 01 (Change Active Controllers)

Condition Code = 00 (no reset)


Example 4-53: $C0 01 Command

The command below specifies a transfer, resetting the previously active side.

0405 06 C001 04

Function ID = C0 01 (Change Active Controllers)

Condition Code = 04 (reset previously active side after transfer)

T1 Synchronization Control ($C0 02) Command

Command Type

Configuration Control

Description

Use the T1 Synchronization Control ($C0 02) command to alter Master Timing Link parameters. All changes made using this command become part of the system database. The $C0 02 command allows the following:

Usage Guidelines

If the command is used to switch to incoming synchronization, the system verifies that the card on which the specified port(s) is located is an in-service T1 or PRI card, and that the primary and secondary addresses are not on the same T1 or PRI card. If these conditions are met or no switch to incoming is specified in the command, the database is updated on both the active and standby sides before switching to the new timing source occurs. If the new timing source has active alarms, the database is updated but the switch to the new source does not occur. For a flowchart of T1/PRI Synchronization, refer to the Cisco VCO/4K System Administrator's Guide.

Format

Figure 4-32 shows the byte formatting for this command.


Figure 4-32: $C0 02 Command Format


Function ID (byte offsets 4 and 5)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

T1 Synchronization Mode (byte offset 6)—specifies the Master Timing Link parameters to be altered.

01—Switch to internal synchronization; no link values needed in command.

02—Switch to external synchronization; no link values needed in command.

03—Change Master Timing Link (new primary and secondary). If the primary link value specified in the command matches the current system primary link value, no action is taken. If the primary link value specified in the command does not match the current system primary link value, it will be changed. If a change cannot occur (card is not active or alarm condition present), timing switches to secondary link value is specified in the command. A new primary link value and a new secondary link value must be included in command.

04—Change Master Timing Link (primary); timing switches to new primary value. A new primary link value must be included in the command; secondary value is omitted.

05—Change Master Timing Link (secondary); timing switches to new secondary value. A new secondary link value must be included in the command; primary value is omitted.

Primary Link Value (byte offsets 7 to 10)—T1 port address; specify only if Synchronization Mode = 03 or 04; new primary link value to be used for timing.

Secondary Link Value (byte offsets 11 to 14 or 7 to 10 if no Primary Link Value)—T1 or PRI port address; specify only if Synchronization Mode = 03 or 05; new secondary link value to be used for timing.

System Response

No response from the system upon successful completion is provided unless Return All has been set in the Network Header. A command returned by the system with a network status byte not equal to $01 indicates command was not processed. Network status bytes of $03, $19, $23, $24, and $2A may be returned. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

A command returned by the system with a network status byte equal to $2A indicates that the primary and secondary values specified are on the same T1 or PRI card.

Examples


Example 4-54: $C0 02 Command

The following command changes the primary and secondary link values in the database. If the primary link is available, timing is switched to it. If the primary is not available, the system switches timing to the secondary value. If neither primary nor secondary links are available, timing switches to Internal. If both link values specified in the command are the same as those already in use on the system, no change occurs.

0405 06 07080910 11121314 C002 03 00000018 00000059

Function ID = C0 02 (T1 Synchronization Control)

TI Synchronization Mode = 03

Primary Link Value = 00000018

Secondary Link Value = 00000059


Example 4-55: $C0 02 Command

The following command will cause the system to switch to internal synchronization. If the system is already using internal synchronization, no change occurs.

0405 06 C002 01

Function ID = C0 02 (T1 Synchronization Control)

TI Synchronization Mode = 01

No link values needed in command


Example 4-56: $C0 02 Command

This command switches timing to a new secondary link value and updates the database. Timing is switched to this new secondary link regardless of whether a secondary or primary link was already being used.

0405 06 07080910 C002 05 00000017

Function ID = C0 02 (T1 Synchronization Control)

TI Synchronization Mode = 05

Primary Link Value = not necessary for this command; omitted

Secondary Link Value = 00000017

Set/Reset Host Alarms ($C0 03) Command

Command Type

Configuration Control

Description

Use the Set/Reset Host Alarms ($C0 03) command to set or clear major, minor, and auxiliary alarms controlled by the host. These host alarms affect the alarm indicators located on the front of the Alarm Arbiter Card (AAC) as a central monitor point. Major and minor alarms are accompanied by an audible signal if the AAC is equipped with the audible alarm and closes the external alarm contacts on the AAC. This command does not reset the system internally controlled alarms. Any alarms set by this command are cleared when the system resets.

Usage Guidelines

If an AAC is connected to a CO alarm system (external alarm), this command should be used with those implications in mind.

Format

Figure 4-33 shows the byte formatting for this command.


Figure 4-33: $C0 03 Command Format


Function ID (byte offsets 4 and 5)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Alarm Control Code (byte offset 6)—Determines whether an alarm is set or reset, and the type of alarm. The first digit of this byte specifies whether the alarm is set or reset; the second digit specifies the type of alarm.

First digit:

0—Clear an alarm.
8—Set an alarm.
Second digit:

0—Major alarm.
1—Minor alarm.
2—Aux 1 alarm.
3—Aux 2 alarm.

System Response

Upon setting or clearing an alarm, the system generates an Alarm Condition ($F0) report indicating the alarm condition and severity. A command returned by the system with a network status byte equal to $03 indicates a syntax error. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

Messages written to the system printer will reflect the alarm that was set or cleared by the host. The alarms are also displayed on the System Alarm Display and output as part of the Periodic Alarm Reports. For more information on the system alarm report and display information, refer to Cisco VCO/4K System Administrator's Guide and Cisco VCO/4K System Messages.

Examples


Example 4-57: $C0 03 Command

This command sets a host major alarm on the system.

0405 06 C003 80

Function ID = C0 03 (Set/Reset Host Alarms)

Alarm Control Code = 80

First digit = 8 (set an alarm)

Second digit = 0 (major alarm)


Example 4-58: $C0 03 Command

The following command resets a host minor alarm on the system.

0405 06 C003 01

Function ID = C0 03 (Set/Reset Host Alarms)

Alarm Control Code = 01

First digit = 0 (clear an alarm)

Second digit = 1 (minor alarm)

Host Call Load Control ($C0 04) Command

Command Type

Configuration Control

Description

Use the Host Call Load Control ($C0 04) command in conjunction with the Host Control of Call Load feature. (Refer to the System Host Configuration screen information in the Cisco VCO/4K System Administrator's Guide.) When the feature is enabled, this command allows the host to start or stop the sending of Inpulse Rule Complete ($DD) reports and Incoming Port Change of State ($DB) reports that indicate an off hook on an incoming port. Because calls cannot be completed through the system without host intervention, this effectively stops call processing.

Usage Guidelines

The system verifies that the Enable Host Control of Call Load feature has been enabled before processing the command. If the feature is not enabled, the command is returned with a network status byte of $1B (feature not enabled) in the Network Header.

If byte offset 6 is set at 01, no off hook reports ($DB with offhook state) and no Inpulse Rule Complete reports ($DD) are sent to a host link until it has issued a $C0 04 command indicating that it is ready to process calls. In addition, commands received from that host link are rejected until it is ready to process calls. On hook reports for both incoming and outgoing ports are still sent to the host as well as other reports.

If byte offset 6 is set at 02, new call reports will not be sent to a host link until that link has indicated that it is ready to process calls. However, commands will still be accepted from the host link for calls in progress.

The $C0 04 command can be used, for example, to allow the host to request configuration information after a system reboot, before handling calls. Also, with byte offset 6 set at 02 as described above, current calls can be completed, with no new calls taken—a type of "graceful" shutdown.

This command affects only the host port on which it is received. If there are multiple active links to the host, the command must be sent over each active link.

Format

Figure 4-34 shows the byte formatting for this command.


Figure 4-34: $C0 04 Command Format


Function ID (byte offsets 4 and 5)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Load Control Code (byte offset 6)—Specifies whether the system should process incoming calls by reporting them to the host.

00—Report call events to host; normal call processing.

01—No reports to host; call processing suspended.

02—No reports to host; commands will be accepted for calls already in progress.

Table 4-10 shows the network status bytes (NSBs) associated with the $C0 04 command.


Table 4-10: $C0 04 Command Associated Network Status Bytes
NSB Description

$03

Syntax error.

$1B

Host Load Control feature is not enabled and command was not processed.

System Response

No response from the system upon successful completion unless Return All has been set in the Network Header. A command returned by the system with a network status byte equal to $1B indicates that the Host Load Control feature is not enabled and the command was not processed. A network status byte equal to $03 indicates a syntax error in the command. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

Table 4-11 summarizes the $C0 04 command modes.


Table 4-11:
Host Message Control Configuration
Host Link State Affect On Messaging

ONLINE_READY

"Normal" messaging. All host commands and reports allowed. Set by disabling the Call Load feature (and host link becomes active), or by a $C0 04 host command with a parameter value of 00.

ONLINE_NOT_READY

Call processing effectively suspended; host commands rejected (original feature functionality). Set by a $C0 04 host command with a parameter value of 01. Configuration commands are allowed. None of the following host reports allowed:

  • New call reports.

  • Incoming Port Change of State ($DB) and ISDN Port Change of State ($EA) reports with offhook indicated.

  • Inpulse Rule Complete (Macro) ($DD) and ISDN Inpulse Rule Complete ($ED) reports.

  • Call control commands.

ONLINE_RESTRICTED

Processing of calls in progress; host commands accepted (enhanced feature functionality). Set by a $C0 04 host command with a parameter value of 02. All host commands are allowed. None of the following host reports are allowed:

  • New call reports

  • Incoming Port Change of State ($DB) and ISDN Port Change of State ($EA) reports with offhook indicated.

  • Inpulse Rule Complete (Macro) ($DD) and ISDN Inpulse Rule Complete ($ED) reports with offhook indicated ($ED: offhook is indicated by an included D-channel SETUP message).

Examples


Example 4-59: $C0 04 Command

The following command instructs the system to start sending Incoming Port Change of State and Inpulse Rule Complete reports to the host.

0405 06 C004 00

Function ID = C0 04 (Host Call Load Control)

Load Control Code = Report call events to host; normal call processing.


Example 4-60: $C0 04 Command

The following command instructs the system to stop sending change of state and Inpulse Rule Complete reports to the host.

0405 06 C004 01

Function ID = C0 04 (Host Call Load Control)

Load Control Code = No reports to host; call processing suspended.


Example 4-61: $C0 04 Command

In the following command, current calls can be run to completion (i.e., host commands are accepted for calls in progress). No new calls will be reported to the host ("restricted" call processing).

0405 06 C004 02

Function ID = C0 04 (Host Call Load Control)

Load Control Code = No reports to host; commands will be accepted for calls already in progress.

Host Assume/Relinquish Port Control ($C0 05) Command

Command Type

Configuration Control

Description

The Host Assume/Relinquish Port Control ($C0 05) command extends the system controller functionality which allows a host process to relinquish control of a call assigned to itself, or assume control of a call that has been assigned to a different host.

Usage Guidelines

The $C0 05 host command has been extended to perform the assume/relinquish port control and assume/relinquish conference control functions. A function code has been added to allow a host link to override a controlling host assignment. Two port control operating modes, and two conference control operating modes, are provided.

The 00 port control operating mode allows a host to assume control of a port, and the 01 port control operating mode allows a host to relinquish control of a port. In either case, the assignment override remains in effect as long as the affected port is involved in a call, or until a subsequent override command is received. The relinquish mode clears the controlling host assignment for the specified port so that another host can take control of that port.

The 02 conference control operating mode allows a port to relinquish control of a port, and the 03 conference control operating mode allows a port to assume control of a port. In either case, the assignment override remains in effect as long as the affected port is involved in a call, or until a subsequent override command is received. The relinquish mode clears the controlling port assignment for the specified port so that a host can take control of that port.

All command modes affect all line/trunk and virtual ports associated with the named port; that is, all line/trunk and virtual ports in the call chain will have their controlling host indicators cleared or overridden. Resource ports are not affected.

Format

Figure 4-35 shows the byte formatting for this command.


Figure 4-35: $C0 05 Command Format


Function ID (byte offsets 4 and 5)—Bytes immediately following the Network Header; uniquely identifies the command to the system.

Call Control Modifier (byte offset 6)—Determines the type of action to be taken. Specify this byte according to the following list:

00—Relinquish control to an alternate host.

01—Assume control by the host issuing the command.

02—Relinquish conference control by conference number to an alternate host.

03—Assume conference control by conference number by the host issuing the command.

Resource ID (byte offsets 7 to 10)—Resource ID for which control is being seized or relinquished. A 0000 0000 value is invalid.

If the Call Control Modifier is 00 or 01, byte offsets 7 to 10 represent the Resource ID of the Port Address.

If the Call Control Modifier is 02 or 03, byte offsets 7 to 10 represent the Resource ID of the Conference Number.

Table 4-12 shows the network status bytes (NSBs) associated with the $C0 05 command.


Table 4-12: $C0 05 Command Associated Network Status Bytes
NSB Description

$03

Syntax error.

$0F

Call or conference is not controlled by this host. Indicates the host port from which this command was received does not correspond to the port controlling the call.

This return code is possible only when relinquishing a port (Port Control Modifier value 00).

$11

Port in command is idle but should not be. Indicates the circuit identified by the port address specified in the command (usually a controlling port or incoming port) is in the CP_IDLE MState and the command cannot be processed.

$23

Invalid port address specified in command. Indicates the port address byte values do not fall within the range $00 00 through $07 FF, or $80 00 through $80 FF ("virtual" ports). Also indicates an invalid conference number for host control modifiers 02 and 03.

System Response

A Call Control Modifier value of 00 (relinquish control) causes the switch to set the controlling host indicator to "no host" for the specified port and any other associated ports. An alternate host can subsequently take control of that port (and any/all associated ports by sending a command which affects that port.

A Call Control Modifier value of 01 (assume control) causes the switch to override any existing controlling host indicator for the specified port and any associated ports. The controlling host identifier for these ports is set to the host issuing the command. Assumption of control over a port is therefore equivalent to the aggregate behavior provided by a "relinquish control" command followed by normal host command processing which affects that port. Refer to "Message Structure Overview," and "Network Status Byte Definitions," for more information.

A Call Control Modifier value of 02 (relinquish conference control by conference number) causes the switch to set the controlling host indicator to no host for the specified conference number. The controlling host identifier for the conference call, as well as for all individual interface ports involved in that conference, are also set to no host. An alternate host can subsequently take control of that conference call (and all associated ports) by sending a command which affects that conference call.

A Call Control Modifier value of 03 (assume conference control by conference number) causes the switch to override any existing controlling host indicators for the specified conference number. The controlling host indentifier for the conference call, as well as for all individual interface ports involved in that conference, are also set to the host issuing the command. This command mode assists in load sharing among controlling hosts.

Examples


Example 4-62: $C0 05 Command

The following command instructs the system to relinquish host control of the specified port address.

0405 06 07080910 C005 00 00000021

Function ID = C0 05 (Host Assume/Relinquish Port Control)

Call Control Modifier = 00 (Relinquish control)

Resource ID = 00000021 represents specified port address


Example 4-63: $C0 05 Command

The following below instructs the system to assume host control of the specified port address.

0405 06 07080910 C005 01 00000021

Function ID = C0 05 (Host Assume/Relinquish Port Control)

Call Control Modifier = 01 (Assume control)

Resource ID = 00000021 represents specified port address


hometocprevnextglossaryfeedbacksearchhelp
Posted: Fri Aug 9 11:40:17 PDT 2002
All contents are Copyright © 1992--2002 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.