• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_rest.php
  • Класс: CVoxImplantRestService
  • Вызов: CVoxImplantRestService::sipStatus
static function sipStatus($arParams)
{
	$permissions = SecurityPermissions::createWithCurrentUser();
	if (!$permissions->canPerform(SecurityPermissions::ENTITY_LINE, SecurityPermissions::ACTION_MODIFY))
	{
		throw new BitrixRestAccessException();
	}

	$arParams = array_change_key_case($arParams, CASE_UPPER);
	$arParams['REG_ID'] ??= null;

	$viSip = new CVoxImplantSip();
	$result = $viSip->GetSipRegistrations($arParams['REG_ID']);

	if (!$result)
	{
		throw new BitrixRestRestException($viSip->GetError()->msg, $viSip->GetError()->code, CRestServer::STATUS_WRONG_REQUEST);
	}

	$viSip->updateSipRegistrationStatus([
		'sip_registration_id' => $result->reg_id,
		'error_message' => $result->error_message,
		'status_code' => $result->status_code,
		'successful' => $result->status_result === 'success'
	]);

	return [
		'REG_ID' => $result->reg_id,
		'LAST_UPDATED' => $result->last_updated,
		'ERROR_MESSAGE' => $result->error_message,
		'STATUS_CODE' => $result->status_code,
		'STATUS_RESULT' => $result->status_result,
	];
}