<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tapi gibt nur LINE_LINEDEVSTATE als Messages]]></title><description><![CDATA[<p>Hallo,<br />
ich sitze gerade an der Steuerung einer Telefonanlage per TAPI.<br />
Anrufe per Mausklick zu starten, klappt auch wunderbar. Nun waere es auch schoen, eingehende Anrufe mit deren Telefonnummer mitzukriegen.<br />
Leider hat das bisher noch nicht geklappt. Ich kann zwar Messages abfangen, erhalte jedoch immer LINE_LINEDEVSTATE als Message. Sobald ein Anruf eingeht, kommt diese Message ebenfalls, und er erste Parameter enthaelt den Wert LINEDEVSTATE_OTHER.</p>
<p>Was koennte eine Ursache dafuer sein?</p>
<p>Hier der Code zur Initialisierung:</p>
<pre><code class="language-cpp">HLINEAPP m_hLineApp; // application's usage handle for TAPI
  HLINE    m_hLine;
  HCALL    m_hCall;
  int      m_nDevID;

  //-----------------

  LINEINITIALIZEEXPARAMS stInitParams;
  LINEDEVCAPS *lpDevCaps = NULL;
  LONG lRet;

  DWORD dwMediaMode;
  DWORD dwNumDevs =0;
  DWORD dwTAPIVer = 0x00020000;
  DWORD dwTmpVer =0;
  LINEEXTENSIONID stExtID;

  dwMediaMode = LINEMEDIAMODE_AUTOMATEDVOICE;// for voice this should be

  memset(&amp;stInitParams, 0, sizeof(LINEINITIALIZEEXPARAMS));
  stInitParams.dwTotalSize = sizeof(LINEINITIALIZEEXPARAMS);
  stInitParams.dwOptions = LINEINITIALIZEEXOPTION_USEEVENT;

  lRet = lineInitializeEx(&amp;m_hLineApp, NULL, NULL, NULL, &amp;dwNumDevs, &amp;dwTAPIVer, &amp;stInitParams);

  lRet = lineOpen(m_hLineApp, m_nDevID, &amp;m_hLine, dwTAPIVer, 0x00000000, 0, LINECALLPRIVILEGE_OWNER, dwMediaMode, NULL);
  [...]

  lRet = lineSetStatusMessages(m_hLine, 0x1ffffff, 0);
</code></pre>
<p>Und zum Checken der Nachrichten...:</p>
<pre><code class="language-cpp">LINEMESSAGE msg;
  while (lineGetMessage(m_hLineApp, &amp;msg, 100) == 0) {
    switch(msg.dwMessageID)
    {
    case LINE_LINEDEVSTATE:
      //MessageBox(NULL, &quot;linedevstate&quot;, &quot;test callback Call&quot;, MB_OK);
      char code[40];
      ultoa(msg.dwParam1, code, 10);
      MessageBox(NULL, code, &quot;LINE_LINEDEVSTATE&quot;, MB_OK);
      break;
    case LINE_APPNEWCALL:
      MessageBox(NULL, &quot;newCall&quot;, &quot;linemessage&quot;, MB_OK);
      break;
    case LINE_CALLSTATE:
      [...]
</code></pre>
<p>Wie gesagt erhalte ich nur LINE_LINEDEVSTATE Messages, auch bei eingehenden Anrufen oder beim Auflegen. Ich habe auch mir die Message schon vor dem Switch ausgeben lassen, da erhielt ich auch nie andere Codes.<br />
Hab' ich irgendwas Dummes uebersehen? Oder ist es auch moeglich, dass die Telefonanlage solche Dinge nicht unterstuetzt?<br />
Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235605/tapi-gibt-nur-line_linedevstate-als-messages</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 02:39:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235605.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Mar 2009 08:46:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tapi gibt nur LINE_LINEDEVSTATE als Messages on Wed, 04 Mar 2009 08:46:14 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich sitze gerade an der Steuerung einer Telefonanlage per TAPI.<br />
Anrufe per Mausklick zu starten, klappt auch wunderbar. Nun waere es auch schoen, eingehende Anrufe mit deren Telefonnummer mitzukriegen.<br />
Leider hat das bisher noch nicht geklappt. Ich kann zwar Messages abfangen, erhalte jedoch immer LINE_LINEDEVSTATE als Message. Sobald ein Anruf eingeht, kommt diese Message ebenfalls, und er erste Parameter enthaelt den Wert LINEDEVSTATE_OTHER.</p>
<p>Was koennte eine Ursache dafuer sein?</p>
<p>Hier der Code zur Initialisierung:</p>
<pre><code class="language-cpp">HLINEAPP m_hLineApp; // application's usage handle for TAPI
  HLINE    m_hLine;
  HCALL    m_hCall;
  int      m_nDevID;

  //-----------------

  LINEINITIALIZEEXPARAMS stInitParams;
  LINEDEVCAPS *lpDevCaps = NULL;
  LONG lRet;

  DWORD dwMediaMode;
  DWORD dwNumDevs =0;
  DWORD dwTAPIVer = 0x00020000;
  DWORD dwTmpVer =0;
  LINEEXTENSIONID stExtID;

  dwMediaMode = LINEMEDIAMODE_AUTOMATEDVOICE;// for voice this should be

  memset(&amp;stInitParams, 0, sizeof(LINEINITIALIZEEXPARAMS));
  stInitParams.dwTotalSize = sizeof(LINEINITIALIZEEXPARAMS);
  stInitParams.dwOptions = LINEINITIALIZEEXOPTION_USEEVENT;

  lRet = lineInitializeEx(&amp;m_hLineApp, NULL, NULL, NULL, &amp;dwNumDevs, &amp;dwTAPIVer, &amp;stInitParams);

  lRet = lineOpen(m_hLineApp, m_nDevID, &amp;m_hLine, dwTAPIVer, 0x00000000, 0, LINECALLPRIVILEGE_OWNER, dwMediaMode, NULL);
  [...]

  lRet = lineSetStatusMessages(m_hLine, 0x1ffffff, 0);
</code></pre>
<p>Und zum Checken der Nachrichten...:</p>
<pre><code class="language-cpp">LINEMESSAGE msg;
  while (lineGetMessage(m_hLineApp, &amp;msg, 100) == 0) {
    switch(msg.dwMessageID)
    {
    case LINE_LINEDEVSTATE:
      //MessageBox(NULL, &quot;linedevstate&quot;, &quot;test callback Call&quot;, MB_OK);
      char code[40];
      ultoa(msg.dwParam1, code, 10);
      MessageBox(NULL, code, &quot;LINE_LINEDEVSTATE&quot;, MB_OK);
      break;
    case LINE_APPNEWCALL:
      MessageBox(NULL, &quot;newCall&quot;, &quot;linemessage&quot;, MB_OK);
      break;
    case LINE_CALLSTATE:
      [...]
</code></pre>
<p>Wie gesagt erhalte ich nur LINE_LINEDEVSTATE Messages, auch bei eingehenden Anrufen oder beim Auflegen. Ich habe auch mir die Message schon vor dem Switch ausgeben lassen, da erhielt ich auch nie andere Codes.<br />
Hab' ich irgendwas Dummes uebersehen? Oder ist es auch moeglich, dass die Telefonanlage solche Dinge nicht unterstuetzt?<br />
Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673883</guid><dc:creator><![CDATA[Powerpaule]]></dc:creator><pubDate>Wed, 04 Mar 2009 08:46:14 GMT</pubDate></item><item><title><![CDATA[Reply to Tapi gibt nur LINE_LINEDEVSTATE als Messages on Wed, 04 Mar 2009 09:55:48 GMT]]></title><description><![CDATA[<p>Mit Sicherheit wird hier auch ein anderer Mediamode verwendet.<br />
Du musst evtl. auch LINEMEDIAMODE_INTERACTIVEVOICE erwarten!</p>
<pre><code class="language-cpp">dwMediaMode = LINEMEDIAMODE_AUTOMATEDVOICE|LINEMEDIAMODE_INTERACTIVEVOICE;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1673926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673926</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 04 Mar 2009 09:55:48 GMT</pubDate></item><item><title><![CDATA[Reply to Tapi gibt nur LINE_LINEDEVSTATE als Messages on Wed, 04 Mar 2009 10:25:32 GMT]]></title><description><![CDATA[<p>Ach, super, genial, jetzt klappt's, danke!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673965</guid><dc:creator><![CDATA[Powerpaule]]></dc:creator><pubDate>Wed, 04 Mar 2009 10:25:32 GMT</pubDate></item></channel></rss>