Guest

Cisco Unity

Flow of Events for AMIS Outbound and Inbound Messages

Cisco - Flow of Events for AMIS Outbound and Inbound Messages

Document ID: 28944

Updated: Jan 10, 2006

   Print

Introduction

This document provides detailed diagrams and explanations of the flow of events for outbound and inbound Audio Messaging Interchange Specification (AMIS) messages. If you understand the message flow of events, it can help you when troubleshoot problems with AMIS messaging. For more information about troubleshooting AMIS messaging problems, refer to the Cisco Unity Troubleshooting Guide.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

The information in this document is based on these software and hardware versions:

  • Cisco Unity versions 3.1x and 4.0

    Note: This document is for Cisco Unity with Microsoft Exchange only.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Outbound AMIS Messages

This diagram shows the flow of events for outbound AMIS messages. The numbers on the diagram correspond to the numbers in the Flow of Events for Outbound AMIS Messages section.

amis-callflow-1.gif

Flow of Events for Outbound AMIS Messages

This process flow corresponds with the Outbound AMIS Call Flow of Events flowchart.

  1. A message to an AMIS recipient is sent from the Telephone User Interface (TUI), ViewMail, or the Cisco Unity Inbox in this format:

    [AMIS:<Location Dial ID>_<Remote Mailbox Number>].

    Just like any other message, it is handed off to the Exchange Message Transfer Agent (MTA) for delivery.

  2. The Voice Connector is registered with Exchange in order to handle messages with the address type of "AMIS".

  3. The Voice Connector delivers the message to the UAmis mailbox.

  4. The Message Store Monitor receives a Messaging Application Programmer's Interface (MAPI) notification.

  5. The Message Store Monitor pushes an event notification onto the Notifier's queue (NotifyQ).

  6. The Notifier pulls the event from the queue.

  7. The Notifier thread checks to see if the AMIS schedule is active or inactive. The thread tracks the state transition from inactive to active and from active to inactive.

    Not shown: As a backup to the Message Store Monitor, the Notifier also polls the UAmis mailbox every ten minutes in order to see if there are any new messages. The HKLM\Software\Active Voice\Notifier\AMISMailboxPollIntervalMinutes registry key controls the polling interval.

  8. The Notifier passes the AMIS schedule state to the AMIS Notifier in order to see if a dialout is needed for the message.

  9. The AMIS Notifier calls into the Digital Off-Hook (DOH) in order to get sender and recipient information about the message.

  10. DOH accesses the UAmis mailbox and gets the delivery location Dial ID, remote mailbox number, and sender ID. DOH looks up the delivery phone number and returns all this information to the AMIS Notifier.

    If DOH does not return all required information to the AMIS Notifier, the AMIS Notifier sends a Non-Delivery Receipt (NDR) back to the Voice Connector via the MTA.

  11. The AMIS Notifier checks these items to see if a dialout is needed:

    • The AMIS schedule and AMIS restriction table.

    • The delivery location to see if dialouts to this location are allowed.

    • The urgent message override setting.

    • Whether the message can be included with a batch of outgoing messages.

      Outgoing messages are batched by destination, with a maximum of nine messages per batch. If there are more than nine messages for a particular destination, Cisco Unity ends the AMIS session after it sends the ninth message, hangs up for a brief period of time, and redials the delivery number to send the next batch of messages.

    • AMIS Notifier tells the Notifier if a dialout is needed for the new message.

  12. If dialout is needed, the Notifier creates a dialout task for the Arbiter.

  13. The Arbiter processes the dialout task.

  14. The Arbiter asks the Message Interface Unit (MIU) to perform the dialout.

  15. The MIU does the actual dialout (transmits dual tone multifrequencies [DTMFs]) from Cisco Unity, which goes through the TAPI and tag-switched path (TSP) layers.

  16. Based on the integration, the call either goes to a circuit-switched PBX or Cisco CallManager. If Cisco CallManager is integrated with Cisco Unity, the call goes through an analog gateway.

  17. The call goes from the PBX or analog gateway to the Public Switched Telephone Network (PSTN).

  18. The call goes through the PSTN to the remote PBX.

  19. The remote PBX transfers the call to the remote voice messaging system (VMS).

  20. Once the remote VMS answers, MIU passes information to Arbiter.

  21. The Arbiter informs the Notifier that the connection is established.

  22. The Notifier starts the AMIS Conversation and the AMIS transmission begins.

  23. The AMIS Conversation sends protocol frames to the remote system via MIU.

  24. The AMIS Conversation gets location properties from DOH, finds all messages for this location in the Message Abstraction Layer (MAL), and sorts messages starting with the oldest. The AMIS Conversation gets the message from the UAmis mailbox and marks the message as read. The message is played through the MIU and then deleted.

    1. If AMIS transmission fails, AMIS Conversation returns NDR to the Voice Connector via the MTA.

    2. The NDR is delivered to the subscriber's mailbox.

  25. When the transmission is completed, the AMIS Conversation sends an event to the Notifier with information about whether the completion was successful or unsuccessful. If unsuccessful, the action that is taken depends on what caused the failure.

    • If the remote system does not answer or is busy, a retry is based on the AMIS Options.

    • If the person on a non-AMIS compliant system answers, the delivery location is disabled.

Inbound AMIS Messages

This diagram shows the flow of events for inbound AMIS messages. The numbers on the diagram correspond to the numbers in the Flow of Events for Inbound AMIS Messages section.

amis-callflow-2.gif

Flow of Events for Inbound AMIS Messages

This process flow corresponds with the Inbound AMIS Call Flow of Events flowchart.

  1. An AMIS call originates from the remote VMS.

  2. The remote PBX dials out and the call goes through the PSTN to Cisco Unity.

  3. Based on the integration, the call comes into the PBX or to an analog gateway.

    If Cisco Unity is integrated with Cisco CallManager, the call is sent from the analog gateway to Cisco CallManager.

  4. The call is processed by the TAPI and TSP layers.

  5. The MIU passes the incoming DTMFs to the Arbiter.

  6. The Arbiter passes the DTMFs to AttemptSign, PHTransfer, and PHGreeting.

  7. The Arbiter detects the "C" tone as an AMIS transmission request and starts AMIS Conversation.

  8. AMIS Conversation sends protocol responses to the remote system via MIU.

  9. If Cisco Unity accepts the inbound AMIS message, the control of the AMIS session is passed to the MAL, where a new message is created. The AMIS Conversation records the message and passes the recording to the MAL as a voice attachment for the message.

  10. MAL passes the created message to Exchange.

  11. Voice Connector picks up the message from the MTA queue.

  12. The message is delivered to the subscriber's mailbox.

  13. The Subscriber listens to the message via the TUI, ViewMail, or the Cisco Unity Inbox.

Related Information

Updated: Jan 10, 2006
Document ID: 28944