Уведомление о занятости, Call Waiting

Раздел "Кастомизация системных файлов"
  1. Перейдите к редактированию файла "modules.conf"

Редактирование файла "modules.conf"
  1. Добавьте в конец файла следующий код:

load => func_extstate.so
Код для "modules.conf"
  1. Перейдите к редактированию файла "extensions.conf"

Редактирование файла "extensions.conf"
  1. Добавьте в конец файла следующий код:

[internal-users-custom]
exten => _X!,1,Progress()
  same => n,ExecIf($["${EXTENSION_STATE(${EXTEN})@internal-hints}" = "INUSE" || "${EXTENSION_STATE(${EXTEN}@internal-hints)}" = "RINGINUSE"]?Playback(beep))
  same => n,ExecIf($["${EXTENSION_STATE(${EXTEN})@internal-hints}" = "INUSE" || "${EXTENSION_STATE(${EXTEN}@internal-hints)}" = "RINGINUSE"]?Set(TRANSFER_OPTIONS=${TRANSFER_OPTIONS}m))
    same => n,return
Код для "extensions.conf"
  1. В карточке сотрудника, в поле «Расширенные настройки» - «Дополнительные параметры» установите значение

[endpoint]
device_state_busy_at = 3

Если сотрудник будет занят, то звонящему будет проигран файл beep (короткий гудок), затем вместо гудков будет проигрываться музыка, пока сотрудник не ответит на вызов

В случае некорректной работы решения задачи, измените код в extensions.conf на:

[internal-users-custom]
exten => _X!,1,Progress()
same => n,NoOp(${EXTEN})
same => n,NoOp(${DEVICE_STATE(PJSIP/${EXTEN})})
same => n,ExecIf($["${DEVICE_STATE(PJSIP/${EXTEN})}" = "INUSE" || "${DEVICE_STATE(PJSIP/${EXTEN})}" = "RINGINUSE"]?Background(nomer&zanjat))
same => n,ExecIf($["${DEVICE_STATE(PJSIP/${EXTEN})}" = "INUSE" || "${DEVICE_STATE(PJSIP/${EXTEN})}" = "RINGINUSE"]?Set(TRANSFER_OPTIONS=${TRANSFER_OPTIONS}m(callwaiting)))
same => n,return

Last updated

Was this helpful?