Example #1
0
 } else {
     if ($params["COMMAND"] == "HangupCall") {
         $res = Bitrix\Voximplant\CallTable::getList(array('filter' => array('=CALL_ID' => $params['CALL_ID'])));
         $userTimeout = array();
         if ($call = $res->fetch()) {
             $res = Bitrix\Voximplant\QueueTable::getList(array('filter' => array('=CONFIG_ID' => $call['CONFIG_ID'])));
             while ($queue = $res->fetch()) {
                 if ($call['TRANSFER_USER_ID'] == $queue['USER_ID']) {
                     continue;
                 }
                 $userTimeout[$queue['USER_ID']] = true;
                 CVoxImplantMain::SendPullEvent(array('COMMAND' => 'timeout', 'USER_ID' => $queue['USER_ID'], 'CALL_ID' => $call['CALL_ID'], 'MARK' => 'timeout_hit_3'));
             }
             if ($call['TRANSFER_USER_ID'] > 0) {
                 $userTimeout[$call['TRANSFER_USER_ID']] = true;
                 CVoxImplantTransfer::SendPullEvent(array('COMMAND' => 'timeoutTransfer', 'USER_ID' => $call['TRANSFER_USER_ID'], 'CALL_ID' => $call['CALL_ID']));
             }
             if ($call['PORTAL_USER_ID'] > 0 && !$userTimeout[$call['PORTAL_USER_ID']]) {
                 $userTimeout[$call['PORTAL_USER_ID']] = true;
                 CVoxImplantMain::SendPullEvent(array('COMMAND' => 'timeout', 'USER_ID' => $call['PORTAL_USER_ID'], 'CALL_ID' => $call['CALL_ID'], 'MARK' => 'timeout_hit_4'));
             }
             if ($call['USER_ID'] > 0 && !$userTimeout[$call['USER_ID']]) {
                 CVoxImplantMain::SendPullEvent(array('COMMAND' => 'timeout', 'USER_ID' => $call['USER_ID'], 'CALL_ID' => $call['CALL_ID'], 'MARK' => 'timeout_hit_5'));
             }
         } else {
             CVoxImplantMain::SendPullEvent(array('COMMAND' => 'timeout', 'USER_ID' => $params['USER_ID'], 'CALL_ID' => $params['CALL_ID'], 'MARK' => 'timeout_hit_6'));
         }
         CVoxImplantHistory::WriteToLog($call, 'PORTAL HANGUP');
         echo json_encode(array('result' => 'OK'));
     } else {
         if ($params["COMMAND"] == "GetNextAction") {
Example #2
0
                                         } 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']);
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Example #3
0
                                         } 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']);
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }