<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS, Jscript, VBA: "позвони мне, позвони" или загадки объекта TAPI]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7221</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7221&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS, Jscript, VBA: "позвони мне, позвони" или загадки объекта TAPI».]]></description>
		<lastBuildDate>Thu, 17 May 2012 05:21:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[VBS, Jscript, VBA: "позвони мне, позвони" или загадки объекта TAPI]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60403#p60403</link>
			<description><![CDATA[<p>Доброе утро, коллеги.</p><p>Решил освоить объект TAPI - автоматизировать работу с телефоном.<br />Иначе как мучением это освоение не назовешь.</p><p>Вопрос первый - как определить что вызываемый номер занят?<br />Вопрос второй - почему метод Connect и в синхронном и в асинхронном режиме работает одинаково: не ждет окончания звонка?<br />Вопрос третий - почему метод Connect вообще ничего не возвращает, хотя должен?</p><p>И главный вопрос - TAPI 3.x, существующий как COM-объект, на мой взгляд значительно слабее по функционалу, чем TAPI 2.x.<br />Который (TAPI 2.x) позволяет, например, определить статус звонка.<br />Может проще перейти на использование TAPI 2.x - соответственно перейдя на программирование в VBA?</p><p>Спасибо.</p><div class="codebox"><pre><code>&#039;
&#039; TAPI object
&#039;
&#039; AVAYA - &quot;pwsp32.tsp&quot; - Avaya IP/Line 
&#039;

  Const S_OK = 0

  Set myTapi = CreateObject(&quot;TAPI.TAPI&quot;)  &#039;  TAPI.TAPI.1

  Call myTapi.Initialize

  For Each address In myTapi.Addresses
    c = LCase(address.ServiceProviderName)
    &#039; WScript.Echo c
    If (c = &quot;pwsp32.tsp&quot;) Then
       Set myTapiAddress = address
       Set myCall = myTapiAddress.CreateCall(&quot;3005&quot;, 1, 8)
       mm = myCall.Connect(False)
       WScript.Echo &quot;*&quot; + mm + &quot;*&quot;
    End IF
  Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Slav)]]></author>
			<pubDate>Thu, 17 May 2012 05:21:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60403#p60403</guid>
		</item>
	</channel>
</rss>
