Integrate a third-party IVR system with voice channel

Omnichannel for Customer Service offers a suite of capabilities that extend the power of Dynamics 365 Customer Service Enterprise to enable organizations to instantly connect and engage with their customers across digital messaging channels. An additional license is required to access Omnichannel for Customer Service. For more information, see the Dynamics 365 Customer Service pricing overview and Dynamics 365 Customer Service pricing plan pages.

Azure direct routing lets you integrate a third-party interactive voice response (IVR) system with Omnichannel for Customer Service voice channel, and perform a contextual call transfer between them.

Prerequisites

Before you proceed with this section, you must be familiar with the following concepts.

Set up contextual call transfer using Azure direct routing

This section lists the high-level steps you must perform to enable contextual call transfer between a third-party IVR system and the voice channel.

  1. Set up Azure direct routing and connect a Session Border Controller (SBC), which is linked to the third-party IVR system, with Azure Communication Services resource, which is in turn connected to Omnichannel for Customer Service.

  2. Follow the steps in the section Bring your own phone number to register the phone number that’s assigned to the third-party IVR system with Omnichannel for Customer Service.

  3. To transfer a call from the IVR system, issue an SIP (Session Initiation Protocol) INVITE request to the Azure Communication Services resource that'll transfer the call to the Azure resource that's connected to Omnichannel for Customer Service.

  4. To include context in the payload, populate the SIP UUI (User-to-User Information) header with context data: "User-to-User": "param1=value1;param2=value2". For SIP UUI header with context data, the following formats are supported:

    • Plain text or string. Seperate the key value pairs by a semicolon. For example, "sipkey1=sipval1;sipkey2=sipval2"
    • Hex encoding format. Specify the encoding key word. For example, "7369706B6579313D73697076616C313B7369706B6579323D73697076616C32;encoding=hex"
  5. Create context variables with the same names as the SIP UUI header.

    1. In Customer Service admin center, go to Customer support > Workstreams. If you're using Omnichannel admin center (deprecated), go to General settings > Workstreams. A list of workstreams including voice workstreams is displayed.

      Important

      Omnichannel admin center is deprecated. Use the Customer Service admin center app for admin tasks across Customer Service.

    2. Select a voice workstream and then select Edit to configure the workstream.
    3. In the Advanced settings area, select Add context variable.
    4. In the Edit dialog that opens, select Add, and then select Add context variable.
    5. Enter the values for Name and Type. Ensure that the names of the context variables match exactly with the param names in the SIP UUI header.
    6. Select Create.

    The SIP UUI payload is automatically converted into context data that can be used in the voice channel for routing and to show relevant information to the agent.

You can now call the phone number assigned to the third-party IVR system and achieve a contextual call transfer with the voice channel.

Note

Call record and transcriptions from the third-party IVR call with the customer aren't available for agents.

See also

Overview of the voice channel
Manage phone numbers
Set up outbound calling
Connect to Azure Communication Services
Bring your own carrier