Call Flow Help

Discussion in 'Call Flow Designer' started by Yama1990, Jun 5, 2017.

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

    Joined:
    May 10, 2017
    Messages:
    5
    Likes Received:
    1
    Hi,

    I need some help with a difficult call flow design. I got multipul DID's, and each DID has is own deparment. But I got also many reseller from diffirent country's calling to my DID's. I want to route inbound calls based on dialed DID from caller-id (+32*) to diffirent IVR's. Example:

    A german (caller-id +49*) reseller calling the sales deparment met with DID +31725235230, i want this resller to my german IVR with german message.

    A Belgium (caller-id +32*) reseller calling the Support deparment met with DID +31725235231, i want this resller to my german IVR with Belgium message.

    All other reseller calling with any caller-id to any DID i want to route to my default IVR.

    Can some one support me with this issue?
     
  2. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,055
    Likes Received:
    75
    Hi @Yama1990,

    From the 3CX configuration you can choose different IVRs for different DIDs. You don't need a CFD app for that.

    But if you need to also consider how the CID starts, then a CFD app is a good fit. To do this, you need a "Create a Condition" component. This component has as many branches as you need. Each branch has a Condition property, and when that condition is met, the branch is executed. This article explains this for different time conditions:
    https://www.3cx.com/docs/cfd-routing-calls-time-day/

    You need to do something very similar to that, but instead of using time conditions, you need to create conditions that evaluate to true when the Caller ID starts with a specific prefix. For example, a Condition to check if the Caller ID starts with +32 could be the following:
    EQUAL(LEFT(session.ani,3),"+32")

    In that case, you can transfer the call to the destination you need, or from that point play messages in a specific language...

    Please give it a try and let us know if you have any questions.

    Kind regards.
    Ernesto.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Yama1990

    Joined:
    May 10, 2017
    Messages:
    5
    Likes Received:
    1
    Hi@edossantos

    Thanks for your message. But I made a mistake in my question and what I meant exactly. The thing I really need help with is that I have a company with 2 DID's. These two DID's mainly receive calls from two different countries. There are separate messages for both countries. What I really would like is that at first it looks at the DID and then it checks the caller-ID. And that it then forwards it to the right messages regarding to the correct country. An example:

    I have a DID (+3175123214) and when there is an incoming call to this number, then after the DID check it also has to look at which country code is calling (caller-ID?). After that I want to forward it to the right IVR.

    Your example regarding to the CFD was a good one, except I miss the beginning. What I want is that at first it looks at which DID is calling and next which country code is calling to that DID.

    Can you help me perhaps by making a small project of this within the programm CFD? I have little to none experience with this program.

    Thanks in advance.

    Kinds Regards,

    Yama Mateen
     
    panas likes this.
  4. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Joined:
    Jun 27, 2007
    Messages:
    1,055
    Likes Received:
    75
    Hi @Yama1990,

    You have different options to do that. You can use a single "Create a condition" component, and configure it with conditions for both variables (that is, for each branch check the DID and the Caller ID), or another option could be having 2 "Create a condition" components, so in the first one you check the DID, and in the second one you check the Caller ID. You can do it in the way you want.

    The first scenario, using a single "Create a condition" component could be the easier way if you have just a few combinations. For example, in the first branch you might want to check if the DID is +3175123214 and the Caller ID starts with +32. To check these 2 variables in a single expression you can use:
    AND(EQUAL(LEFT(session.ani,3),"+32"), EQUAL(session.did,"+3175123214"))

    So in that branch, you add the Transfer component you need, to transfer the call to the desired destination for that condition (DID is +3175123214 and Caller ID starting with +32).

    In the same way, you can configure similar conditions for the following branches.

    Please note that we can't create the project for you. The tool is pretty simple to use, so please give it a try, play with it so you learn how to use it. We'll be here to assist you if you get stuck in the process.

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