Guest

Cisco Unity

AMIS Analog Networking Definitions (All Cisco Unity Versions)

  • Viewing Options

  • PDF (299.7 KB)
  • Feedback
White Paper: AMIS Analog Networking Definitions (All Cisco Unity Versions)

Table Of Contents

White Paper: AMIS Analog Networking Definitions (All Cisco Unity Versions)

Frame Structure and Timing

Control Signaling Frames

Frame Synchronization and Timing

Frame Error Handling

Message Transfer Process—the AMIS Conversation

Call Setup

Start Session State

System Number State

Message Information State

Play Audio/End Message State

End Session State

AMIS Conversation Example

AMIS Analog Flow Charts


White Paper: AMIS Analog Networking Definitions (All Cisco Unity Versions)


Republished April 28, 2005

This white paper contains excerpts from the AMIS Protocol, and also includes an example of an AMIS conversation. This information provides the details necessary to help the reader decipher an AMIS call and troubleshoot a problem. However, it is not designed to replace the official AMIS Protocol.

Frame Structure and Timing

Control Signaling Frames

The Control Signaling frames are sequence dependent and meet specified syntax, Frame Length, and Checksum requirements. Data frames (sent by the originating system) have a 2-digit Checksum; Response frames (sent by the destination system) use a 1-digit Checksum. Variable-length fields are terminated with a "#" digit, which allows for flexibility of processing.

Table 1 Control Signaling Data Frame Codes 

Data Frame Contents
Code

Start Digit

*

Frame Length

2 digits (03-99).

Function Code

1 digit (0-9), as follows:

0: Not used.

1: Start session.

2: System number.

3: Message information.

4: End message.

5-7: Not used.

8: Protocol extension.

9: End session.

Data

Variable number of digits (0-9 and #), based on the Function Code used.

Checksum

2 digits (00-99).

The Checksum is calculated by adding all digits in the Frame Length, Function Code, and Data fields. Digits 1-9 equal their respective numeric values, 0 equals the value of 10, and # equals the value of 12. The Start Digit, *, is not included in the calculation.

The Checksum equals the last two digits of this sum.

Example: A frame of *1721#408#2327200# would add up to 105, yielding 05 for the Checksum.


Table 2 Control Signaling Response Frame Codes 

Response Frame Contents
Code

Start Digit

*

Response Code

1 digit (0-9), as follows:

0: Accept. Continue with next Data frame.

1: Retransmit. Frame Length, Checksum, or Interdigit error.

2-5: Definition of code dependent on Function Code in Data frame.

6: Timeout. Destination did not receive start of frame within Timeout period.

7: Frame error. Three consecutive Frame Length or Checksum errors. Disconnect call.

8: Protocol error. Syntax, invalid Data, frame sequence error, or other protocol violation. Disconnect call.

9: Abort. Destination detected line quality problem. Disconnect call.

Check Digit

1 digit (0-9), based on the Response Code provided. The Check Digit always follows the Response Code. It is a fixed value, as follows:

Response Code 0: Check Digit 5.

Response Code 1: Check Digit 6.

Response Code 2: Check Digit 7.

Response Code 3: Check Digit 8.

Response Code 4: Check Digit 9.

Response Code 5: Check Digit 0.

Response Code 6: Check Digit 1.

Response Code 7: Check Digit 2.

Response Code 8: Check Digit 3.

Response Code 9: Check Digit 4.


Frame Synchronization and Timing

The following protocol is followed to ensure that the Data frames and Response frames are not lost due to call disconnects, lost DTMF digits, or excessive processing delays:

After transmitting the last digit of a frame, the originating system waits for 1 second to avoid collecting echoed digits. It ignores any DTMF digits for this period.

The originating system then waits for a maximum of 10 seconds for the destination system to generate and begin sending the appropriate Response frame.

If, while receiving a frame, the destination system detects an Interdigit Timeout (5 seconds), it sends a Retransmit Response frame. If the Interdigit Timeout occurred while receiving a Response frame, the originating system generates an End Session Timeout frame and disconnects.

After receiving a frame, the destination system processes the frame and sends the appropriate Response frame after a 2-second delay, but not more than 8 seconds after receipt.

Frame Error Handling

Retransmission is allowed only for Frame Length, Interdigit Timeout, and Checksum errors.

Error: Failed to receive a Start Digit within Timeout period

Response, Originating System: Transmit an End Session Timeout frame, and disconnect call.

Response, Destination System: Transmit a Timeout Response frame, and disconnect call.

Error: Interdigit Timeout or Checksum error

Response, Destination System: Transmit a Retransmit Response frame. The originating system tries up to 2 more times to transmit the original frame. After a third attempt, the destination system transmits a Frame Error Response frame, and disconnects the call.

Error: Frame Length and Checksum pass, but syntax errors, invalid Data, or Out-of-Sequence frame has occurred

Response, Originating System: Transmit an End Session Protocol Error frame, and disconnect call.

Response, Destination System: Transmit a Protocol Error Response frame, and disconnect call.

Error: Line quality or other failed condition

Response, Originating System: Transmit an End Session Abort frame, and disconnect call.

Response, Destination System: Transmit an Abort Response frame, and disconnect call.

Message Transfer Process—the AMIS Conversation

Call Setup

The originating system dials the destination system number. Upon the absence of ringback tone, the originating system transmits a "C" tone to the destination. The originating system also transmits a voice message indicating that the recipient can press "l" to disconnect from the call, in the event that a human has answered the call. (If the recipient presses "1" to disconnect from the call, the originating system returns network messages to the sender with an error message.) If no response is received from the destination, the originating system retransmits the "C" tone up to a maximum of 7 tries. Retry schedules can then be put into effect.

If the destination system answers the call and detects the "C" tone, it responds with a "D" tone after a 4- to 6-second delay. After transmitting the "D" tone, the destination system expects a Start Session frame. If the destination system receives an additional "C" tone from the originating system, the destination system assumes that its "D" tone was not heard, and retransmits up to 3 times prior to disconnect.

If the originating system fails to detect a "D" tone response, a retry schedule can be put into effect. Failure to detect a "D" tone can occur for the following reasons:

Busy or intercept tone detected.

No answer condition.

No "D" tone response after the maximum allotted "C" tone transmissions.

Transmission problem, or protocol error.

Figure 1 shows the basic call processing sequence for AMIS communications.

Figure 1 AMIS Call Processing Sequence

In the following sections, only Function Codes, Response Codes, and specific Data field values will be described; note that all previously defined frame rules apply here as well. See the "Control Signaling Frames" section for basic Data frame code definitions.

Start Session State

This section describes the Data and Response frame definitions immediately after a network call has been established. The Data frame, sent by the originating system, defines the version of the AMIS analog protocol to be used.

Table 3 Start Session Data Frame Codes 

Data Frame Contents
Code

Function Code

1, which indicates a Start Session frame.

Data

1 digit (1-9).

Currently, the only accepted value for this field is "1," which indicates that this is AMIS analog protocol version 1. No other versions are supported at this time.


Table 4 Start Session Response Frame Codes 

Response Frame Contents
Code

Response Code

1 digit (0-9), as follows:

0: Accept.

1: Retransmit.

2: Version not supported. Continue with version 1.

3: Not used.

4: Disk full. Disconnect.

5: Not accepting network calls. Disconnect.

6: Timeout.

7: Frame error.

8: Protocol error.

9: Abort.


System Number State

The System Number Data frame defines the Node ID of the originating system. This number should correspond to the call-back number of the originating system.

Table 5 System Number Data Frame Codes 

Data Frame Contents
Code

Function Code

2, which indicates the System Number frame.

Data

Variable length, 3-18 digits (0-9 and #), as follows:

Country code: 0-4 digits, terminated by #, or by the digit 0 to indicate a private network, followed by #.

Area code: 0-3 digits, terminated by #.

Local phone number: 0-8 digits, terminated by #.


Table 6 System Number Response Frame Codes 

Response Frame Contents
Code

Response Code

1 digit (0-9), as follows:

0: Accept.

1: Retransmit.

2-3: Not used.

4: Accepting messages, but replies will not be sent. Continue.

5: Do not accept messages from this system. Disconnect.

6: Timeout.

7: Frame error.

8: Protocol error.

9: Abort.


Message Information State

The Message Information Data frame defines the destination mailbox number, the sender's mailbox number, the type of message, and the approximate length of the message. The Response frame indicates that the message was accepted, or that the destination mailbox could not be located, that the destination mailbox is full, that the message is too long, and so on. If the destination accepts the message, it begins recording 1 second after sending an acceptance response. The originating system waits for 2 seconds before transmitting the actual voice message, to ensure that the destination is in record mode.

Table 7 Message Information Data Frame Codes 

Data Frame Contents
Code

Function Code

3, which indicates a Message Information frame.

Data

Variable length, 7-37 digits (0-9 and #), as defined in the following table, Data Field Definitions for Message Information Data Frame Codes.


Table 8 Data Field Definitions for Message Information Data Frame Codes 

Data Field
Definition

Message Type

1 digit (0-9), as follows:

0: New message.

1: Reply message.

2: Returned message. (If the message type is 2, additional non-delivery receipt (NDR) information is provided. See the following NDR Reason definition.)

3-9: Not used.

NDR Reason

1 digit (0-9), as follows:

0: New message or reply message.

1: Not used.

2: Message too long.

3: Recipient mailbox number does not exist.

4: Recipient mailbox not accepting messages.

5: Destination mailbox full (may include disk full condition).

6-8: Not used.

9: Other reason for returned message.

Message Length

1 digit (0-9), as follows:

0: Message Length is not available.

1-8: Message Length in minutes (rounded up), including processing time.

9: Maximum Message Length is 8 minutes, but a rounded-up 9 is specified, in order to include processing time.

Originating Mailbox Number

1-16 digits, terminated by #.

Destination Mailbox Number

1-16 digits, terminated by #.


Table 9 Message Information Response Frame Codes 

Response Frame Contents
Code

Response Code

1 digit (0-9), as follows:

0: Accept.

1: Retransmit.

2: Message too long. Continue with next message.

3: Recipient mailbox number does not exist. Continue with next message.

4: Recipient mailbox not accepting messages. Continue with next message.

5: Destination mailbox is full. Continue with next message.

6: Timeout.

7: Frame error.

8: Protocol error.

9: Abort.


Play Audio/End Message State

Play Audio Message (Originating System) / Record Audio Message (Destination System)

Once a Message Information Acceptance Response Code is received from the destination system, the originating system transmits the audio message. If the message contains more than 10 seconds of continuous silence, DTMF tones, or network call progress tones, the destination system may disconnect the call. If the originating system receives a "#" during the transmission of the audio, it returns the message to the sender, and disconnects.

End Message (Originating System)

After transmitting the audio message, the originating system sends an End Message Data frame. If the destination system has successfully recorded the message, it transmits an Accept Response frame. However, if the destination system does not receive an End Message Data frame within the specified Message Length, or if it detects an interval of silence greater than 10 seconds, it transmits "###" and disconnects.

Table 10 End Message Data Frame Codes 

Data Frame Contents
Code

Function Code

4, which indicates an End Message frame.

Data

None.


Table 11 End Message Response Frame Codes 

Response Frame Contents
Code

Response Code

1 digit (0-9), as follows:

0: Accept.

1: Retransmit.

2: Message too long. Continue with next message.

3: Recipient mailbox number does not exist. Continue with next message.

4: Recipient mailbox not accepting messages. Continue with next message.

5: Destination mailbox is full. Continue with next message.

6: Timeout.

7: Frame error.

8: Protocol error.

9: Abort.


At the end of the transmission of a message, if the originating system has additional messages to deliver, it transmits a Message Information Data frame, and starts the process again (up to 8 times, for a maximum of 9 messages per call). When there are no more messages to be sent, or when the maximum 9 messages have been sent, the originating system transmits an End Session Data frame.

End Session State

The End Session Data frame indicates that the originating system has no further messages to send, or that the maximum 9 messages per call have been sent.

Table 12 End Session Data Frame Codes 

Data Frame Contents
Code

Function Code

9, which indicates an End Session frame.

Data

1 digit (0-9), as follows:

0: Normal. The originating system has no more messages.

1-5: Not used.

6: Timeout.

7: Frame error.

8: Protocol error.

9: Abort.


Table 13 End Session Response Frame Codes 

Response Frame Contents
Code

Response Code

None. Call is disconnected.


AMIS Conversation Example

The following is a representation of the successful AMIS transmission of 1 message, as seen and heard on a Digit Grabber or Ziad.

(Ringing)
CCD*041116*05*1721#408#2327200#05*49*1630015555#9995#07*05
(Voice message plays here)*03417*05*049033

Table 14 shows a detailed breakdown of the digits.

Table 14 AMIS Conversation Example—Digit Breakdown 

Digits Sent
Sent By
Description

N/A

N/A

Ringing.

CC

Originating system

DTMF "C" tone for call setup. In this case, the "C" tone is repeated because no response is received within the Timeout period.

D

Destination system

DTMF "D" tone response.

*041116

Originating system

*: Start Digit.

04: Frame Length (4 digits, not including * and 04).

1: Function Code (1 = Start Session).

1: Data (always a 1 if a Start Session frame).

16: Checksum (sum of 10 + 4 + 1 + 1 = 16).

*05

Destination system

*: Start Digit.

0: Response Code (0 = accept and continue with Data frame).

5: Check Digit (always a 5 with a Response Code of 0).

*1721#408#2327200#05

Originating system

*: Start Digit.

17: Frame Length (17 digits, not including * and 17).

2: Function Code (2 = System Number).

1#408#2327200#: Data (originating system phone number), plus # (the terminating character, needed because the Data is variable length).

05: Checksum (sum of all digits in the frame. 1 + 7 + 2 + 1 + 12 + 4 + 10 + 8 + 12 + 2 + 3 + 2 + 7 + 2 + 10 + 10 + 12 = 105, yielding a Checksum of 05).

*49

Destination system

*: Start Digit.

4: Response Code (4 = accepting messages but node response not allowed).

9: Check Digit (always a 9 with a Response Code of 4).

*1630015555#9995#07

Originating system

*: Start Digit.

16: Frame Length (16 digits, not including * and 16).

3: Function Code (3 = Message Information).

0: Data, Message Type (0 = new message).

0: Data, NDR Reason (0 = new message or node response message).

1: Data, Message Length (1 minute, rounded up).

5555#: Data (originating mailbox), plus # (the terminating character).

9995#: Data (destination mailbox), plus # (the terminating character).

07: Checksum (sum of all digits in frame. 1 + 6 + 3 + 10 + 10 + 1 + 5 + 5 + 5 + 5 + 12 + 9 + 9 + 9 + 5 + 12 = 107, yielding a Checksum of 07).

*05

Destination system

*: Start Digit.

0: Response Code (0 = accept and continue with Data frame).

5: Check Digit (always a 5 with a Response Code of 0).

N/A

N/A

Voice message plays. Recorded directly into mailbox 9995 on the destination system.

*03417

Originating system

*: Start Digit.

03: Frame Length (3 digits, not including * and 03).

4: Function Code (4 = End Message).

17: Checksum (sum of all digits in frame. 10 + 3 + 4 = 17).

*05

Destination system

*: Start Digit.

0: Response Code (0 = accept and continue with Data frame).

5: Check Digit (always a 5 with a Response Code of 0).

*049033

Originating system

*: Start Digit.

04: Frame Length (4 digits, not including * and 04).

9: Function Code (9 = End Session).

0: Data (0 = no more messages; normal termination disconnect).

33: Checksum (sum of all digits in frame. 10 + 4 + 9 + 10 = 33).

N/A

Destination system

No Response frame sent; call is disconnected as a successful call.


AMIS Analog Flow Charts

The following flow charts show the sequence of actions and the specific frames sent and received during each state of an AMIS conversation.

In all of the flow charts, the shapes are defined as shown in Figure 2.

Figure 2 Flow Chart Legend

Figure 3 Call Setup

Figure 4 Start Session State

Figure 5 System Number State

Figure 6 Message Information State

Figure 7 Message Transmit State

Figure 8 End Message State

Figure 9 End Session/Disconnect