- Модуль: 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']
]
);
}
}