>Здравствуйте,
>>Никитин Андрей wrote:
>>День добрый!
>>
>>Сталкнулся с такой проблеммой, есть задача трансфера по списку номеров,
>>т.е. если номер не отвечает, то >>пробуем трансферить на следующий и так
>>далее.
>
>А как вы это делаете сейчас?
функция connectTo возвращает true, false (удачный, неудачный трансфер)
function connectTo(toWhom,useMixer) is
peerLeg = spawn BridgeCaller;
if peerLeg == null then
return false;
elif SendEvent(peerLeg,"from",RemoteURI()) != null then
return false;
elif SendEvent(peerLeg,"call",EmailToSIPURI(toWhom)) != null then
return false;
end if;
loop
input = readInput(2);
exitif isDictionary(input) or else input == "#";
end loop;
if not IsStartBridgeEvent(input) then
void(SendEvent(peerLeg,"stop",null));
return false;
end if;
if (useMixer ? AttachMixer(input) : AcceptBridge(input)) != null then
return false; end if;
loop
input = ReadInput(7200);
if input == "#" then
input = readInput(3);
if input == "#" then return BreakBridge() == null; end if;
end if;
if IsBreakBridgeEvent(input) then return true; end if;
if IsDisconnectEvent(input) then stop; end if;
end loop;
end function;
функцию взял из примера, не модифицировал
>
>>Все нормально если номер занят или отключен, но если на той стороне просто
>>не берут трубку, то CGP >>пытается дозвониться до победного.
>>
>>Есть ли возможность считать такие соединения неудачными по таймауту
>>(минута например) и переходить к >>следующему номеру?
>С помощью B2BUA приложения - можно. Только это будет не трансфер, а имеено
>бридж между двумя >программками (одна принимает звонок, вторая
>дозванивается.)
>-- Best regards,
>Dmitry Akindinov
Получено Mon Apr 16 11:29:45 2007
Этот архив был сгенерирован hypermail 2.1.8 : Mon 16 Apr 2007 - 16:13:33 MSD