Объект Device/Методы/TransferCall: различия между версиями
Перейти к навигации
Перейти к поиску
McBurns (обсуждение | вклад) (Новая страница: «Метод '''TransferCall''' выполняет перенаправление звонка на другой номер и, если указано, выпол…») |
Jugin (обсуждение | вклад) |
||
(не показано 6 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
Метод '''TransferCall''' выполняет перенаправление звонка на другой номер и, если указано, выполняет ожидание голосового ответа абонента. | {| | ||
|- | |||
|style="width:90%;"|Метод '''TransferCall''' выполняет перенаправление звонка на другой номер и, если указано, выполняет ожидание голосового ответа абонента. | |||
==Синтаксис== | ==Синтаксис== | ||
:<syntaxhighlight lang="c"> | :<syntaxhighlight lang="c"> | ||
LONG TransferCall ( | LONG TransferCall (VARIANT Target, LONG Timeout) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|style="width:10%;"|__TOC__ | |||
|} | |||
==Параметры== | ==Параметры== | ||
:{|border="0" cellspacing="0" | :{|border="0" cellspacing="0" | ||
|- | |- | ||
|''' | |'''Target''' | ||
| номер телефона ( | | - номер телефона (или имя абонента, если таковое подразумевается устройством). Как правило для SIP протокола это стандартный URI в виде: <номер телефона/абонента>@<имя/адрес sip шлюза>. Либо | ||
устройство, с которым необходимо соединить текущее устройство. | |||
|- | |- | ||
|'''Timeout''' | |'''Timeout''' | ||
|время ожидания ответа абонента. Необязательный параметр. | | - время ожидания ответа абонента. Необязательный параметр. | ||
|- | |- | ||
| colspan="2"|''Если время ожидания указано, после набора номера выполняется ожидание голосового ответа абонента в течение указанного времени.'' | | colspan="2"|''Если время ожидания указано, после набора номера выполняется ожидание голосового ответа абонента в течение указанного времени.'' | ||
Строка 28: | Строка 33: | ||
|0 (0x00) | |0 (0x00) | ||
| переназначение завершено успешно/ответ абонента получен | | переназначение завершено успешно/ответ абонента получен | ||
|- | |||
|DEVICE_S_FAILED | |||
|1 (0x01) | |||
| ошибка переадресации звонка | |||
|- | |- | ||
|DEVICE_S_INTERRUPTED | |DEVICE_S_INTERRUPTED | ||
Строка 57: | Строка 66: | ||
Device.Say ("CallOffice"); | Device.Say ("CallOffice"); | ||
Device.TransferCall (NumberPhoneTransfer); | Device.TransferCall (NumberPhoneTransfer); | ||
} | |||
Device.HangUp (); | |||
Device.Close (); | |||
</syntaxhighlight> | |||
:Пример на JavaScript (переключение на другое устройство) | |||
<syntaxhighlight lang="javascript"> | |||
var Device = new ActiveXObject ("CallOffice.Device"); | |||
var NumberPhone = prompt ("Введите номер телефона",''); | |||
var NumberPhoneTransfer = prompt ("Введите номер перенаправляемого телефона",''); | |||
Device.Open (); | |||
var Result = Device.Dial (NumberPhone, 40); | |||
if (Result == 0){ | |||
Device.Say ("CallOffice"); | |||
var NewCall = new ActiveXObject ('CallOffice.Device'); // Создаём новое устройство | |||
NewCall.LogFile = 'NewCall.log'; // Если необходимо, включаем формирование журнала | |||
NewCall.OpenCall (Device); // Создаём новый вызов на текущем устройства | |||
if (NewCall.Dial ('<номер телефона>@<адрес SIP сервера>', 40) == 0) { // Набираем номер второго абонента и ждём ответа абонента 40 секунд, если второй абонент ответил | |||
NewCall.Say ('CallOffice.wav'); // Произносим второму абоненту звуковое сообщение | |||
Device.TransferCall (NewCall); // Соединяем первого и второго абонента | |||
} | |||
} | } | ||
Device.HangUp (); | Device.HangUp (); |
Текущая версия на 09:18, 31 октября 2018
Метод TransferCall выполняет перенаправление звонка на другой номер и, если указано, выполняет ожидание голосового ответа абонента.
Синтаксис
|
Параметры
Target - номер телефона (или имя абонента, если таковое подразумевается устройством). Как правило для SIP протокола это стандартный URI в виде: <номер телефона/абонента>@<имя/адрес sip шлюза>. Либо устройство, с которым необходимо соединить текущее устройство.
Timeout - время ожидания ответа абонента. Необязательный параметр. Если время ожидания указано, после набора номера выполняется ожидание голосового ответа абонента в течение указанного времени.
Результат
Название константы Значение Описание DEVICE_S_OK 0 (0x00) переназначение завершено успешно/ответ абонента получен DEVICE_S_FAILED 1 (0x01) ошибка переадресации звонка DEVICE_S_INTERRUPTED 4 (0x04) ожидание ответа абонента прервано DEVICE_S_TIMEOUT 5 (0x05) время ожидания ответа абонента истекло DEVICE_S_BUSY 6 (0x06) номер занят
Описание
- Метод осуществляет переключение звонка на другой номер или имя абонента. Если переназначение выполнено успешно и указано время ожидания ответа абонента, осуществляется распознавание голосового ответа абонента в течении указанного времени. Если время ожидания не указано, метод завершает работу сразу после переключения на указанный номер.
Примеры
- Пример на JavaScript
var Device = new ActiveXObject ("CallOffice.Device");
var NumberPhone = prompt ("Введите номер телефона",'');
var NumberPhoneTransfer = prompt ("Введите номер перенаправляемого телефона",'');
Device.Open ();
var Result = Device.Dial (NumberPhone, 40);
if (Result == 0){
Device.Say ("CallOffice");
Device.TransferCall (NumberPhoneTransfer);
}
Device.HangUp ();
Device.Close ();
- Пример на JavaScript (переключение на другое устройство)
var Device = new ActiveXObject ("CallOffice.Device");
var NumberPhone = prompt ("Введите номер телефона",'');
var NumberPhoneTransfer = prompt ("Введите номер перенаправляемого телефона",'');
Device.Open ();
var Result = Device.Dial (NumberPhone, 40);
if (Result == 0){
Device.Say ("CallOffice");
var NewCall = new ActiveXObject ('CallOffice.Device'); // Создаём новое устройство
NewCall.LogFile = 'NewCall.log'; // Если необходимо, включаем формирование журнала
NewCall.OpenCall (Device); // Создаём новый вызов на текущем устройства
if (NewCall.Dial ('<номер телефона>@<адрес SIP сервера>', 40) == 0) { // Набираем номер второго абонента и ждём ответа абонента 40 секунд, если второй абонент ответил
NewCall.Say ('CallOffice.wav'); // Произносим второму абоненту звуковое сообщение
Device.TransferCall (NewCall); // Соединяем первого и второго абонента
}
}
Device.HangUp ();
Device.Close ();
- Пример на VBScript
Dim Device
Set Device = CreateObject ("CallOffice.Device")
NumberPhone = prompt ("Введите номер телефона","")
NumberPhoneTransfer = prompt ("Введите номер перенаправляемого телефона","")
Device.Open
Result = Device.Dial (NumberPhone, 40)
if Result = 0 then
Device.Say "CallOffice"
Device.TransferCall NumberPhoneTransfer
end if
Device.HangUp
Device.Close