CFD variable session.transferingExtension missing 3CX Version 20.0

Yhe

Platinum Partner
Joined
Nov 23, 2021
Messages
13
Reaction score
7
Hi,

I use transferingExtension variable in v18 and can not use it anymore in v20.. :((

The new script engine know the information in v20, but we cannot use it in the c# script :


2024/10/28 13:57:02.344|0009|Info| CallPair.CallFlowCore.BuiltIn.Router.Router.8006.[C:1458.2]-From script: Call routing from Wextension.57: 3601(3601) on behalf of Wdn.114: 1199 is Succeeded with forwarding:

ProceedWithNoExceptions.Wextension.114: 1199.

Extension.Wroutepoint.145: 3698.
lastrouting result Success(NotSpecified:Success):


When you will populate this information to the script via Mycall ?


Thanks in advance,

BR's.
 
Hi,

unfortunatly the variable is empty :

2024/10/28 13:57:02.552|0005|Trac| CallPair._3698_36.Main.8007.[C:1458.3]-From script: ##MyCALL## Name : ReferredByDN
2024/10/28 13:57:02.552|0005|Trac| CallPair._3698_36.Main.8007.[C:1458.3]-From script: Value :

Scenario :

Extension 3601 call Extension 1199 that's forward to a callflow, in v20 we can't know that is 1199 who call the script.


BR's.
 
If the call is forwarded without the extension 1199 ringing, then you will not see this information, because the Router (new in v20) is making this decision. The call is not even touching 1199, it goes directly to the new destination in this case... Unfortunately there is no solution for this at the time being.
 
Since the new script engine knows about it, it might just be a matter of time before they enable access in C#.
 
  • Like
Reactions: Evolute IT
Hi all,

I'm having the same issue in a CFD where session.transferingExtension is empty.
Call flow: calls arrive through DID directly on an extension. Forwarding rules on statusses direct the call to a CFD that use variable sessions.transferingExtension.

Adjusting code with variableMap["session.transferingExtension"] = new Variable(MyCall.Caller["extnumber"] ?? string.Empty); is not working.
Adjusting code with variableMap["session.transferingExtension"] = new Variable(MyCall.ReferredByDN?.Number ?? string.Empty); is not working either.

The CFD is pointed to by 225 user extensions, it would be quite laborous to create separate CFD's for each extension as suggested.

Support does not want to provide the CFD V20 installer, instead points to call processing scripts.

Anyone happen to have other suggestions/solutions?
 
When the call is forwarded by a forwarding rule of an extension, the new call manager in 3CX v20 will not send the call to the extension, instead it will directly send it to the destination pointed by the forwarding rules, and nothing is attached to the call which can be used to identify the original extension.

A possible solution, if you're routing the call to different extensions based on the DID (i.e. a different DID for each extension), then you could check this to determine which is the extension. Otherwise I think the only way would be creating N apps.... Going with Call Processing Scripts will not be a solution in my opinion, because you will have the same information available. The problem here is that the number of the extension forwarding the call is not attached to the call, so the CFD app can't get it, and you will not be able to get it from a Call Processing Script either...
 
I've created a workaround based on the DID, this works.Thanks for that!
However, internal calls obviously can't use this modified CFD.
I'll break my head over this some more.
 
For internal calls, try logging the data attached to the call using the C# script described here:

Maybe in that case you can find any data that can help you identifying what you need.
 
  • Like
Reactions: Evolute IT

Forum statistics

Threads
111,974
Messages
590,081
Members
164,899
Latest member
mazet