Author Message
YukeSheanFoo
Joined: Jan 20, 2008
Messages: 5
Offline
Hi,

Customer is at Microsoft Dynamics 365 version 1612 (8.2.1.176) on-premise.
Please confirm EMC can integrate with it and how.

Thanks.
Ale?Bevk
Joined: Apr 8, 2015
Messages: 4
Offline
We just did the integration with Dynamics 365 Online and I can confirm that out of the box current version 6.5.3 of EMC cant connect to Dynamics 365.

EMC has MS CRM integration, but MSCRM SDK files against which EMC is compiled is version 6, for dynamics 365 version 8+ is needed.

We did custom integration by creating additional plugin compiled against MSCRM SDK 8 and replace the mscrm dlls of the EMC desktop application with the latest one. Have working customer search by number/email and creation of phonecall and email activities from EMC interactions.
YukeSheanFoo
Joined: Jan 20, 2008
Messages: 5
Offline
Hi,
Thanks for your reply. Appreciate that.
But will this solution be supported by Avaya?

Can you share with me more details of the solution or sample code?

Thanks.
YukeSheanFoo
Joined: Jan 20, 2008
Messages: 5
Offline
Hi, Where can we get the MSCRM SDK for the EMC?
Ale?Bevk
Joined: Apr 8, 2015
Messages: 4
Offline
A year ago we got this answer from Avaya regarding Dynamics 365 and EMC 6.5:


The scope of SP1 was just to test as is with MS CRM 2016.
Hence only support for CRM 2016 was declared.
The upgrade to version 8 will need rebuild and testing (just upgrading dll’s does not work)
This will need a Grip and prioritized.



EMC Agent desktop application has included Microsoft.Crm.Sdk.Proxy.dll and Microsoft.Xrm.Sdk.dll version 6. This 2 libraries are used in compilation of EMC out-of-the-box integration ASMSCRMGuiPlugin.dll. This is what Avaya must fix to make it compatible with Dynamics 365.


Search the devConnect site for EMC plugin development template for Visual Studio. From there on, you can create new plugin and program what to do, when new incoming/preview/webchat/email interaction is received. From Microsoft site download the latest CRM SDK "Microsoft Dynamics 365 Software Development Kit (SDK)" and reference both files mentioned above into custom plugin. In the SDK you have also sample code how to connect to CRM and internet is full of examples how to create new CRM activities from webservices.


Then you just add your plugin to installation folder of EMC application and reference it in INI configuration file or profile in the Configuration Server. And also overwrite the old microsoft dll files with the new one.


Below you have key points how to implement custom CRM:


/// <summary>

/// Voice call is being delivered to the application
/// </summary>
void VoicePlugin_VoiceCallWorkItemRetrieved(object sender, AgileSoftware.ASGUIHVoicePlugin.VoiceCallWorkItemRetrievedEventArgs arg)
{

...

// Process new interaction
ProcessNewWorkItem(arg.DocumentWindowKey, WORK_ITEM_TYPE.Voice, (AgileSoftware.Multimedia.ASGQEWorkItemBase2)arg.VoiceWorkItem);

}
/// <summary>
/// Multimedia workitem (email, preview, sms, IM) was established in application
/// </summary>
void MediaController_WorkItemRefEstablished(object sender, AgileSoftware.Multimedia.Client.WorkItemRefEstablishedArgs arg)
{

...

// Process new interaction
ProcessNewWorkItem(WorkItemId, (WORK_ITEM_TYPE)arg.WorkItemType, (AgileSoftware.Multimedia.ASGQEWorkItemBase2)arg.WorkItemRef);
}

private void ProcessNewWorkItem(string DocumentWindowKey, WORK_ITEM_TYPE WorkItemType, AgileSoftware.Multimedia.ASGQEWorkItemBase2 WorkItem)
{

...

// interaction details are here
AgileSoftware.Multimedia.WorkItem.CustomerData CustomerData = WorkItem.GetCustomerData();
AgileSoftware.Multimedia.MediaStore.EMS.InboundEmail.EmailWorkItemData WorkItemData = (AgileSoftware.Multimedia.MediaStore.EMS.InboundEmail.EmailWorkItemData)WorkItem.GetWorkItemData();
AgileSoftware.Multimedia.MediaStore.EMS.Email.MimeMessage EmailMessage = new AgileSoftware.Multimedia.MediaStore.EMS.Email.MimeMessage(WorkItemData.EmailMessage);


...

// crm procedures

}



CRM find contact/account by number/email/...


// build search query
QueryExpression AccountsQuery = new QueryExpression
{
EntityName = "account",
ColumnSet = new ColumnSet("accountid", "name", "telephone1", "telephone2", "emailaddress1", "emailaddress2", "address1_line1", "address1_line2", "address1_line3", "address1_postalcode", "address1_city", "address1_country"),
Criteria = new string[] { "telephone1", "telephone2", "telephone3" }
};

DataCollection<Entity> accounts = crmproxy.RetrieveMultiple(AccountsQuery).Entities;

// do similar with contact search

...

// create from/to entities for phonecall activity

Entity fromParty = new Entity("activityparty");
Entity toParty = new Entity("activityparty");
toParty["partyid"] = isOutgoing ? accounts[0].ToEntityReference() : new EntityReference("systemuser", CrmConnector.GetCurrentUserId());
fromParty["partyid"] = !isOutgoing ? accounts[0].ToEntityReference() : new EntityReference("systemuser", CrmConnector.GetCurrentUserId());

// create phone call activity

Entity phonecall = new Entity("phonecall");
phonecall["subject"] = subject;
phonecall["actualstart"] = DateTime.Now;
phonecall["directioncode"] = isOutgoing;
phonecall["phonenumber"] = ANI;
phonecall["from"] = fromParty;
phonecall["to"] = toParty;

phonecallId = crmproxy.Create(phonecall);

// open created phonecall activity to agent so he can continue in CRM workflow (phone activity >> case / incident / ...)
// https://crmserver/activities/phone/edit.aspx?id= + phonecallId
YukeSheanFoo
Joined: Jan 20, 2008
Messages: 5
Offline
Hi,
Managed to have Dynamics 365 screen pop with caller number,
However, if we collected caller IC number from AEP IVR call flow (via UUI) and want to screen pop based on customer IC, it failed.
Below is the rule configuration:

Rule1 = When Voice.WIDelivered And Direction = Incoming Do ReturnEvent MSCRM.Create,entity=contact,attributes=fax,value=%UUI%,InvokeId=Rule1 Then Continue Else Continue
Rule2 = When MSCRM.CreateCompleted And invokeId = Rule1 Do ReturnEvent MSCRM.Screenpop,entity=%entity%,id=%id%,bringToFront=true Then Continue Else Continue


Kindly assist soonest. Thanks.
YukeSheanFoo
Joined: Jan 20, 2008
Messages: 5
Offline
Hi,

For Ms Dynamics screen pop using value passing from AEP IVR (via UUI),among the below 3 available options, which is the correct option to use?

1. Lookup contact database
2. Lookup Microsoft Dynamics CRM Webservices directly
3. Disable built-in lookup features. EMC Desktop Rules are still available.

Please advise with more details of configuration. Thanks.
Aki_Merced
Joined: May 14, 2018
Messages: 2
Offline
Hi there, if you're still looking for a solution Tenfold is an out of the box CTI tool that can integrate MSD with Avaya. It supports screen pops, click-to-dial functionality, automatic call logging and recording, and many more. Here's a webinar for more info: https://vimeo.com/153279845. You can also request a free demo for more info. Cheers!
Go to:   
Mobile view