Playback prompt from web

Discussion in 'Call Flow Designer' started by rsuren, Sep 21, 2017.

Thread Status:
Not open for further replies.
  1. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    Hi guys,

    thanks for the good software,
    on user input im calling an web service and getting an audio file as return now how to connect it to playback prompt as Dynamic Audio file prompt .

    please let me know the expression i need to give and what output or format the web call should return file.

    i have the wave file format and sending as binary now in response but doesnt work, i tried saving to sever and giving as an url input also didnt work, please let me know how to do this either way
     
    #1 rsuren, Sep 21, 2017
    Last edited: Sep 21, 2017
  2. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    Hi @rsuren,

    In first place, please note that the audio file format must be the following:
    • Format: WAV
    • Channel: Mono
    • Bit rate: 8 kHz
    • Sample: 16 bit
    As explained here, if your wav files have a different format, they will not be played, and no error will be logged... So please ensure that your files have the proper format.

    Next, you need to save your files to a folder. A good place to save the files is the folder specified in the "session.audioFolder" variable, which is the folder where your app saves all the audio files that you include in your project.

    Finally, in your Prompt Playback component, you need to create a Dynamic Audio File prompt, and then build the file name using an expression. If you save the file in the audio folder of the app, then you can specify just the file name. Otherwise you need to specify the full path to the file. For example, if your file name is saved in variable "callflow$.AudioFileName" and the file is saved in folder "C:\3CXAudio" then you can use the following expression:
    CONCATENATE("C:\\3CXAudio\\",callflow$.AudioFileName)

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    Hi thanks for the quick reply. wav is correct done only,
    thing pending is getting the file from sever to local pc, do you know a way i can download from CONCATENATE("http://www.3cx.com/",callflow$.AudioFileName,".wav") and save it to CONCATENATE("C:\\3CXAudio\\",callflow$.AudioFileName) ?


    i tried "Read / Write to File" component by out putting binary wav and saving it to local , but that file is not playing (corrupted) , when i save the output as file directly from browser it works, but using this its writing in unicode or something and messing up ,
     
    #3 rsuren, Sep 21, 2017
    Last edited: Sep 21, 2017
  4. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    You usually use the HTTP Requests component to access URLs, but the problem is that this component will give you the returned data converted to string. And that's not what you need in this case, you need the binary bytes. We'll add a way to get the bytes as well as the string response. But meanwhile, the HTTP Requests component will not be useful for you...

    You will need to create a C# class to download the file and save it to the location you need. And then invoke this class using a Launch External Script component. You can use the following code for your C# file:
    Code:
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Net;
    using System.Net.Http;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace FileDownloader
    {
      public class FileDownloader
      {
        public void DownloadFile(string uri, string fileName)
        {
          using (HttpRequestMessage httpRequest = new HttpRequestMessage(HttpMethod.Get, uri))
          {
            using (HttpClient httpClient = new HttpClient())
            {
              using (HttpResponseMessage httpResponse = await httpClient.SendAsync(httpRequest))
              {
                byte[] byteArray = await httpResponse.Content.ReadAsByteArrayAsync();
                    using (FileStream stream = File.Open(fileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
                    {
                        stream.Write(byteArray, 0, byteArray.Length);
                    }
              }
            }
          }
        }
      }
    }
    
    Put that code in a file named "FileDownloader.cs" in the Libraries folder of your project. Then use a Launch External Script component to invoke it, passing the URL and the destination file name as parameters. After invoking this script, you should have the file in the specified location.

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    Actually, the code should be:
    Code:
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Net;
    using System.Net.Http;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace FileDownloader
    {
      public class FileDownloader
      {
        private async Task downloadFile(string uri, string fileName)
        {
          using (HttpRequestMessage httpRequest = new HttpRequestMessage(HttpMethod.Get, uri))
          {
            using (HttpClient httpClient = new HttpClient())
            {
              using (HttpResponseMessage httpResponse = await httpClient.SendAsync(httpRequest))
              {
                byte[] byteArray = await httpResponse.Content.ReadAsByteArrayAsync();
                using (FileStream stream = File.Open(fileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
                {
                    stream.Write(byteArray, 0, byteArray.Length);
                }
              }
            }
          }
        }
        
            public void DownloadFile(string uri, string fileName)
            {
                downloadFile(uri, fileName).Wait();
            }
      }
    }
    
    And then you invoke it like this:
    upload_2017-9-21_11-40-28.png

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    @edossantos , thanks a lot , i think there is bugs in VAD , bcs sometimes its stopping the 3cx queue service even, other times its going to error flow of vad, rarely its working. the total solution i mean.

    can you tell me how to use the logger component in VAD so i can provide you with data, if you want data or logs from other places let me know. .

    before web service i have added the sample component "play digits" even that doesnt play the numbers sometimes and goes to error flow..
     
  7. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    That seems to be some issue in your installation and not a bug in the CFD, otherwise we would be experiencing that behavior in other installations, and we are not...

    Please take a look at this guide for troubleshooting CFD apps:
    https://www.3cx.com/docs/manual/cfd-troubleshooting/

    The 3CXQueueManager.log file will give you some pointers on what's going on...

    If you need to use the Logger component to write down some specific information, you can do it. Just add the Logger component to the callflow, and configure it to log the information you want... In any case, the CFD apps already log a lot of information, so maybe just checking the logs without adding any additional information is enough to understand what's happening...

    Kind regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    Code:
    17/09/21 21:15:48.428|100049| Trc|75|0047|: PlugIn[myapp - WebInteractionComponent - CallID ORGWOMGGHFEG] Trace: End executing component with responseStatusCode='200' - responseContent: 1
    17/09/21 21:15:48.428|100049| Trc|75|0055|: PlugIn[myapp - SequenceContainer 'BookingIDReq_Conditional_ValidInput' - CallID ORGWOMGGHFEG] Trace: Start executing component 'SaveBookID'
    17/09/21 21:15:48.428|100049| Trc|75|0055|: PlugIn[myapp - WebInteractionComponent - CallID ORGWOMGGHFEG] Trace: Start executing component with uri='removed' - httpMethod='GET' - contentType='' - content''
    17/09/21 21:15:49.719|100049| Trc|75|0026|: PlugIn[myapp - WebInteractionComponent - CallID ORGWOMGGHFEG] Trace: End executing component with responseStatusCode='200' - responseContent: 0
    17/09/21 21:15:49.722|100049| Trc|75|0055|: PlugIn[myapp - SequenceContainer 'BookingIDReq_Conditional_ValidInput' - CallID ORGWOMGGHFEG] Trace: Start executing component 'CreateCondition1'
    17/09/21 21:15:49.722|100049| Trc|75|0055|: PlugIn[myapp - SequenceContainer 'CreateCondition1_0' - CallID ORGWOMGGHFEG] Trace: Start executing component 'LaunchExternalScript1'
    17/09/21 21:15:49.722|100049| Trc|75|0055|: PlugIn[myapp - ExternalCodeExecutionComponent - CallID ORGWOMGGHFEG] Trace: Start executing component with objectType='FileDownloader.FileDownloader' - methodName='DownloadFile'
    17/09/21 21:15:51.605|100050|Stat|75|0010|: Statistics:
    Poll processor state:
    =Normal requests:
    =Total: 0 requests / 0 active
    
    17/09/21 21:15:52.166|100049| Trc|75|0055|: PlugIn[myapp - ExternalCodeExecutionComponent - CallID ORGWOMGGHFEG] Trace: End executing component with returnValue:
    17/09/21 21:15:52.166|100049| Trc|75|0055|: PlugIn[myapp - SequenceContainer 'CreateCondition1_0' - CallID ORGWOMGGHFEG] Trace: Start executing component 'PromptPlayback1'
    17/09/21 21:15:52.169|100049| Trc|75|0055|: PlugIn[myapp - SequenceContainer 'CreateCondition1_0' - CallID ORGWOMGGHFEG] Trace: Start executing component 'UserInput2'
    17/09/21 21:15:52.169|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\1.wav
    17/09/21 21:15:52.170|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\0.wav
    17/09/21 21:15:52.170|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\6.wav
    17/09/21 21:15:52.170|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\6.wav
    17/09/21 21:15:52.170|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\7.wav
    17/09/21 21:15:52.170|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\2.wav
    17/09/21 21:15:52.170|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\106672.wav
    17/09/21 21:15:52.170|100049| Trc|75|0055|: PlugIn[myapp - PromptQueue - CallID ORGWOMGGHFEG] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\myapp\Audio\beep.wav

    according to the log everything should be working fine. but im not hearing any sound of those files playing mostly. even if it did its playing the numbers and rarely the downloaded file
     
  9. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    @edossantos , thanks again, format is correct i think but please check the ones i send you personally , otherwise it wont play some times know, plus in above log i shared earlier even 1.wav, 2.wav , etc... are not audible know which comes default with 3cx know. its blank and cutting off know, but rarely it works,

    its actually playing the file and but no sound for end user , i tried with other people also, plus i put the file as an DR it works normal know.
     
  11. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    Just confirmed that the files format is correct, so there should not be any problem to play them.

    Also, you mention that files are successfully played sometimes and sometimes not? When you don't hear the audio, is this only happening with the file you downloaded or with the numbers as well? I mean, you always hear all the files or no file at all? Or sometimes you hear some of the files and not the others?

    Can you check the log file "vce-resip.log" and tell me if you see any error when you play the files and there is no audio?

    Thanks.
    Ernesto.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6


    Yes, its with numbers as well but call is running for the play time and disconnecting (its no sound during that time) , if i hear i hear numbers sometimes, and rarely the downloaded file. ,

    i have attached the log and yes , only during the file play there are error in it
     

    Attached Files:

  13. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    The log you sent is very short and doesn't mention the wav files being played. Maybe you restarted the queue manager service after your call?

    Please reproduce the issue and then send the log again so we take a look.

    Thanks.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    Code:
    09-22 16:34:35.295|BizInterface.cpp(563): [1470]| e:\root15_5_sp1\sources\projects\common\voipfileengine\MusicBox.h(283) Remove obsolete data: listsize=7
    09-22 16:34:35.303|StatisticsMessage.cxx(98): [a9c]| RESIP:TRANSACTION
    TU summary: 0 TRANSPORT 0 TRANSACTION 0 CLIENTTX 29 SERVERTX 5 TIMERS 115
    Transaction summary: reqi 2810 reqo 31616 rspi 31651 rspo 3108
    Details: INVi 652/S285/F367 INVo 5937/S311/F6024 ACKi 652 ACKo 6279 BYEi 275/S275/F0 BYEo 296/S299/F0 CANi 368/S275/F0 CANo 2783/S2802/F2 MSGi 290/S0/F280 MSGo 0/S0/F0 OPTi 0/S0/F0 OPTo 0/S0/F0 REGi 0/S0/F0 REGo 15353/S7683/F7683 PUBi 0/S0/F0 PUBo 0/S0/F0 SUBi 0/S0/F0 SUBo 0/S0/F0 NOTi 573/S546/F27 NOTo 0/S0/F0 REFi 0/S0/F0 REFo 273/S273/F0 INFi 0/S0/F0 INFo 282/S282/F0 PRAi 0/S0/F0 PRAo 0/S0/F0 SERi 0/S0/F0 SERo 0/S0/F0 UPDi 0/S0/F0 UPDo 0/S0/F0
    Retransmissions: INVx 352 finx 0 nonx 0 BYEx 3 CANx 21 MSGx 0 OPTx 0 REGx 9 PUBx 0 SUBx 0 NOTx 0 REFx 35 INFx 0 PRAx 0 SERx 0 UPDx 0
    09-22 16:34:35.681|BizInterface.cpp(563): [df8]| e:\root15_5_sp1\sources\projects\common\voipfileengine\MusicBox.h(283) Remove obsolete data: listsize=7
    09-22 16:34:35.873|BizInterface.cpp(563): [126c]| e:\root15_5_sp1\sources\projects\common\voipfileengine\MusicBox.h(283) Remove obsolete data: listsize=7
    09-22 16:34:36.068|BizInterface.cpp(563): [1714]| e:\root15_5_sp1\sources\projects\common\voipfileengine\MusicBox.h(283) Remove obsolete data: listsize=7
    09-22 16:34:36.681|BizInterface.cpp(563): [df8]| e:\root15_5_sp1\sources\projects\common\voipfileengine\MusicBox.h(283) Remove obsolete data: listsize=7
     
  15. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    Is that everything you have in that file? Can you please enable verbose logging in 3CX?

    You should see something like:
    09-18 12:31:29.616|BizInterface.cpp(573): [17f0]| MemFileReader.cpp(136) Cached C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CFDAPP\Audio\filename.wav of size 76068

    Regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    ok i will get back on this, but meantime in VAD while my app is running from beginning to end , how can i record the call ?.

    i tried putting the my components in side the "record " component but its not recording it actually only recording the seconds we define in the start and than only even starting my rest of the flow. i couldnt figure out a way to record the call entirely while my flow is executing ?.

    update: i have sent you 2 log files for review.
     
    #16 rsuren, Sep 23, 2017
    Last edited: Sep 23, 2017
  17. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    Hi @rsuren

    I'll check the logs you send and get back to you.

    RE recording the call, it's not possible to record a call connected to a CFD app. Only calls to extensions can be recorded. The Record component will record audio from the caller, just like a voicemail does, but not the entire flow...

    Kind regards.
    Ernesto.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    I know what's going on. The audio files are not being played because they're interrupted by the # DTMF digit:

    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\7.wav
    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\2.wav
    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\0.wav
    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\8.wav
    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\7.wav
    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\1.wav
    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\720871.wav
    17/09/23 18:18:35.599|100049| Trc|75|0029|: PlugIn[CreditCard - PromptQueue - CallID VHDHYQRMSDHQ] Trace: Start playing file: C:\ProgramData\3CX\Instance1\Data\Ivr\Prompts\..\..\Voiceapps\CreditCard\Audio\beep.wav
    17/09/23 18:18:35.603|100046| Trc|75|0029|: DBG: Using prompts path '43E89581-DAD8-B6F4-7660-15D48B5E6026'
    17/09/23 18:18:35.603|100046| Trc|75|0029|: DBG: Playing: [[7.wav,2.wav,0.wav,8.wav,7.wav,1.wav,720871.wav,beep.wav]] to VHDHYQRMSDHQ
    17/09/23 18:18:35.606|100049| Trc|75|0029|: PlugIn[CreditCard - Callflow - MainFlow - CallID VHDHYQRMSDHQ] Trace: OnDTMFReceived for component 'BookingIDReq_Conditional'
    17/09/23 18:18:35.609|100049| Trc|75|0029|: PlugIn[CreditCard - SequenceContainer 'BookingIDReq_Conditional_ValidInput' - CallID VHDHYQRMSDHQ] Trace: OnDTMFReceived for component 'CheckRecordingCondition'
    17/09/23 18:18:35.609|100049| Trc|75|0029|: PlugIn[CreditCard - SequenceContainer 'CheckRecordingCondition_0' - CallID VHDHYQRMSDHQ] Trace: OnDTMFReceived for component 'ProceedtoCardConfirmInput'
    17/09/23 18:18:35.609|100049| Trc|75|0029|: PlugIn[CreditCard - UserInput 'ProceedtoCardConfirmInput' - CallID VHDHYQRMSDHQ] Trace: Digit detected: '#' - stopping playback
    17/09/23 18:18:35.610|100049| Trc|75|0029|: PlugIn[CreditCard - UserInput 'ProceedtoCardConfirmInput' - CallID VHDHYQRMSDHQ] Trace: Digit '#' is stop digit, but Buffer length is shorter than MinDigits, repeating user input...


    This is because how you configured the previous User Input component. You're setting MaxDigits = 6, and also setting the Stop Digit #. Then you entered "720871#", but you need to know that as soon as the User Input component has the number of digits specified in MaxDigits, it stops collecting them and moves on. Because of this, the stop digit # is left for the next User Input, and interrupts the audio files. If you want to be able to enter the #, then set MaxDigits to 7.

    As a rule of thumb, if you know exactly how many digits you need, for example always 6, then set MinDigits = MaxDigits = 6 and don't request the stop digit. The stop digit is useful when the number of digits is variable, in order to make the input faster, because after you enter the stop digit, the input ends without waiting for the timeout... But if you anyway want to let the user enter the stop digit, leave room for it when you set the MaxDigit value...

    Kind regards.
    Ernesto.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. rsuren

    Joined:
    Sep 21, 2017
    Messages:
    39
    Likes Received:
    6
    thanks @edossantos your a life saver , it seems to be working, 3 things ,
    1. so record call flow feature will it be done in future ?, (this is so that we can listen to customer experience and improve or if he complaints on something also we can check).
    2. How can i redirect to previous step or component based on condition ? (example checking orderID if exists after web service check normal flow, if invalid returned in web service , how to redirect back to initial step of asking for orderID ?).
    3. MinDigits = MaxDigits = 6 i did like this but after entering 6 digits there is a pause/time taken/ silence for 4 or 5 sec before next action is performed here "playback". how to reduce that time or might it instantly go to next action without waiting ?.
     
  20. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,449
    Likes Received:
    115
    Hi @rsuren,

    Glad to know that it's working as expected now.

    Reagarding your questions:
    This is not planned to be implemented as far as I know. But feel free to suggest the feature in the 3CX ideas site: https://www.3cx.com/ideas

    The only way to go back is using a Loop component. You put all your components into a Loop, and you set the loop Condition property to keep looping while you need.

    In that case, when you enter 6 digits the callflow moves to the Valid Input branch and starts executing the components inside. Maybe there is some component there which delays longer than necessary? A web service query for example? We would have to check the logs to confirm this. The behavior of the User Input component is moving forward immediately after getting MaxDigits digits...

    Regards.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
Thread Status:
Not open for further replies.