Объект Device примеры использования: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «'''Обьект Device''' позволяет работать с устройством, доступным приложению Call Office. Список дос…»)
 
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''Обьект Device''' позволяет работать с устройством, доступным приложению Call Office. Список доступных устройств можно получить используя метод [[Объект_Device/Свойства/DeviceList|DeviceList]].
==Черновик. В режиме наполнения==
Перед тем как начать работу с устройством следует его открыть используя метод [[Объект_Device/Методы/Open|Open]]. Соответственно завершать работу с устройством следует методом [[Объект_Device/Методы/Close|Close]]. С открытым устройством можно выполнять различные действия, набор номера, ожидание входящего звонка, произнесение сообщения и т.д. вызывая соответствующие методы. Ряд методов устройства выполняются в отдельном потоке, что позволяет исключить зависание приложения на время работы метода. В процессе работы объект генерирует различные события подписаться на которые можно используя событие [[Объект_Device/OnProcess|OnProcess]]. Устройство позволяет формировать журнал своей работы. Управляется журнал свойством [[Объект_Device/Свойства/LogFile|LogFile]]. Некоторые функции объекта Device работают в [[Объект_Device/Асинхронный_режим|асинхронном режиме]].


{|border="0" style="width:100%;"
{|border="0" style="width:100%;"
|-  
|-  
|colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''[[Объект_Device/Методы|Методы]]'''
|colspan="20" style="background-color:#e0e0e0; width:100%;" cellpadding="0" cellspacing="0" align="center"|'''[[Объект_Device/Методы|Методы]]'''
|-
|colspan="20" style="background-color:#efefef; width:100%;" cellpadding="0" cellspacing="0" align="left"|'''Звонок абоненту'''
|-
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|colspan="4"|[[Объект_Device/Методы/Open|Метод Device::Open]]
|colspan="15"|''Метод Open открывает указанное устройство.''
|-
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|colspan="3"|[[Объект_Device/Методы/LogOn|Метод Device::LogOn]]
|colspan="15"|''Метод LogOn выполняет регистрацию абонента на SIP-сервере.''
|-
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|colspan="2"|[[Объект_Device/Методы/Dial|Метод Device::Dial]]
|colspan="15"|''Метод Dial выполняет набор номера телефона и, если указано, выполняет ожидание голосового ответа абонента.''
|-
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|[[Объект_Device/Методы/Say|Метод Device::Say]]
|colspan="15"|''Метод Say произносит сообщение.''
|-
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|colspan="2"|[[Объект_Device/Методы/HangUp|Метод Device::HangUp]]
|colspan="15"|''Метод HangUp заставляет устройство положить трубку.''
|-
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|colspan="3"|[[Объект_Device/Методы/LogOff|Метод Device::LogOff]]
|colspan="15"|''Метод LogOff выполняет разрегистрацию абонента на SIP-сервере.''
|-
|style="width:1px;background-color:#fafafa; color:#eeeeee;"|•
|colspan="4"|[[Объект_Device/Методы/Close|Метод Device::Close]]
|colspan="15"|''Метод Close закрывает устройство открытое методом Open.''
|-
|}
 
==Примеры==
:Примеры на JavaScript
<syntaxhighlight lang="javascript">
/* Пример передачи сообщения по указанному номеру телефона */
var Device = new ActiveXObject ('CallOffice.Device');                // Создаем объект устройство
 
Device.Open ();                                                      // Открываем устройство
 
if (Device.LogOn ('User', 'Pwd', 'Domain') == 0) {                  // Если регистрация успешная
 
  var Result = Device.Dial ('89998887766' + '@' + 'Domain', 40);    // Набираем номер и ожидаем 40 секунд, пока абонент снимет трубку
 
  if (Result == 0) {                                                // Если абонент поднял трубку
      Device.Say ('Сообщение');                                      // Произносим звуковой файл с именем Сообщение
  }
 
  Device.LogOff ();                                                // Разрегистрация на SIP-сервере
}
 
Device.HangUp ();                                                    // Кладем трубку 
Device.Close ();                                                    // Закрываем устройство
</syntaxhighlight>
 
:Примеры на VBScript
<syntaxhighlight lang="vb">
' Пример передачи сообщения по указанному номеру телефона
 
Dim Device
Set Device = CreateObject ("CallOffice.Device")                  ' Создаем объект устройство
 
Device.Open                                                      ' Открываем устройство
 
Result = Device.LogOn ("Login", "Pass", "Domain")                ' Регистрируемся на SIP-шлюзе
 
if Result = 0 then                                              ' Если регистрация успешная
  Result = Device.Dial (LoginDial, 40)                          ' Набираем номер и ожидаем 40 секунд, пока абонент снимет трубку
  if Result = 0 then                                            ' Если абонент поднял трубку
      Device.Say "Сообщение"                                    ' Произносим звуковой файл с именем Сообщение
  end if
  Device.LogOff                                                ' Разрегистрация на SIP-сервере
end if
 
Device.HangUp                                                    ' Кладем трубку 
Device.Close                                                    ' Закрываем устройство
</syntaxhighlight>
 
 
|style="background-color:#fbfbfb;"|[[Объект_Device/Методы/LogOn|Метод Device::LogOn]]
|colspan="2" style="background-color:#fbfbfb;"|''Метод LogOn выполняет регистрацию абонента на SIP-сервере.''
|-
|[[Объект_Device/Методы/LogOff|Метод Device::LogOff]]
|colspan="2"|''Метод LogOff выполняет разрегистрацию абонента на SIP-сервере.''
|-
|style="background-color:#fbfbfb;"|[[Объект_Device/Методы/Open|Метод Device::Open]]
|colspan="2" style="background-color:#fbfbfb;"|''Метод Open открывает указанное устройство.''
|-
|colspan="3" style="background-color:#efefef; width:100%;" cellpadding="0" cellspacing="0" align="left"|''''Вызов, ожидание вызова, отправка или получение сообщений'''
|-
|[[Объект_Device/Методы/Dial|Метод Device::Dial]]
|colspan="2"|''Метод Dial выполняет набор номера телефона и, если указано, выполняет ожидание голосового ответа абонента.''
|-
|style="background-color:#fbfbfb;"|[[Объект_Device/Методы/WaitForAnswer|Метод Device::WaitForAnswer]]*
|colspan="2" style="background-color:#fbfbfb;"|''Метод WaitForAnswer ожидает голосовой ответ абонента заданное время.''
|-
|[[Объект_Device/Методы/WaitForCall|Метод Device::WaitForCall]]*
|colspan="2"|''Метод WaitForCall ожидает входящий звонок заданное время.''
|-
|style="background-color:#fbfbfb;"|[[Объект_Device/Методы/WaitForIncoming|Метод Device::WaitForIncoming]]
|colspan="2" style="background-color:#fbfbfb;"|''Метод WaitForIncoming ожидает входящее событие.''
|-
|[[Объект_Device/Методы/SendSMS|Метод Device::SendSMS]]*
|colspan="2"|''Метод WaitForSMS ожидает входящее СМС заданное время.''
|-
|colspan="3" style="width:100%;" cellpadding="0" cellspacing="0" align="left"| *Метод устарел, следует использовать WaitForIncoming.
|}
|
|
|-
|[[Объект_Device/Методы/Say|Метод Device::Say]]
|[[Объект_Device/Методы/Talk|Метод Device::Talk]]
|
|
|
|
|-
|[[Объект_Device/Методы/ClearSignals|Метод Device::ClearSignals]]
|[[Объект_Device/Методы/SendCommand|Метод Device::SendCommand]]
|-
|colspan="3" style="background-color:#fafafa; width:100%;" cellpadding="0" cellspacing="0" align="left"|'''Вызов, ожидание вызова, отправка или получение сообщений'''
|}
|-
|-
|[[Объект_Device/Методы/About|Метод Device::About]]
|[[Объект_Device/Методы/About|Метод Device::About]]
|[[Объект_Device/Методы/LogOff|Метод Device::LogOff]]
|[[Объект_Device/Методы/StartDetectDTMF|Метод Device::StartDetectDTMF]]
|[[Объект_Device/Методы/StartDetectDTMF|Метод Device::StartDetectDTMF]]
|-
|-
|[[Объект_Device/Методы/Answer|Метод Device::Answer]]
|[[Объект_Device/Методы/Answer|Метод Device::Answer]]
|[[Объект_Device/Методы/LogOn|Метод Device::LogOn]]
|[[Объект_Device/Методы/StopAudioRecord|Метод Device::StopAudioRecord]]
|[[Объект_Device/Методы/StopAudioRecord|Метод Device::StopAudioRecord]]
|-
|-
|[[Объект_Device/Методы/Cancel|Метод Device::Cancel]]
|[[Объект_Device/Методы/Cancel|Метод Device::Cancel]]
|[[Объект_Device/Методы/Open|Метод Device::Open]]
|[[Объект_Device/Методы/StopDetectDTMF|Метод Device::StopDetectDTMF]]
|[[Объект_Device/Методы/StopDetectDTMF|Метод Device::StopDetectDTMF]]
|-
|-
Строка 21: Строка 149:
|[[Объект_Device/Методы/Quit|Метод Device::Quit]]
|[[Объект_Device/Методы/Quit|Метод Device::Quit]]
|[[Объект_Device/Методы/StopSpeechRecognition|Метод Device::StopSpeechRecognition]]
|[[Объект_Device/Методы/StopSpeechRecognition|Метод Device::StopSpeechRecognition]]
|-
|[[Объект_Device/Методы/Close|Метод Device::Close]]
|[[Объект_Device/Методы/Say|Метод Device::Say]]
|[[Объект_Device/Методы/Talk|Метод Device::Talk]]
|-
|-
|[[Объект_Device/Методы/DeleteSMS|Метод Device::DeleteSMS]]
|[[Объект_Device/Методы/DeleteSMS|Метод Device::DeleteSMS]]
Строка 30: Строка 154:
|[[Объект_Device/Методы/TextToSound|Метод Device::TextToSound]]
|[[Объект_Device/Методы/TextToSound|Метод Device::TextToSound]]
|-
|-
|[[Объект_Device/Методы/Dial|Метод Device::Dial]]
 
|[[Объект_Device/Методы/SelectFolder|Метод Device::SelectFolder]]
|[[Объект_Device/Методы/SelectFolder|Метод Device::SelectFolder]]
|[[Объект_Device/Методы/TransferCall|Метод Device::TransferCall]]
|[[Объект_Device/Методы/TransferCall|Метод Device::TransferCall]]
Строка 36: Строка 160:
|[[Объект_Device/Методы/GetBalance|Метод Device::GetBalance]]
|[[Объект_Device/Методы/GetBalance|Метод Device::GetBalance]]
|[[Объект_Device/Методы/SelectSound|Метод Device::SelectSound]]
|[[Объект_Device/Методы/SelectSound|Метод Device::SelectSound]]
|[[Объект_Device/Методы/WaitForAnswer|Метод Device::WaitForAnswer]]
|-
|[[Объект_Device/Методы/ClearSignals|Метод Device::ClearSignals]]
|[[Объект_Device/Методы/SendCommand|Метод Device::SendCommand]]
|[[Объект_Device/Методы/WaitForCall|Метод Device::WaitForCall]]
|-
|-
|[[Объект_Device/Методы/HangUp|Метод Device::HangUp]]
|[[Объект_Device/Методы/HangUp|Метод Device::HangUp]]
|[[Объект_Device/Методы/SendDTMF|Метод Device::SendDTMF]]
|[[Объект_Device/Методы/SendDTMF|Метод Device::SendDTMF]]
|[[Объект_Device/Методы/WaitForIncoming|Метод Device::WaitForIncoming]]
|-
|-
|[[Объект_Device/Методы/InLog|Метод Device::InLog]]
|[[Объект_Device/Методы/InLog|Метод Device::InLog]]

Текущая версия на 05:32, 25 ноября 2015

Черновик. В режиме наполнения

Методы
Звонок абоненту
Метод Device::Open Метод Open открывает указанное устройство.
Метод Device::LogOn Метод LogOn выполняет регистрацию абонента на SIP-сервере.
Метод Device::Dial Метод Dial выполняет набор номера телефона и, если указано, выполняет ожидание голосового ответа абонента.
Метод Device::Say Метод Say произносит сообщение.
Метод Device::HangUp Метод HangUp заставляет устройство положить трубку.
Метод Device::LogOff Метод LogOff выполняет разрегистрацию абонента на SIP-сервере.
Метод Device::Close Метод Close закрывает устройство открытое методом Open.

Примеры

Примеры на JavaScript
/* Пример передачи сообщения по указанному номеру телефона */
var Device = new ActiveXObject ('CallOffice.Device');                // Создаем объект устройство

Device.Open ();                                                      // Открываем устройство

if (Device.LogOn ('User', 'Pwd', 'Domain') == 0) {                   // Если регистрация успешная

   var Result = Device.Dial ('89998887766' + '@' + 'Domain', 40);    // Набираем номер и ожидаем 40 секунд, пока абонент снимет трубку

   if (Result == 0) {                                                // Если абонент поднял трубку
      Device.Say ('Сообщение');                                      // Произносим звуковой файл с именем Сообщение
   }

   Device.LogOff ();                                                 // Разрегистрация на SIP-сервере
}

Device.HangUp ();                                                    // Кладем трубку   
Device.Close ();                                                     // Закрываем устройство
Примеры на VBScript
' Пример передачи сообщения по указанному номеру телефона 

Dim Device
Set Device = CreateObject ("CallOffice.Device")                  ' Создаем объект устройство

Device.Open                                                      ' Открываем устройство

Result = Device.LogOn ("Login", "Pass", "Domain")                ' Регистрируемся на SIP-шлюзе

if Result = 0 then                                               ' Если регистрация успешная
   Result = Device.Dial (LoginDial, 40)                          ' Набираем номер и ожидаем 40 секунд, пока абонент снимет трубку
   if Result = 0 then                                            ' Если абонент поднял трубку
      Device.Say "Сообщение"                                     ' Произносим звуковой файл с именем Сообщение
   end if
   Device.LogOff                                                 ' Разрегистрация на SIP-сервере
end if

Device.HangUp                                                    ' Кладем трубку   
Device.Close                                                     ' Закрываем устройство


|style="background-color:#fbfbfb;"|Метод Device::LogOn |colspan="2" style="background-color:#fbfbfb;"|Метод LogOn выполняет регистрацию абонента на SIP-сервере. |- |Метод Device::LogOff |colspan="2"|Метод LogOff выполняет разрегистрацию абонента на SIP-сервере. |- |style="background-color:#fbfbfb;"|Метод Device::Open |colspan="2" style="background-color:#fbfbfb;"|Метод Open открывает указанное устройство. |- |colspan="3" style="background-color:#efefef; width:100%;" cellpadding="0" cellspacing="0" align="left"|'Вызов, ожидание вызова, отправка или получение сообщений |- |Метод Device::Dial |colspan="2"|Метод Dial выполняет набор номера телефона и, если указано, выполняет ожидание голосового ответа абонента. |- |style="background-color:#fbfbfb;"|Метод Device::WaitForAnswer* |colspan="2" style="background-color:#fbfbfb;"|Метод WaitForAnswer ожидает голосовой ответ абонента заданное время. |- |Метод Device::WaitForCall* |colspan="2"|Метод WaitForCall ожидает входящий звонок заданное время. |- |style="background-color:#fbfbfb;"|Метод Device::WaitForIncoming |colspan="2" style="background-color:#fbfbfb;"|Метод WaitForIncoming ожидает входящее событие. |- |Метод Device::SendSMS* |colspan="2"|Метод WaitForSMS ожидает входящее СМС заданное время. |- |colspan="3" style="width:100%;" cellpadding="0" cellspacing="0" align="left"| *Метод устарел, следует использовать WaitForIncoming. |} | | |- |Метод Device::Say |Метод Device::Talk | | | | |- |Метод Device::ClearSignals |Метод Device::SendCommand |- |colspan="3" style="background-color:#fafafa; width:100%;" cellpadding="0" cellspacing="0" align="left"|Вызов, ожидание вызова, отправка или получение сообщений |} |- |Метод Device::About |Метод Device::StartDetectDTMF |- |Метод Device::Answer |Метод Device::StopAudioRecord |- |Метод Device::Cancel |Метод Device::StopDetectDTMF |- |Метод Device::ClearSignals |Метод Device::Quit |Метод Device::StopSpeechRecognition |- |Метод Device::DeleteSMS |Метод Device::SayText |Метод Device::TextToSound |-

|Метод Device::SelectFolder |Метод Device::TransferCall |- |Метод Device::GetBalance |Метод Device::SelectSound |- |Метод Device::HangUp |Метод Device::SendDTMF |- |Метод Device::InLog |Метод Device::SendSMS |Метод Device::WaitForSMS |- |Метод Device::InitSpeechRecognition |Метод Device::StartAudioRecord |Метод Device::SetCallerId |- |Метод Device::Listen |Метод Device::StartSpeechRecognition |Метод Device::Result |- | |- |colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|Устаревшие методы |- |Метод Device::GetDeviceCount |Метод Device::GetDeviceIdByIndex |Метод Device::GetDeviceNameByIndex |- |colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|Свойства |- |Свойство Device::AsynchronousMode |Свойство Device::LogFile |Свойство Device::SoundList |- |Свойство Device::BusyCount |Свойство Device::LogLevel |Свойство Device::SoundPath |- |Свойство Device::CallerDetect |Свойство Device::ReceivedSignals |Свойство Device::State |- |Свойство Device::CallerId |Свойство Device::RecordedSound |Свойство Device::TTSEngine |- |Свойство Device::DeviceList |Свойство Device::RingCount |Свойство Device::TTSEngineList |- |Свойство Device::Echo |Свойство Device::SMSList |Свойство Device::VoiceCommand |- |colspan="3" style="background-color:#eeeeee; width:100%;" cellpadding="0" cellspacing="0" align="center"|События |- |OnProcess |}

Примеры

Примеры на JavaScript
/* Пример передачи сообщения по указанному номеру телефона */
var Device = new ActiveXObject ("CallOffice.Device"); // Создаем обьект устройство

Device.Open ();              // Открываем устройство

var Result = Device.Dial ("8906123456", 40);    // Набираем номер и ожидаем когда абонент снимет трубку
if (Result == 1) {                              // Если абонент поднял трубку
   Device.Say ("Сообщение");                    // Произносим звуковой файл с именем Сообщение
}

Device.HangUp ();            // Кладем трубку   
Device.Close ();             // Закрываем устройство
/* Пример ожидания входящего звонка и передачи сообщения абоненту */

var Device = new ActiveXObject ("CallOffice.Device");   // Создаем обьект устройство

Device.Open ();              // Открываем устройство

var Result = Device.WaitForCall (120);  // Ожидаем входящий звонок 120 cекунд
if (Result == 0) {                      // Если входящий звонок поступил
   Device.Say ("Сообщение");            // Произносим звуковой файл с именем Сообщение
}

Device.HangUp ();            // Кладем трубку   
Device.Close ();             // Закрываем устройство
Примеры на VBScript
' Пример передачи сообщения по указанному номеру телефона 

Dim Device
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство

Device.Open              ' Открываем устройство

Result = Device.Dial ("8906123456", 40)    ' Набираем номер и ожидаем когда абонент снимет трубку
if Result = 1 then                         ' Если абонент поднял трубку
   Device.Say "Сообщение"                  ' Произносим звуковой файл с именем Сообщение
end if

Device.HangUp            ' Кладем трубку   
Device.Close             ' Закрываем устройство
' Пример ожидания входящего звонка и передачи сообщения абоненту 

Dim Device
Set Device = CreateObject ("CallOffice.Device") ' Создаем обьект устройство

Device.Open              ' Открываем устройство

Result = Device.WaitForCall (120)   ' Ожидаем входящий звонок 120 cекунд
if Result = 1 then                  ' Если входящий звонок поступил
   Device.Say "Сообщение"           ' Произносим звуковой файл с именем Сообщение
end if

Device.HangUp            ' Кладем трубку   
Device.Close             ' Закрываем устройство