I have a UCMA application that accepts an incoming PSTN call, looks up some data, creates a new call to the recipient and then does a supervised transfer to the original recipient of the call
The code looks like this for the call replacement
try
{
_incomingCall.BeginTransfer(newCall, callTransferOptions,
ar =>
{
try
{
_incomingCall.EndTransfer(ar);
}
catch(RealTimeException rtex)
{
Logger.WriteToLog("Failed Supervised Transfer - " + rtex.Message, ConsoleTextColor.Failure, _debugMode, _consoleApp);
}
}, null);
}
catch(InvalidOperationException ioex)
{
Logger.WriteToLog("Failed Supervised Transfer - " + ioex.Message, ConsoleTextColor.Failure, _debugMode, _consoleApp);
}
I am experiencing 2 issues
Issue # 1
When the code is run a RealTimeException is thrown, the message is
"Failed Supervised Transfer - The transfer operation failed. For more information, refer to the message data in the exception."
The call actually does not go through. Incoming call and original recipient are still not connected.
Issue # 2
In the Lync client of the original call recipient, if I try and do a transfer the transfer fails. The Lync client says "Cannot complete the transfer. Transfer is not supported for this call.
Running OCS Logger on the FE Server, I get the following message in the logs when the transfer is attempted
TL_INFO(TF_PROTOCOL) [0]16C0.3990::12/31/2015-07:25:16.088.00103ac0 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(261))[118468061] $$begin_record
Trace-Correlation-Id: 118468061
Instance-Id: 91B4
Direction: incoming
Peer: XomeDev.LsImports.loc:14005
Message-Type: response
Start-Line: SIP/2.0 481 Call Leg/Transaction Does Not Exist
FROM: "+14158299780"<sip:+14158299780@lsimports.com;user=phone>;tag=29148de2a0;epid=C43BD1E916
TO: <sip:alindsay@lsimports.com;opaque=user:epid:NmoCQPED3FeojeCfIcIvvAAA;gruu>;epid=e63c4dfc15;tag=cb84747eb
CALL-ID: 08977d3a-5ffd-43af-b964-28d78c98e2b1
CSEQ: 3337 INVITE
VIA: SIP/2.0/TLS 192.168.20.72:57510;branch=z9hG4bK0CE7CCD3.839CADACE7EC05EC;branched=FALSE,SIP/2.0/TLS 192.168.20.72:57511;branch=z9hG4bK8888735;ms-received-port=57511;ms-received-cid=190C00
CONTENT-LENGTH: 0
ms-diagnostics: 24091;Component="RTCC/5.0.0.0_orderlyncer";Reason="Unable to find the call to replace based on the value from replaces header.";Source="XomeDev.LsImports.loc"
SERVER: RTCC/5.0.0.0 orderlyncer
$$end_record
I am stuck on these 2 issues. Can anyone suggest why I am getting a RealTimeException thrown when I do the call replacement and also why transferring the call in the Lync client does not work ?
Thanks
Brian