New in V20 - Call Processing Scripts

MichaelB_3CX

3CX Team
Staff member
3CX Support
Joined
Aug 25, 2009
Messages
567
Reaction score
699

Process calls based on caller ID, DTMF input and route.​

V20 includes the ability to process calls using a call processing script. A call processing script is similar to a script created with the CFD, however a call processing script is both more powerful and more efficient as you can edit and check the code yourself. Use call p...
Continue reading the Original Blog Post.
 
Last edited by a moderator:
Michael, thanks for the article. Can you do an edit with 1 or 2 sample scripts?
 
  • Like
Reactions: GregG_3CX and N_G
In Update 2 you will will be able to trigger a call processing script upon receiving a call on a particular SIP trunk

Will it be possible to trigger a script for outgoing call on a particular SIP trunk?
 
Please tell me how to replace our recorded voice files?
 
Good morning,
we should develop this procedure:
1) play an audio file
2) record a voice message
3) make an outbound call to a mobile phone number
4) play the previously recorded audio file to the mobile phone number after the answer

Is it possible to do this with the new Call Processing Scripts?

Thank you very much!
 
Good morning,
we should develop this procedure:
1) play an audio file
2) record a voice message
3) make an outbound call to a mobile phone number
4) play the previously recorded audio file to the mobile phone number after the answer

Is it possible to do this with the new Call Processing Scripts?

Thank you very much!
Yes but you can also do this in CFD without having to learn C#.
 
  • Like
Reactions: GregG_3CX and N_G
Or use the C# code the CFD generates as a base for your script....
 
Thanks everyone for the replies.
We have already developed several CFDs for our customers and have been developing with C# for several years.

Our project should make an outbound call, then we will have tocall a second number if first called party does not answer (busy/timeout). In a previous topic, we were told that it is not possible to do this with CFD because there is no management of the status of an outbound call with CFD..

In your opinion, is it better to use CFD or the new Call Control Scripts?
 
Last edited:
Call control script and you can take advantage of new feature to be notified on progress.
 
Make your script post it and we will comment on it as a case study and maybe others can use it as a basis
 
Should we see this Call Flow Apps option in v20 now or is that coming in Update 2? We have latest v20 version Enterprise and do not see Call Flow Apps. Thanks in advance.
 
Should we see this Call Flow Apps option in v20 now or is that coming in Update 2? We have latest v20 version Enterprise and do not see Call Flow Apps. Thanks in advance.

Hi,
Where is your 3CX PBX installed?
Is it hosted by 3CX?

If your PBX (With License Enterprise) is hosted by 3CX, the CallFlow/Call Control script option is currently unavailable. I believe I've read on the forum that 3CX plans to make this feature available later for environments hosted by 3CX (not SMB/Startup version).
 
I'm studying to integrate Call Processing Scripts with incoming call.
However, I don't know how to get extension number from Caller Info?

NOTE: I use "session.transferingExtension" field to get extension in CallFlow. But I cannot use this field in Call Processing Scripts.

Where can I find document relates to Caller Info?
Besides, where can I see debug info in Call Processing Scripts with "MyCall.Debug" function?

Thank you for supporting!!!
 
Usually one of the following expressions works:
MyCall.Caller["extnumber"]
MyCall.ReferredByDN?.Number
 
  • Like
Reactions: Evolute IT
Read ; https://www.3cx.com/community/threa...n-20-0-update-0-build-1494.124792/post-605434

He explains very well how to obtain the values of the different variables.
Check the Activity Logs in VERBOSE level to see the details.
Thank you so much!!!
This helps me understand better.
However, I cannot still get right extension number when writing "Call Scripts" with "Upon receiving a call on a trunk" event.

It seems this event is only raised one time.
When status event is changed, it isn't raised.
 
Usually one of the following expressions works:
MyCall.Caller["extnumber"]
MyCall.ReferredByDN?.Number
Thank you for supporting!!!
However, I cannot still get right extension number when writing "Call Scripts" with "Upon receiving a call on a trunk" event.
 
Thank you so much!!!
This helps me understand better.
However, I cannot still get right extension number when writing "Call Scripts" with "Upon receiving a call on a trunk" event.

It seems this event is only raised one time.
When status event is changed, it isn't raised.

Thank you for supporting!!!
However, I cannot still get right extension number when writing "Call Scripts" with "Upon receiving a call on a trunk" event.
Because you cannot. Those scripts are executed wayyyy before an agent is called, so you cannot get the agent. The script instance is disposed before that.
 
@omnicasa - if you want to track a call and make changes in realtime you need the new web based Call API in update 4
 

Members Online Now

Forum statistics

Threads
111,832
Messages
589,282
Members
164,662
Latest member
DejanMDS