1

Тема: VBS, Jscript, VBA: "позвони мне, позвони" или загадки объекта TAPI

Доброе утро, коллеги.

Решил освоить объект TAPI - автоматизировать работу с телефоном.
Иначе как мучением это освоение не назовешь.

Вопрос первый - как определить что вызываемый номер занят?
Вопрос второй - почему метод Connect и в синхронном и в асинхронном режиме работает одинаково: не ждет окончания звонка?
Вопрос третий - почему метод Connect вообще ничего не возвращает, хотя должен?

И главный вопрос - TAPI 3.x, существующий как COM-объект, на мой взгляд значительно слабее по функционалу, чем TAPI 2.x.
Который (TAPI 2.x) позволяет, например, определить статус звонка.
Может проще перейти на использование TAPI 2.x - соответственно перейдя на программирование в VBA?

Спасибо.

'
' TAPI object
'
' AVAYA - "pwsp32.tsp" - Avaya IP/Line 
'

  Const S_OK = 0

  Set myTapi = CreateObject("TAPI.TAPI")  '  TAPI.TAPI.1

  Call myTapi.Initialize

  For Each address In myTapi.Addresses
    c = LCase(address.ServiceProviderName)
    ' WScript.Echo c
    If (c = "pwsp32.tsp") Then
       Set myTapiAddress = address
       Set myCall = myTapiAddress.CreateCall("3005", 1, 8)
       mm = myCall.Connect(False)
       WScript.Echo "*" + mm + "*"
    End IF
  Next