Карточка звонка

Для управления карточкой звонка желательно ознакомиться со сценариями.

Общее описание

Рассмотрим карточку звонка:

sip_app1

Чтобы изменить заголовок карточки (область 1), требуется вызвать метод CallCardSetCardTitle и передать объект со свойством title.

BX24.placement.call('CallCardSetCardTitle', { title: 'Card Title' }, () => {
            // some code
        });
        

Чтобы изменить текст в области 2, требуется вызвать метод CallCardSetStatusText и передать объект со свойством statusText.

BX24.placement.call('CallCardSetStatusText', { statusText: 'Status Text' }, () => {
            // some code
        });
        

Всего у карточки звонка 12 состояний интерфейса. Получить их можно с помощью вызова метода CallCardGetListUiStates. В функцию обратного вызова будет передан массив с доступными состояниями карточки звонка.

BX24.placement.call('CallCardGetListUiStates', {}, (data) => {
            console.log(data);
        });
        

Переход на другое состояние карточки осуществляется вызовом метода CallCardSetUiState с передачей туда объекта со свойством uiState.

BX24.placement.call('CallCardSetUiState', { uiState: 'connected' }, () => {
            // some code
        });
        

Чтобы обрабатывать нажатия оператором кнопок в карточке звонка, требуется подписаться на соответствующие события.

Состояния карточки

Состояние

Описание

Обрабатывается нажатие кнопок

incoming

Для принятия входящих звонков

  • Ответить - BackgroundCallCard::answerButtonClick
  • Пропустить - BackgroundCallCard::skipButtonClick

transferIncoming

Для принятия перенаправленного входящего вызова

  • Ответить - BackgroundCallCard::answerButtonClick
  • Пропустить - BackgroundCallCard::skipButtonClick

outgoing

Для показа карточки исходящего звонка

  • Позвонить - BackgroundCallCard::makeCallButtonClick

connectingIncoming

Для показа карточки в момент подключения к входящему звонку

  • Завершить - BackgroundCallCard::hangupButtonClick

connectingOutgoing

Для показа карточки в момент подключения к исходящему звонку

  • Завершить - BackgroundCallCard::hangupButtonClick

connected

Для показа после подключения к звонку

  • Завершить - BackgroundCallCard::hangupButtonClick
  • Поставить на удержание - BackgroundCallCard::holdButtonClick
  • Выключить микрофон - BackgroundCallCard::muteButtonClick
  • Перенаправить на другого оператора - BackgroundCallCard::transferButtonClick
  • Нажатие на кнопки цифровой клавиатуры - BackgroundCallCard::dialpadButtonClick
  • Оценить качество связи - BackgroundCallCard::qualityMeterClick

transferring

Для подтверждения перенаправления звонка на другого оператора

  • Перенаправить - BackgroundCallCard::completeTransferButtonClick
  • Вернуться к звонку - BackgroundCallCard::cancelTransferButtonClick

transferFailed

Если перенаправить звонок не получилось

  • Вернуться к звонку - BackgroundCallCard::cancelTransferButtonClick

transferConnected

Если перенаправление завершилось успешно и требуется выйти из карточки звонка

  • Завершить - BackgroundCallCard::hangupButtonClick

error

Если произошла некоторая ошибка

  • Закрыть - BackgroundCallCard::closeButtonClick

moneyError

Если на счету закончились деньги и требуется проинформировать об этом администратора портала

  • Уведомить администратора - BackgroundCallCard::notifyAdminButtonClick
  • Закрыть - BackgroundCallCard::closeButtonClick

redial

Если абонент занят, дать возможность оператору повторно позвонить на этот номер, не скрывая карточку звонка

  • Перезвонить - BackgroundCallCard::makeCallButtonClick

Таймер в карточке звонка

По умолчанию, при переходе на состояние connected автоматически включается таймер звонка. Данное поведение можно отключить, передав помимо uiState: 'connected' еще свойство disableAutoStartTimer со значением true. При переходе же на другие состояния таймер будет останавливаться.

incoming

transferIncoming

outgoing

connectingIncoming

connectingOutgoing

connected

transferring

transferFailed

transferConnected

error

moneyError

redial