Объект Device/Методы/TransferCall: различия между версиями
		
		
		
		
		
		Перейти к навигации
		Перейти к поиску
		
				
		
		
	
| Jugin (обсуждение | вклад) | Jugin (обсуждение | вклад)  | ||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 14: | Строка 14: | ||
| |-   | |-   | ||
| |'''Target''' | |'''Target''' | ||
| | - номер телефона ( | | - номер телефона (или имя абонента, если таковое подразумевается устройством). Как правило для SIP протокола это стандартный URI в виде: <номер телефона/абонента>@<имя/адрес sip шлюза>. Либо   | ||
| устройство, с которым необходимо соединить текущее устройство. | устройство, с которым необходимо соединить текущее устройство. | ||
| |- | |- | ||
| Строка 66: | Строка 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