Genesys CTI User Forum
Genesys CTI User Forum => Genesys-related Development => Topic started 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?
-
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
-
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
-
[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]
-
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.");
}
}
-
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);
-
:D Well done!
Thanks for sharing