Genesys CTI User Forum

Genesys CTI User Forum => Genesys-related Development => Topic started by: QuentinA on September 11, 2017, 10:08:32 AM

Title: How to make a transfer call with WDE dev toolkit ?
Post by: QuentinA 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?
Title: Re: How to make a transfer call with WDE dev toolkit ?
Post by: cavagnaro 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

Title: Re: How to make a transfer call with WDE dev toolkit ?
Post by: QuentinA 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
Title: Re: How to make a transfer call with WDE dev toolkit ?
Post by: cavagnaro 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]
Title: Re: How to make a transfer call with WDE dev toolkit ?
Post by: QuentinA 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.");
}
}
Title: Re: How to make a transfer call with WDE dev toolkit ?
Post by: QuentinA 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);
Title: Re: How to make a transfer call with WDE dev toolkit ?
Post by: cavagnaro on September 12, 2017, 02:55:21 PM
:D Well done!
Thanks for sharing