" /> WDE Customization, automatically marking done on a chat release - Genesys CTI User Forum

Author Topic: WDE Customization, automatically marking done on a chat release  (Read 4496 times)

Offline Barn5ter

  • Newbie
  • *
  • Posts: 25
  • Karma: 0
Advertisement
Hi There

We are currently using WDE 8.5.105.12 and we are experiencing some freezing issues (being investigated by Genesys) when a second chat lands at a desktop. It seems to coincide as Chat 1 is Marked as Done and Chat 2 arrives.

As a quick fix, I am trying to see if there is an easy way to customize the WDE desktop to mark every chat as Done when we hit the End Chat button.

I know for voice calls we have the option voice.mark-done-on-release. I am basically trying to achieve the same thing but for chat interactions.

Just wondering if anyone else has given this a go in the past? Its one of those one's where I am saying to myself "surely someone has tried to do this?"  :)
If anyone could give me some pointers where to start looking in the code I would be grateful. I believe all I need to do is "insert a command" in accordance with the .NET developers guide. I am not a developer myself, but I have one at hand who is also looking at the issue. I am just seeing if I can give him some guidance as to where to look.  ;D


All help gratefully received,

Offline Kubig

  • Hero Member
  • *****
  • Posts: 2755
  • Karma: 44
Re: WDE Customization, automatically marking done on a chat release
« Reply #1 on: May 21, 2015, 10:35:43 AM »
Try to use command like "InteractionChatAcceptChat" (I didn't try it).

Just to the issue, I am using WDE 8.5 with more than 2 chats and have never encountered this issue.

Offline Barn5ter

  • Newbie
  • *
  • Posts: 25
  • Karma: 0
Re: WDE Customization, automatically marking done on a chat release
« Reply #2 on: May 21, 2015, 10:46:16 AM »
OK thanks for that will let the developer take a look.

In regard to the issue, that's good to know. Don't suppose you are using it over a published application via Citrix? Engineering have accepted it as a definite issue, hoping to have fix in 8.5.106.29, when it comes out.

Back to the code, can anyone give me a bit more detail around this?

Offline OXE_4400

  • Jr. Member
  • **
  • Posts: 62
  • Karma: 1
Re: WDE Customization, automatically marking done on a chat release
« Reply #3 on: May 21, 2015, 06:13:39 PM »
8.5.106.29 and 8.5.106.30 already available for download.

Offline Barn5ter

  • Newbie
  • *
  • Posts: 25
  • Karma: 0
Re: WDE Customization, automatically marking done on a chat release
« Reply #4 on: May 22, 2015, 09:03:00 AM »
Yeah apologies giving you the wrong versions. So .29 was believed to contain our fix, but it did not in the end. We could still cause freezing .30 only has a fix for Preview dialling. So I guess I am waiting for .31  :P !

Still seeking any further info on the customization.

qtalal

  • Guest
Re: WDE Customization, automatically marking done on a chat release
« Reply #5 on: August 27, 2016, 11:30:49 AM »
[quote author=Barn5ter link=topic=8857.msg39485#msg39485 date=1432201595]
Hi There

We are currently using WDE 8.5.105.12 and we are experiencing some freezing issues (being investigated by Genesys) when a second chat lands at a desktop. It seems to coincide as Chat 1 is Marked as Done and Chat 2 arrives.

As a quick fix, I am trying to see if there is an easy way to [b]customize the WDE desktop to mark every chat[/b] as Done when we hit the End Chat button.

I know for voice calls we have the option voice.mark-done-on-release. I am basically trying to achieve the same thing but for chat interactions.

Just wondering if anyone else has given this a go in the past? Its one of those one's where I am saying to myself "surely someone has tried to do this?"  :)
If anyone could give me some pointers where to start looking in the code I would be grateful. I believe all I need to do is "insert a command" in accordance with the .NET developers guide. I am not a developer myself, but I have one at hand who is also looking at the issue. I am just seeing if I can give him some guidance as to where to look.  ;D


All help gratefully received,
[/quote]

a late answer but might be helpful to other :)

you can call the "InteractionChatWorkflow" command as follows :

                KeyValueCollection ReasonsObj = new KeyValueCollection();
                KeyValueCollection ExtensionObj = new KeyValueCollection();

                IDictionary<string, object> param = new Dictionary<string, object>();
                param.Add("CommandParameter", NewIXN);
                param.Add("Reasons", ReasonsObj);
                param.Add("Extensions", ExtensionObj);
                CMDManager.GetChainOfCommandByName("InteractionChatWorkflow").Execute(param);

if you want to trigger the above when the "End Chat button" is hit, you need to call the above code when the state of the interaction is marked as "ended" in an event handler as follows:

1- Register Event Handler:
InteractionManager.InteractionEvent += new EventHandler<EventArgs<IInteraction>>(GDE_EventHandler);

2- Monitor "eventsessioninfo" event:
protected void GDE_EventHandler(object sender, EventArgs<IInteraction> e)
        {           
                IInteraction NewIXN = e.Value;
                string NewIXNMediaType = NewIXN.Media.Name.ToLower();
                switch (NewIXNMediaType)
                {
                    case "chat":
                        string IXNEventType = NewIXN.EntrepriseLastInteractionEvent.Name.ToLower();
                        string EntIXNState = NewIXN.EntrepriseInteractionCurrent.State.ToString().ToLower();
                        switch (IXNEventType)
                        {
                            case "eventsessioninfo":
                                switch (EntIXNState)
                                {
                                    case "ended":
                                        KeyValueCollection ReasonsObj = new KeyValueCollection();
                                        KeyValueCollection ExtensionObj = new KeyValueCollection();

                                        IDictionary<string, object> param = new Dictionary<string, object>();
                                        param.Add("CommandParameter", NewIXN);
                                        param.Add("Reasons", ReasonsObj);
                                        param.Add("Extensions", ExtensionObj);
                                        CMDManager.GetChainOfCommandByName("InteractionChatWorkflow").Execute(param);
                                        break;
                                }
                        }
                }
        }