Genesys CTI User Forum
Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: Anrew Livingston on May 07, 2015, 06:10:47 PM
-
Scenario:
Agent handles inbound call, uses Instant Call Conference to an external resource using a single-step conference trunk. Need to be able to send the ANI of that original call to the external party.
When we do internal transfers, the recipient of the conference sees the ANI of the inbound caller, just need that to work on external transfers.
TServer/enable-ssc-network
TServer
enable-ssc-network
true
TServer/oosp-transfer-enabled
true
TServer/override-from-on-conf
false
TServer/prefix
6
TServer/priority
1
TServer/refer-enabled
true
TServer/reuse-sdp-on-reinvite
true
TServer/session-refresh-enforced
false
TServer/sip-disable-greeting
false
TServer/sip-hold-rfc-3264
false
TServer/subscribe-presence-expire
3600
TServer/use-display-enabled
true
If the DN that handled the call is 8340 for example if I set override-from-on-conf = true then the callerID on the receiving end shows 8340, but that's as much success as I've had.
Anybody have an idea on how to make this work?
-
Depends on your PBX/MediaGateway/Operator configuration. Does your Telco allows you to send those numbers??
-
So the solution is that you have to set CPNDigits = ANI in the Extensions of the TSingleStepTransfer (or Conference). This can be done in routing, but when it's initiated from the agent desktop (Workspace Desktop 8.5.1 in our case), you have to create a custom command and insert it before InteractionVoiceSingleStepTransfer.
[code]
public bool Execute(IDictionary<string, object> parameters, IProgressUpdater progress)
{
log.DebugFormat("BeforeSingleStepTransfer.Execute(): add CPNDigits");
IInteractionVoice interactionVoice = parameters["CommandParameter"] as IInteractionVoice;
object data = null;
Genesyslab.Enterprise.Commons.Collections.KeyValueCollection ext = null;
parameters.TryGetValue("Extensions", out data);
try
{
if (data == null)
{
ext = new Genesyslab.Enterprise.Commons.Collections.KeyValueCollection();
}
else
{
ext = data as Genesyslab.Enterprise.Commons.Collections.KeyValueCollection;
}
ext.Add("CPNDigits", interactionVoice.PhoneNumber;
parameters["Extensions"] = ext;
}
catch (Exception e)
{
log.DebugFormat("BeforeSingleStepTransfer.Execute():" + Environment.NewLine + e.StackTrace);
return true;
}
return false;
}
Add the command into the chain in the module's Initialize() method:
commandManager.InsertCommandToChainOfCommandBefore("InteractionVoiceSingleStepTransfer", "SingleStepTransfer",
new CommandActivator() { CommandType = typeof(BeforeVoiceSingleStepTransferCommand) });
[/code]