(API) Making A Call From A Call Queue To An Ext Number

Discussion in '3CX Phone System - General' started by TylerM, Dec 4, 2014.

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

    Joined:
    Dec 4, 2014
    Messages:
    2
    Likes Received:
    0
    I'm trying to make it so client can submit their phone number to a web form and it connects them to one of our representatives. In my ideal world it calls our Round Robin via the MakeCall HTTP API and then whoever picks up gets connected to the target number.

    First idea: Simply do exactly that. make_call&from=8137074149&to=8008&pin=0909
    But this is impossible as you can't make a call from a queue. I imagine it's because you can't specify a password for them so there'd be no security.

    Second idea: Simple call an extension that has both a pin and is set to forward to the round robin.
    But no matter what I do, MakeCall doesn't seem to be forwardable by any mechanic. I imagine this is to prevent MakeCall from doing something unagreeable.

    Can someone steer me in the correct direction for creating such functionality in 3CX? I have a pro license so those features are available to me.
     
  2. lneblett

    lneblett Well-Known Member

    Joined:
    Sep 7, 2010
    Messages:
    2,083
    Likes Received:
    61
    Sorry, but I am having a problem following the desire.

    You start off by a client submitting their number via a web form. Somehow or another this connects them to a rep. Yet, the subject line of the thread is about making a call from a Q to an external number.

    From the next sentence I gather that the intent is for the system to somehow get the number that was on the webform and then, knowing to which Q the form or number was intended (assuming the possibility of more than one Q), the system would call the number back that was on the web form using one of the agents extensions who is logged into the Q of interest and available using the elected ring strategy - be it round robin, etc.. Does the latter sum up the intent? This is how I interpret it.

    I think the issue is because there is no call from the external party, then by definition, there is no Q. You simply want to make use of the agents within the applicable Q to accommodate the web from submission. And this is the rub, how do you know which agents are in same and available?

    If I am correct, then the challenges are:

    1. To which Q is the webform applicable? How are exceptions handled?
    2. What agents are in the Q of interest?
    3. What strategy is employed on the ring?
    4. To which agent is the call going to be associated?
    5. What if no agents are available?
    6. WIll the callee recognize the callback? Will they answer? As this is all automated, what happens if the make call is not successfully concluded for whatever reason?

    Make call is a command sent to the phone on the applicable extension to go off-hook and then dial. I think this is the easy part. The hard part is knowing which extension will be the lucky one to be selected.

    I likely did not grasp the desire correctly as I made some assumtions, so please feel free to elaborate some.
     
  3. TylerM

    Joined:
    Dec 4, 2014
    Messages:
    2
    Likes Received:
    0
    I believe you get the basic idea. But let me reiterate once more to ensure that.

    Number is submitted to the system.
    System performs round robin style selection to find an available representative.
    Representative receives a call from the system and answers.
    The system then dials the number submitted to the form.
    Once the other end is ringing, combine the calls. Act as normal from here.

    The exceptions can pretty much all be assumed to be the system's defaults for normal operation.
     
  4. lneblett

    lneblett Well-Known Member

    Joined:
    Sep 7, 2010
    Messages:
    2,083
    Likes Received:
    61
    Got it. So my assumptions were correct and therefore the challenges.

    As the various various Qs, strategies and agents associated thereto are all system settings, I do not believe that you can reach that deep with the API. Being externally driven, the application driving the 3CX system would have to know who is in the Q and their status in order to pass along the needed strings for a "make call: command. I don't think this is currently possible with the API set in place today.

    In your latest post, you are actually asking the system to make two calls, - the first being to the agent extension and then the second to the number from the web form. Then, presuming that the call is successful, you want to merge the calls.

    Your need is somewhat akin to the existing Q callback mechanism where a caller can opt out of the Q in favor of getting a call back when their turn arises.

    I don't who may have the knowledge to accomplish this, but you might try 3CX themselves or even Voip-Toys. It seems pretty custom to me, so I am uncertain how much of a market there may be. But, who knows?
     
Thread Status:
Not open for further replies.