Re: Состояние абонента

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Wed 16 Dec 2009 - 11:59:29 MSK

Здравствуйте,

Subscriber wrote:
> Необходимо реализовать активную очередь звонков, из-за этого возник
> вопрос есть ли какой-то стандартный функционал, который позволяет узнать > состояние вызываемого абонента, есть ли у него активные сессии или нет?

Есть недокументированная ещё функция ReadCallInfo - она позволяет считывать информацию SIP "dialog" package из аккаунтов. Пример её использования можно найти в коде pickup.sppr

Есть кое-какие наработки для активной обработки очередей звонков (скрипт пытается периодически найти незанятого звонками агента и перевести звонок на него). Напишите на support@stalker.com - вышлем. Пример кода оттуда (routed - это полное имя аккаунта, про который мы хотим узнать, занят он в звонках или нет), возможно его вам будет достаточно:

callInfo = ReadCallInfo(routed);
busy = false;
if IsDictionary(callInfo) and then Length(callInfo) > 0 then

   xCall = 0; while not busy and then xCall < Length(callInfo) loop

     theSegment = callInfo.(callInfo[xCall]);
     theCall    = theSegment.("");
     if theCall.connected != null then busy = true; end if;
   exitif busy;
     xCall += 1;

   end loop;
end if;
-- 
Best regards,
Dmitry Akindinov -- Stalker Labs.
Получено Wed Dec 16 08:59:38 2009

Этот архив был сгенерирован hypermail 2.1.8 : Wed 16 Dec 2009 - 12:14:39 MSK