Author Topic: How to make a transfer call with WDE dev toolkit ?  (Read 2707 times)

Offline QuentinA

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
How to make a transfer call with WDE dev toolkit ?
« on: September 11, 2017, 10:08:32 AM »
Hello,
I come to see you to know how to make a call transfer on an agent group from the banner WDE?
I have a look at the genesys documentation,
(https://docs.genesys.com/Documentation/GDP/7.6.6/AISDeveloper/VoiceInteractions#Direct_Transfers)
only, I can not find the InteractionVoiceAction classes and IInteractionVoiceService. Can you help me?

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7639
  • Karma: 56330
Re: How to make a transfer call with WDE dev toolkit ?
« Reply #1 on: September 11, 2017, 11:31:23 AM »
You can't transfer to an agent group directly... You transfer to the RP where a strategy is loaded on which the Target is defined as that agent group

Enviado de meu E6633 usando Tapatalk


Offline QuentinA

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
Re: How to make a transfer call with WDE dev toolkit ?
« Reply #2 on: September 11, 2017, 12:53:49 PM »
Ok, let's say my network architect did the routing, what code do I have to implement on my banner, I already have this code :

IInteractionVoice i = Case.MainInteraction as IInteractionVoice;

                            if (i.IsItPossibleToSingleStepTransfer)
                            {
                                this.aLog.Info("SingleStepTransferCommand");
                                IVoiceService voiceService = CustomModule.EnterpriseServiceProvider.Resolve<IVoiceService>("voiceService");
                                voiceService.SingleStepTransfer(i.EntrepriseInteractionCurrent, "8999@SIP_Switch", "8999@SIP_Switch", i.GetAllAttachedData(), null, null);
                            }

only, voiceService returns me a message saying : "The method or operation is not implemented." StackTrace " à Genesyslab.Enterprise.Services.VoiceService.get_ContactServerId()"

I don't understand  ???

8999 is RP
SIP_Switch is switch

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7639
  • Karma: 56330
Re: How to make a transfer call with WDE dev toolkit ?
« Reply #3 on: September 11, 2017, 01:25:16 PM »
[size=2]Instead of [font=verdana]get_ContactServerId() use just ContactServerId()[/font]
[font=verdana]get_ is deprecated[/font]

[font=verdana]Follow the definition and fix it[/font][/size]
« Last Edit: September 11, 2017, 07:32:27 PM by cavagnaro »

Offline QuentinA

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
Re: How to make a transfer call with WDE dev toolkit ?
« Reply #4 on: September 11, 2017, 01:58:08 PM »
Here is what i found in VoiceService class:

private const string kThisDN = "ThisDN";

private const string kConnID = "ConnID";

private const string kUserData = "UserData";

private System.Collections.Generic.ICollection<IStrategy> m_Strategies = new SafeICollection<IStrategy>();

private System.Collections.Generic.IDictionary<string, IInteraction> m_interactions;

[System.NonSerialized]
private HandlerManager m_channels;

private string m_Name;

private string m_Description;

[System.NonSerialized]
private object m_strategyLock = new object();

[System.NonSerialized]
private object m_interactionLock = new object();

[System.NonSerialized]
private object m_EvaluateLock = new object();

/// <summary>
/// Get friendly service name
/// </summary>
public override string ServiceName
{
get
{
return this.m_Name;
}
}

/// <summary>
/// Get friendly description of the service
/// </summary>
public override string Description
{
get
{
return this.m_Description;
}
set
{
this.m_Description = value;
}
}

public new IPredicatable<IEnvelope<IRequest>> Filter
{
get
{
return null;
}
}

/// <summary>
///
/// </summary>
/// @TODO
public string ContactServerId
{
get
{
throw new System.NotImplementedException("The method or operation is not implemented.");
}
}

Offline QuentinA

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
Re: How to make a transfer call with WDE dev toolkit ?
« Reply #5 on: September 12, 2017, 09:36:50 AM »
So, i use this :

string destination = "8999"; //ROUTE POINT
                                    IDictionary<string, object> parameters = new Dictionary<string, object>();
                                    parameters.Add("CommandParameter", Case.MainInteraction);
                                    parameters.Add("Destination", destination);
                                    CustomModule.CommandManager.GetChainOfCommandByName("InteractionVoiceSingleStepTransfer").Execute(parameters);

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7639
  • Karma: 56330
Re: How to make a transfer call with WDE dev toolkit ?
« Reply #6 on: September 12, 2017, 02:55:21 PM »
:D Well done!
Thanks for sharing