|
Здравствуйте,
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
|
|