Re: Исключение определенных номеров из донабора

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Tue 16 Jul 2013 - 22:04:18 MSK

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

On 2013-07-16 21:26, alex sss wrote:
> Доброго времени суток!
>
> Есть инстанция коммунигейта 6.0.5. Входящий звонок обрабатывается
> аккаунтом pbx. В процессе обработки входящего звонка есть возможность
> донабрать внутренний номер.
> Возникла необходимость исключить часть внутренних номеров из донабора.
> Как это сделать?

1. Решение "в лоб": подправить reception.sppi, определив массивчик запрещённых "экстеншенов" в начале скрипта (в начале функции doSwitchBoard)

forbidden = TextToObject("(222,252,267)");

и потом в строках 119-120

       if IsString(command) then
         toCall = prefix + command;

добавить
         if Find(toCall,forbidden) >= 0 then toCall = "error"; end if;

2. Чуть красивее: определить группу forbidden, запретить почту и звонки в неё, добавить в неё аккаунты, на которые нельзя звонить через автосекретаря. В reception.sppi поправить функцию

function connectTo(toWhom) is

добавив в её начало код:

forbidden = ReadGroupMembers("forbidden@" + MyDomain()); if isArray(forbidden) then

   index = Length(forbidden);
   toWhomRoute = RouteAddress(toWhom,"signal");    while index > 0 loop

     index -= 1;
     if RouteAddress(forbidden[index],"signal") == toWhomRoute then
       return false;
     end if;

   end loop;
end if;

> Заранее благодарю.

Не проверял, но должно сработать.

-- 
Best regards,
Dmitry Akindinov
Получено Tue Jul 16 18:04:33 2013

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:17:36 MSK