• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_sip.php
  • Класс: CVoxImplantSip
  • Вызов: CVoxImplantSip::updateSipRegistrationStatus
public function updateSipRegistrationStatus(array $sipRegistration)
{
	$sipRegistrationId = (int)($sipRegistration['sip_registration_id'] ?? 0);
	if (!$sipRegistrationId)
	{
		return;
	}
	$sipData = $this->getSipData($sipRegistrationId);
	if (!$sipData || !isset($sipRegistration['status_code']))
	{
		return;
	}

	if((int)$sipData['REGISTRATION_STATUS_CODE'] !== (int)$sipRegistration['status_code'])
	{
		BitrixVoximplantSipStatusInformer::notifyStatusUpdate(
			$sipRegistration['successful'],
			[
				'#PROXY#' => $sipData['SERVER'],
				'#LOGIN#' => $sipData['LOGIN'],
				'#STATUS_CODE#' => $sipRegistration['status_code'],
				'#ERROR_MESSAGE#' => $sipRegistration['error_message'],
				'#PHONE_NAME#' => $sipData['PHONE_NAME'],
				'#PHONE_ID#' => $sipData['PHONE_ID']
			]
		);

		BitrixVoximplantSipTable::update(
			$sipData['ID'],
			[
				'REGISTRATION_STATUS_CODE' => $sipRegistration['status_code'],
				'REGISTRATION_ERROR_MESSAGE' => $sipRegistration['error_message']
			]
		);
	}

}