Call index question

Discussion in 'Call Flow Designer' started by tratz, Aug 11, 2017.

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

    tratz New Member

    Joined:
    Oct 21, 2015
    Messages:
    109
    Likes Received:
    15
    I am a little confused and just want some clarification. Looking at the example for the outbound call dialer, you used a Callindex and in the documentation you stated that it is a global variable for all dialers. My question is it for the all of the dialers within that app or all of the dialers running on the PBX? Since CFD has been built, i wanted to build out an outbound dialer to alert staff in case of emergency (severe weather, etc.). I may want to have multiple dialer applications running from one PBX (using different text files). I just want to make sure that the example given will work on multiple apps on the same server and keeps the scope of the variable within the app.

    One other question: How do i reset the call index variable? Do i restart the queue service

    --Tracy
     
  2. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,361
    Likes Received:
    109
    Hi Tracy,

    Well, that variable is a C# static variable, which lives in the DLL of this specific project. That means that if you have different CFD projects, they will NOT share this variable. The variable is shared between the "parallel dialers" of this specific project. For example, the demo project we provide specifies 5 parallel dialers, that means that you have 5 different threads making calls, and they all share this variable.

    So, as soon as you use different CFD projects, the variables will not be shared, even if all these dialers are deployed to the same 3CX server.

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

    tratz New Member

    Joined:
    Oct 21, 2015
    Messages:
    109
    Likes Received:
    15
    Ernesto:

    Thanks for the response. The other question i had is resetting the index. If i replace the file or have it read from a database, how do i reset the index of the line it read? DO i just restart the queue service or is there another way to see the index variable or reset it?

    --Tracy
     
  4. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,361
    Likes Received:
    109
    Hi Tracy,

    You don't need to restart the queue mananger service. If you look at the dialer demo project, there is a component named "incrementCallIndex", which sets the value of the index to a specific value. In that case we're incrementing the index, but you can use the same approach to set it to the value you want.

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

    tratz New Member

    Joined:
    Oct 21, 2015
    Messages:
    109
    Likes Received:
    15
    Ernesto:

    I get that but here is why i am asking. Since the machines do run on windows and linux, the PBXes do get restarted since the variable isn't stored anywhere except within the dialer, would the callindex be wiped out. I just wanted to know in case it isn't persistent case in point. An example would be for a doctors office for outbound dialer to call customers to remind customers of their appointment. The office is open from 9 - 5 and the dialer is active from 11 - 5. There are 400 numbers for the doctors office to call. It gets through 300 of them during office hours (index = 300). That night the machine reboots for updates. Does it know to start at 301 or does it start at 1?

    --Tracy
     
  6. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,361
    Likes Received:
    109
    Hi Tracy,

    OK, now I understand what you need. In the sample provided, the variable value is in memory, so it will be set to 0 the next time the service starts. If you need to make it persistant, then you need to save that value somewhere, it could be a file, a database, a web service, whatever you decide.

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