Twilio, при входящих вызовах, когда я ставлю вызов во второй раз, статус вызова родителей завершается

Twilio, при входящих вызовах, когда я ставлю вызов в очередь, статус вызова во второй раз завершается. Но музыка удержания по-прежнему воспроизводится на обеих сторонах вызова. Вот мой код для обновления вызовов. (Отмена удержания в первый раз работает нормально, но при попытке для удержания во второй раз происходит удержание, но когда я получаю информацию о вызове по callid, статус вызова завершается.)

function hold_call($parentCallSid,$action='hold'){
        echo $parentCallSid;
        $admin_id = get_current_user_id();
        $childCalls = $this->client->calls->read(array("ParentCallSid" => $parentCallSid));
        $childCallSid = $childCalls[0]->sid;
        $rr = array(
            "url" => "url/TwiML/hold_unhold.php?action=$action&admin_id=".$admin_id,
            "method" => "POST"
        );
   // echo 'CallSid-> '.$childCallSid;
        $call = $this->client->calls($childCallSid)->update($rr);
        $call1 = $this->client->calls($parentCallSid)->fetch();
        print_r($call);
        print_r($call1);
        //return $call->to;
    }
    function unhold_call($parentCallSid,$action='unhold'){
        //echo $parentCallSid;
        $admin_id = get_current_user_id();
        $rr = array(
            "url" => "url/hold_unhold.php?action=$action&admin_id=".$admin_id,
            "method" => "POST"
        );
        //$call = $this->client->calls->read(array("ParentCallSid" => 'CA9631b87ec900aaa309f1847872cf0da3'));

        $call1 = $this->client->calls($parentCallSid)->update($rr);


        print_r($call1);
        //return $call->to;
    }

на hol_unhold.php

 if($_REQUEST['action']=='hold'){
            ?>
        <Response>
      <Enqueue waitUrl="adHoldmusic.xml"><?php echo $_REQUEST['admin_id']  ?></Enqueue>

    </Response>
        <?php }else{
        ?>
            <Response>
        <Dial>
            <Queue><?php echo $_REQUEST['admin_id']  ?></Queue>
        </Dial>
        <Play loop="0"><?php echo $hold_music;?></Play>
        </Response>
    <?php   }

а для приема звонка я использую этот twiml-

<Response>
        <Dial>
            <Client statusCallbackEvent="initiated ringing answered completed" statusCallback="twilio_call_notification_handler.php" statusCallbackMethod="POST"><?php echo isset($numbers[$_REQUEST['Called']]) ? $numbers[$_REQUEST['Called']] : 'new'; ?></Client>
        </Dial>
       <Play loop="0"><?php echo $hold_music;?></Play>

    </Response> 

person John Ambrose    schedule 27.02.2017    source источник
comment
Вы говорите, что один вызов зависает, когда вы просто получаете данные о нем?   -  person philnash    schedule 27.02.2017
comment
спасибо за ответ. При извлечении данных с использованием parentcallsid статус вызова отображается как завершенный сразу после постановки в очередь во второй раз.   -  person John Ambrose    schedule 27.02.2017
comment
Это вполне может быть связано с тем, что исходный <Dial> завершен, хотя вызов продолжается. Можете ли вы отменить вызовы и присоединиться к ним во второй раз?   -  person philnash    schedule 27.02.2017
comment
Нет, когда я пытаюсь разблокировать его во второй раз, функция обновления выдает ошибку «Вызов не выполняется». Невозможно перенаправить   -  person John Ambrose    schedule 27.02.2017
comment
весь сценарий заключается в том, что я создаю вызов, используя номер, например +15555555555, с остальным API, затем, когда пользователь отвечает на вызов, я проверяю, является ли он человеком, затем снова набираю тот же номер +15555555555 (эта идея появилась здесь - [stackoverflow.com/questions/42417185/), чтобы связать его с пользователем. и затем я делаю все это удержание и отменить этот новый вызов.   -  person John Ambrose    schedule 27.02.2017
comment
Если человек уже ответил на звонок, повторный набор номера не поможет. Что вы хотите сделать, если это человек?   -  person philnash    schedule 02.03.2017
comment
Я хочу, чтобы человек соединился со мной.//Например, если я звоню, используя номер +155555555555 через REST API, и человек отвечает на звонок, тогда человек должен соединиться с номером +1555555555.//   -  person John Ambrose    schedule 02.03.2017