Ejemplo n.º 1
0
 } else {
     if ($_POST['COMMAND'] == 'readyTransfer') {
         $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
         CVoxImplantTransfer::Ready($_POST['PARAMS']['CALL_ID']);
     } else {
         if ($_POST['COMMAND'] == 'answerTransfer') {
             $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
             CVoxImplantTransfer::Answer($_POST['PARAMS']['CALL_ID']);
         } else {
             if ($_POST['COMMAND'] == 'waitTransfer') {
                 $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
                 CVoxImplantTransfer::Wait($_POST['PARAMS']['CALL_ID']);
             } else {
                 if ($_POST['COMMAND'] == 'declineTransfer') {
                     $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
                     CVoxImplantTransfer::Decline($_POST['PARAMS']['CALL_ID']);
                 } else {
                     if ($_POST['COMMAND'] == 'cancelTransfer') {
                         $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
                         CVoxImplantTransfer::Cancel($_POST['PARAMS']['CALL_ID']);
                     } else {
                         if ($_POST['COMMAND'] == 'timeoutTransfer') {
                             $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
                             CVoxImplantTransfer::Timeout($_POST['PARAMS']['CALL_ID']);
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 } else {
     if ($params["COMMAND"] == "IncomingInvite") {
         $result = CVoxImplantIncoming::Init(array('SEARCH_ID' => $params['PHONE_NUMBER'], 'CALL_ID' => $params['CALL_ID'], 'CALLER_ID' => $params['CALLER_ID'], 'DIRECT_CODE' => $params['DIRECT_CODE'], 'ACCESS_URL' => $params['ACCESS_URL']));
         CVoxImplantHistory::WriteToLog($result, 'INCOMING INVITE: ANSWER');
         echo json_encode($result);
     } else {
         if ($params["COMMAND"] == "FailAnswer") {
             CVoxImplantMain::SendPullEvent(array('COMMAND' => 'timeout', 'USER_ID' => $params['USER_ID'], 'CALL_ID' => $params['CALL_ID'], 'MARK' => 'timeout_hit_1'));
             echo json_encode(array('result' => 'OK'));
         } else {
             if ($params["COMMAND"] == "TransferTimeout") {
                 CVoxImplantTransfer::Timeout($params['CALL_ID']);
                 echo json_encode(array('result' => 'OK'));
             } else {
                 if ($params["COMMAND"] == "TransferCancel") {
                     CVoxImplantTransfer::Decline($params['CALL_ID'], false);
                     echo json_encode(array('result' => 'OK'));
                 } else {
                     if ($params["COMMAND"] == "TransferComplete") {
                         CVoxImplantTransfer::Complete($params['CALL_ID'], $params['CALL_DEVICE']);
                         echo json_encode(array('result' => 'OK'));
                     } else {
                         if ($params["COMMAND"] == "StartCall") {
                             CVoxImplantMain::CallStart($params['CALL_ID'], $params['USER_ID'], $params['CALL_DEVICE'], $params['EXTERNAL'] == 'Y');
                             $res = Bitrix\Voximplant\CallTable::getList(array('filter' => array('=CALL_ID' => $params['CALL_ID'])));
                             if ($call = $res->fetch()) {
                                 if ($call['PORTAL_USER_ID'] <= 0) {
                                     $res = Bitrix\Voximplant\QueueTable::getList(array('filter' => array('=CONFIG_ID' => $call['CONFIG_ID'])));
                                     while ($queue = $res->fetch()) {
                                         if ($params['USER_ID'] == $queue['USER_ID'] || $call['PORTAL_USER_ID'] == $queue['USER_ID']) {
                                             continue;