Поделиться через


Очереди вызовов и точки маршрутизации

Очередь вызовов или точка маршрута — это специальный адрес в коммутаторе, по которому вызовы временно удерживаются в ожидании действия. Эта характеристика представлена битами LINEADDRCAPFLAGS_QUEUE и LINEADDRCAPFLAGS_ROUTEPOINT в элементе dwAddrCapFlags в LINEADDRESSCAPS. Все вызовы, отображаемые по такому адресу, ожидают действий со стороны приложения, и могут выполняться действия по умолчанию (например, передача в агент или магистраль), если приложение не выполняет никаких действий в течение определенного периода времени. Системный администратор должен настроить приложение таким образом, чтобы оно знало, какие действия следует предпринять в отношении вызовов, отображаемых на каждом адресе очереди или точки маршрута, а также количество времени, доступное для принятия решения о действиях.

Приложения могут определить количество ожидающих вызовов в очереди или точке маршрута с помощью lineGetAddressStatus. Функция lineGetCallInfo может использоваться для получения таких сведений, как идентификатор вызова, идентификатор вызова, входящий или исходящий источник и т. д., и использоваться приложением для принятия решений об обработке вызовов; вызовы можно перенаправлять, передавать вслепую, удалять и т. д. или просто разрешать автоматически передаваться из очереди в место назначения. Вызов отправляется на LINECALLSTATE_DISCONNECTED, если он был прерван. Вызовы бездействуют при выходе из очереди; LineGetCallInfo можно использовать для чтения идентификатора перенаправления, чтобы определить, куда они были переданы.

Некоторые переключатели позволяют звонкам в очереди или на удержании получать определенные процедуры, такие как тишина, обратный звонок, сигнал занятости, музыка или прослушивание записанного объявления. Функция lineSetCallTreatment позволяет приложению управлять обработкой. Структура, разделенная элементами dwCallTreatmentListSize и dwCallTreatmentListOffset в LINEADDRESSCAPS , позволяет приложениям определять поддерживаемые методы обработки. Элемент dwCallTreatment в LINECALLINFO указывает на текущую обработку, а LINE_CALLINFO сообщение с LINECALLINFOSTATE_TREATMENT указывает, когда это изменится. Бит LINECALLFEATURE_SETTREATMENT в элементе dwCallFeatures в LINECALLSTATUS указывает, когда приложению разрешено изменять обработку. Набор LINECALLTREATMENT_ констант определяет ограниченный набор предопределенных методов обработки вызовов; поставщики услуг могут определять многое другое.