Функция CHANNEL()


Описание

CHANNEL(item[,args])

Назначение

Получение или установка различной информации связанной с каналом.

Параметр "item" (для всех каналов) может быть следующим:

  • audioreadformat - (значение только для чтения) Формат, который в данный момент используется для приема аудиоданных.
  • audionativeformat - (значение только для чтения) нативный формат, используемый для аудиоданных.
  • audiowriteformat - (значение только для чтения) Формат, который в данный момент используется для передачи аудиоданных.
  • callgroup - (чтение/запись) группа для перехвата входящих вызовов (call pickup).
  • channeltype - (значение только для чтения) технология канала связи.
  • language - (чтение/запись) установленный язык для проигрывания звуковых фалов.
  • musicclass - (чтение/запись) Класс музыки ожидания (описанный в файле musiconhold.conf).
  • rxgain - (чтение/запись) получение/установка уровня принимаемого сигнала для драйверов, которые это поддерживают.
  • state - (значение только для чтения) состояние канала.
  • tonezone - (значение только для чтения) временная зона, используемая при генерации различных сигналов.
  • txgain - (чтение/запись) получение/установка уровня передаваемого сигнала для драйверов, которые это поддерживают.
  • videonativeformat - (значение только для чтения) нативный формат, используемый для видеоданных.

Для канала chan_sip могут использоваться следующие дополнительные опции:


  • rtpqos - (значение только для чтения) Получение информации о QOS RTP потока.
Для этой опции требуются два дополнительных аргумента:
  • Аргумент 1:
    • audio - Получение данных о аудиопотоке.
    • video - Получение данных о видеопотоке.
    • text - (начиная с версии 1.6) Получение данных о текстовом потоке.
  • Аргумент 2:
    • local_ssrc - Локальное значение SSRC (stream ID).
    • local_lostpackets - Количество потерянных пакетов на локальной машине.
    • local_jitter - Локально рассчитанный размер jitter буфера.
    • local_count - Количество принятых пакетов.
    • remote_ssrc - Значение SSRC удаленной системы (stream ID).
    • remote_lostpackets - Количество потерянных пакетов на удаленной машине.
    • remote_jitter - Размер jitter буфера на удаленной системе.
    • remote_count - Количество переданных пакетов.
    • rtt - Round trip time (время задержки).
    • all - Вся статистика (в формате удобном для протоколирования, но не для разборки и обработки).

  • rtpdest - (значение только для чтения) (начиная с версии 1.6) Получение информации о RTP потоке с удаленной системы.
Для этой опции требуются один дополнительный аргумент:
  • Аргумент 1:
    • audio - Получение данных о аудиопотоке.
    • video - Получение данных о видеопотоке.


Для канала chan_iax2 (начиная с версии 1.6) могут использоваться следующие дополнительные опции:


  • osptoken - (чтение/запись) Получение или установка значения токена OSP для текущего вызова.


Замечания.

  • Параметры помеченные как "чтение/запись" могут быть как прочитаны, так и установлены.
  • Из результата CLI команды: "show function CHANNEL" видно, что:
    • Могут также быть и дополнительные значения для параметра "item", которые зависят от используемого драйвера канала. Более детальную информацию можно найти в документации на драйвер канала.
    • Любой запрос на параметр, который не доступен для текущего канала, вернет пустую строку.

Возвращаемые значения

Возвращает строку с результатом.

Примеры:

exten => s,1,Set(foo=${CHANNEL(channeltype)})

exten => s,1,Set(CHANNEL(callgroup)=g3)

Ссылки по теме: