Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

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

ответил 2014-10-21 09:46:41 +0400

CallCenterCoder Gravatar CallCenterCoder

Самый простой способ определить какой канал Caller, а какой Called:
Для этого можно проанализировать UniqueID, а он генерируется инкрементированно. По сути основа UID это время создания канала.
Когда в множестве каналов один канал c UniqueID равен BridgedUniqueID друого канала, то можно рассматривать эти два канала как пару каналов Caller, Called.
Следовательно если в паре каналов где у оного из каналов в паре значение UniqueID меньше чем у другого, то этот канал инициатор - Caller, если меньше, то Called.
Ещё можно анализировать контекст и т.п., но на практике это оказалось избыточным ибо простой метод оказался исчерпывающим ))

Самый простой способ определить какой канал Caller, а какой Called:
Для этого можно проанализировать UniqueID, а он генерируется инкрементированно. По сути основа UID это время создания канала.
Когда в во множестве каналов один канал c у одного канала UniqueID равен BridgedUniqueID друого канала, то можно рассматривать эти два канала как пару каналов Caller, Called.
Следовательно если в паре каналов где у оного из каналов в паре значение UniqueID меньше чем у другого, то этот канал инициатор - Caller, если меньше, то Called.
Ещё можно анализировать контекст и т.п., но на практике это оказалось избыточным ибо простой метод оказался исчерпывающим ))

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.