Genesys Engage on-premises

 View Only
Discussion Thread View
  • 1.  WDE Customisation - making a specific channel Ready

    Posted 09-04-2019 08:54
    I am working on a customisation of WDE and I am trying to work out the best way to make a channel ready and not all channels ready when an agent clicks a custom button I have put on the toolbar. 
    The scenario is the agent has just released the call, they are put into AfterCallWork and then after a specific number of seconds I want to put that channel "Voice" back into Ready.
    What I have working at the moment is I execute the following code:

    private readonly IAgent agent;
    this.agent.Ready();

    but all the Agents channels are put into Ready, so is there a way to make just 1 channel the Voice channel Ready?

    I have read about the chain of commands and adding the "MediaVoiceReady" command to the chain but I am not sure where you would get the parameters from for that e.g. IClientChannel

    Is there not a simple command that can be executed on the agent like this.agent.Ready() that targets a specif channel? 

    #Omni-ChannelDesktop/UserInterface

    ------------------------------
    Dean Smith

    ------------------------------


  • 2.  RE: WDE Customisation - making a specific channel Ready

    Posted 09-04-2019 09:01
    Hi Dean,

    This sounds like what the wrap up feature does. Why not use that built in feature to put the agent back to a ready status?


    Daniel Hilaire 








  • 3.  RE: WDE Customisation - making a specific channel Ready

    Posted 09-04-2019 09:55
    Edited by Dean Smith 09-04-2019 09:56
    Hi Daniel, so wrap up time will be used as well the custom button gives them more time to complete aftercallwork. The scenario is the agent is in wrap up time and then they will decide they need alot more time so they will press the custom button, this will then give them a set amount of extra time in aftercallwork, when that extra time period has passed they will be put back into ready. The custom button will not be used on every call but will be there if they need it.

    ------------------------------
    Dean Smith

    ------------------------------



  • 4.  RE: WDE Customisation - making a specific channel Ready

    Posted 09-04-2019 12:44
    Edited by Dean Smith 09-04-2019 12:44
    I have just tried the following code and it appears to work: this.agent.FirstMediaVoice.Ready();
    Happy for any other suggestions

    ------------------------------
    Dean Smith

    ------------------------------



  • 5.  RE: WDE Customisation - making a specific channel Ready
    Best Answer

    Posted 09-05-2019 19:40
    Well sounds like you have a solution.  However as Daniel mentioned you can probably just let SIP Server handle this rather than having to handle it in the client.  If you add an Extension to your Not Ready request of WrapUpTime with a value greater than 0 it'll add that many seconds to the ACW period.  Check out SIP server Deployment guide Page 253.

    ------------------------------
    Jason McLennan
    Commonwealth Bank of Australia
    ------------------------------



  • 6.  RE: WDE Customisation - making a specific channel Ready

    Posted 09-07-2019 11:20
    Thanks for that Jason that does sound like a much better solution that what I have at the moment, at the moment in my demo environment I have a DispatcherTimer that executes the code this.agent.FirstMediaVoice.Ready() after a defined period. The command I use to put the agent into ACW is this this.agent.NotReadyAfterCallWork(), it does not take a parameter so I will keep looking. 

    ------------------------------
    Dean Smith
    Connect Managed Services
    ------------------------------



  • 7.  RE: WDE Customisation - making a specific channel Ready

    Posted 09-07-2019 18:33
    Thanks for the suggestion, I have got the request for ACW time working now with the Extension and ACW period, the code for the button click is below:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    try
    {
    KeyValueCollection reasons = new KeyValueCollection(); // Reason data
    KeyValueCollection extensions = new KeyValueCollection(); // Extensin data
    extensions.Add("WrapUpTime", duration); // AfterCallWork extended time of 30 seconds
    RequestAgentNotReady request = RequestAgentNotReady.Create(thisDN, AgentWorkMode.AfterCallWork, thisQueue, reasons, extensions);
    TServerProtocol tserver = (TServerProtocol) this.agent.FirstMediaVoice.Channel.Protocol;
    tserver.Send(request); // Send the request to tserver
    btn_Eacw.IsEnabled = false;
    }
    catch (Exception)
    {
    return;
    }
    }

    ------------------------------
    Dean Smith
    Connect Managed Services
    ------------------------------



  • 8.  RE: WDE Customisation - making a specific channel Ready

    Posted 09-08-2019 08:29
    https://docs.genesys.com/Documentation/Options/Current/IW/WDE-interaction-workspace#agent-status-enabled-actions-by-channel

    try above , and update your feedback


    ------------------------------
    Noufal Ebrahim
    SMASCO
    ------------------------------



Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources