NEED HELP WITH USER INPUT COMPONENT

Status
Not open for further replies.

10m

Gold Partner
Advanced Certified
Joined
May 3, 2014
Messages
122
Reaction score
26
Hello All.

I am trying to create a CFD app with a user input component in the call flow. The intention is that the caller is required to dial a 3 or 4-digit number which is an extension, so in the user input option for the Valid Input I field, I put a transfer call component. My problem is that the transfer component I mentioned attempts to make an outbound call when we try the actual call to the CFD app. I do not know what the transfer Call To function should be.

Here are some screenshots

1681493587187.png

1681493451997.png

1681493654619.png

What I want like I said earlier is the user input will collect a 3 or 4-digit number which is the extension I wish to reach and then the transfer component will call the extension, but since any number can be dialed I need an expression that identifies the number as a 3CX extension.

Thank you for the assistance.
 
Found it.

1681494701829.png

You need to use UserInput1.Buffer as seen in the screenshot above. I hope this will help someone in th efuture.

Cheers.
 
Hello Guys.

I'm here again. I got the CFD to transfer the call to the extension number dialled. However, if I dial a 3-digit number that is not a destination on the PBX the CFD will send the call out of a trunk that has a matching outbound rule. How can I limit the range of valid digits to the extension range of the PBX? What I mean is if my extension range is 200-300. When I dial 100, or 400 I don't want the PBX to forward the call out of a trunk. Rather, I want the invalid digit prompt to play and the invalid option to execute.
 
You should create a condition for that. You need to check if the number entered by the user is in your range, for example, the following expression will return true when the number entered is between 200 and 299:
AND(GREAT_THAN_OR_EQUAL(TO_INTEGER(UserInput1.Buffer),200),LESS_THAN(TO_INTEGER(UserInput1.Buffer),300))

You can use that expression in a conditional component, to check if you should transfer the call or not.
 
  • Like
Reactions: Evolute IT
You should create a condition for that. You need to check if the number entered by the user is in your range, for example, the following expression will return true when the number entered is between 200 and 299:
AND(GREAT_THAN_OR_EQUAL(TO_INTEGER(UserInput1.Buffer),200),LESS_THAN(TO_INTEGER(UserInput1.Buffer),300))

You can use that expression in a conditional component, to check if you should transfer the call or not.
Hello, hijacking the thread.

I'm in the same situation. I've managed to create a call condition to filter only a range of extensions (in my case between 7500 to 7599). For numbers dialed within this range, 3CX CFD successfully transfers the call out. However, 3CX automatically disconnects the call when the caller dials an extension outside of this range.

Is it possible to have the UserInput component recognize the numbers outside of this range are invalid input and sends them to the Invalid Input flow instead?

Currently I did a loop notifying the user that the extension is invalid, but this would create an infinite loop. I'd like them to have maximum tries as set in the UserInput settings. That way, the system will auto disconnect the user after say, 3 tries.

Would appreciate your assistances and apologies again for hijacking the thread.
CaptureLoop.PNG
 
Is it possible to have the UserInput component recognize the numbers outside of this range are invalid input and sends them to the Invalid Input flow instead?

Currently I did a loop notifying the user that the extension is invalid, but this would create an infinite loop. I'd like them to have maximum tries as set in the UserInput settings. That way, the system will auto disconnect the user after say, 3 tries.
This is the way to go. The User Input component will only check if the user entered a requested number of digits (between MinDigits and MaxDigits), but will not do any other validation. That's what is considered a valid input from this component perspective. Then, in the Valid Input branch you need to run your additional checks. You can also have a counter to limit the loop to 3 iterations, but you need to add this logic manually.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
112,279
Messages
591,659
Members
165,399
Latest member
NetworkActive