Sample softphone integration using Dynamics 365 Channel Integration Framework 1.0
Download the softphone integration sample for Microsoft Dynamics 365 Channel Integration Framework version 1.0.
Note
The sample code is not supported on Internet Explorer and on browsers that do not have WebRTC support. More information: WebRTC
Important
- This sample code currently has limited availability.
- The sample code for softphone integration with Dynamics 365 using Dynamics 365 Channel Integration Framework is made available so customers can get early access and provide feedback. The sample code is not meant for production use and may have limited or restricted functionality.
- Microsoft doesn't provide support for this sample code for production use and Microsoft Dynamics 365 Technical Support won’t be able to help you with issues or questions. This is subject to supplemental terms of use.
Prerequisites
A valid Azure subscription is required to publish the sample app to Azure.
Note
If you don't have an Azure subscription, you can create a free account.
Publish a sample app to Azure
Open the solution SampleInteg.sln using Visual Studio 2017.
In Solution Explorer, right-click on the solution and build the complete solution.
In Solution Explorer, right-click on the project SampleInteg and select Publish.
Select Start to launch the Publish wizard.
Choose App Service as the publish target.
Select Create New and then select Publish.
Provide an app name. For example, SampleInteg.
Provide valid subscription, resource group, and hosting plan details.
Select Create to create the Azure app service, and save the app service URL for future use.
For example,
https://sampleinteg.azurewebsites.net
.
Create a function to use with the app service
Create sample code for the client-voice function.
Refer to the function from the readme file packaged with the sample softphone integration in the Dynamics 365 Insider Portal.Use the sample code for the capability-token function.
Refer to the function from the readme file packaged with the sample softphone integration in the Dynamics 365 Insider Portal.
Note
Save the URL for the capability-token function you obtain from the above sample code. For example, the URL is https://sampleinteg.sample/capability-token
.
Configure a sample app in Dynamics 365
Note the base URL of the Dynamics 365 org in which all web resources are stored. For an online org, this should be of the form
https://<orgname>.crmXX.dynamics.com
. For example,https://sampleorg.crm10.dynamics.com
.Get the Dynamics 365 Channel Integration Framework solution. For more information, see Get Dynamics 365 Channel Integration Framework.
Configure the channel provider by providing the details as shown in the matrix. For more information, see Configure the channel provider.
Field Description Name Name of the channel provider.
Example: ContosoLabel The label is displayed as the title on the widget.
Example: ContosoChannel URL The channel URL is in the format: <azure_app_service_url>?base=<crm_base_url>
Note: For this sample, the URL ishttps://sampleinteg.azurewebsites.net?base=https://sampleorg.crm10.dynamics.com
.Enable Outbound Communication Yes Channel Order 0 API Version 1.0 Trusted Domains The domain (URL) that can access the Channel Integration Framework APIs. Select the Unified Interface Apps for the Channel The list of Unified Interface apps where the channel is displayed for the agents. Select Roles for the Channel The security roles that are present in Dynamics 365.
Note: If you do not assign any role, the channel provider is shown to all users assigned for the Dynamics 365 Unified Interface app.Launch the Unified Interface app to see the communication widget on the right side.
The communication widget in the minimized mode
The communication widget in the expanded mode
Important
- All URLs must be HTTPS.
- If you use a self-signed certificate for the Azure app or the Dynamics 365 org, certain browsers might reject the connection and fail to load the sample phone. As a workaround, open the Azure app in a separate tab and accept the certificate once.
- Ensure microphone and speaker access is not blocked by browser policy.