Объект Device/Методы/Result: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Строка 44: Строка 44:
   else {
   else {


       var Result = Dev.Result ().toArray ();       
       var Result = Device.Result ().toArray ();       


       alert ('Result: ' + Result[0] + "\r\n" +  
       alert ('Result: ' + Result[0] + "\r\n" +  
Строка 70: Строка 70:
Result = Device.LogOn (Login, Pass, Domain)
Result = Device.LogOn (Login, Pass, Domain)
if Result = 0 then
if Result = 0 then
   Result = Device.Dial (LoginDial, 40)
   Result = Device.Dial (LoginDial, 40)
   if Result = 0 then
   if Result = 0 then
       Device.Say "CallOffice"
       Device.Say "CallOffice"
   else
   else
       MsgBox
      Res = Device.Result ()
       MsgBox Res(2),  vbOkOnly + VbInformation, "Ошибка " + CStr (Res(0)) + ". Код ошибки: " + CStr(Res(1))  ' Выводим расширенную информацию об ошибке
   end if
   end if
   Device.LogOff
   Device.LogOff
end if
end if

Версия 13:36, 10 сентября 2015

Метод Result позволяет получить расширенную информацию об ошибке или работе последней функции.

Синтаксис

VARIANT Say (VARIANT Type)

Параметры

Type - номер/имя параметра, который нужно получить (пока не используется).

Результат

Если не указан номер/тип получаемого параметра возвращает массив:
  • 0 - Результат выполнения последней команды;
  • 1 - Код ошибки (например для SIP, это код ответа SIP)
  • 2 - Описание ошибки (не всегда доступно)

Описание

Метод позволяет получить расширенную информацию об ошибке. Например, при наборе номера через SIP, позволяет получить код ответа SIP сервера и описание ошибки

Примеры

Пример на JavaScript
var Device = new ActiveXObject ("CallOffice.Device");
Device.Open("SIP\\SIP");

var Domain    = prompt ("Имя или ip-адрес шлюза","sipnet.ru");
var Login     = prompt ("Введите имя пользователя","sipnet-login");
var Pass      = prompt ("Введите пароль","sipnet-password");
var LoginDial = prompt ("Введите имя или телефон, на который хотите позвонить","123@wentor.ru");

if (Device.LogOn(Login, Pass, Domain) == 0) {

   if (Device.Dial(LoginDial, 10) == 0) {
      Device.Say("CallOffice");
   }
   else {

      var Result = Device.Result ().toArray ();      

      alert ('Result: ' + Result[0] + "\r\n" + 
               'Code: ' + Result[1] + "\r\n" + 
        'Description: ' + Result[2]);     
   }

   Device.LogOff ();
}
Device.Close ();
Пример на VBScript
Dim Device
Set Device = CreateObject ("CallOffice.Device")

Device.Open "SIP\SIP"

Domain    = prompt ("Имя или ip-адрес шлюза","sipnet.ru")
Login     = prompt ("Введите имя пользователя","sipnet-login")
Pass      = prompt ("Введите пароль","sipnet-password")
LoginDial = prompt ("Введите имя или телефон, на который хотите позвонить","123@wentor.ru")

Result = Device.LogOn (Login, Pass, Domain)
if Result = 0 then

   Result = Device.Dial (LoginDial, 40)

   if Result = 0 then
      Device.Say "CallOffice"
   else
      Res = Device.Result ()
      MsgBox Res(2),  vbOkOnly + VbInformation, "Ошибка " + CStr (Res(0)) + ". Код ошибки: " + CStr(Res(1))  ' Выводим расширенную информацию об ошибке
   end if

   Device.LogOff
end if

Device.Close

Назад к методам объекта Device.