Auf Englisch lesen

Freigeben über


Medienüberwachung

Wenn sich ein Anruf im verbundenen Zustand befindet, können Daten über den Anruf übertragen werden. Der Aufrufmedientyp gibt einen Hinweis auf den Datentyp (z. B. den Datentyp oder das Protokoll auf höherer Ebene) dieses Mediendatenstroms an.

TAPI ermöglicht es Anwendungen, eine Benachrichtigung über Änderungen am Medientyp eines Anrufs zu erhalten. Die Benachrichtigung enthält einen Hinweis auf den neuen Medientyp des Anrufs. Der Dienstanbieter entscheidet, wie er diese Entscheidung treffen möchte. Beispielsweise könnte der Dienstanbieter die Signalverarbeitung des Mediendatenstroms verwenden, um den Medientyp zu bestimmen, oder er könnte sich auf unterschiedliche Klingelmuster verlassen, die verschiedenen Medienstreams zugewiesen sind, oder auf Informationselementen, die in einem Out-of-Band-Signalisierungsprotokoll übergeben werden. Unabhängig davon, wie die Medientypbestimmung erreicht wird, wird die Anwendung bei einem vorhandenen Aufruf einfach über Medientypänderungen informiert.

Weitere Informationen und eine Liste der derzeit definierten TAPI-Medientypen oder -modi finden Sie unter LINEMEDIAMODE_ Konstanten. Dienstanbieter können anbieterspezifische Medientypen für hochspezialisierte Geräte implementieren. Informationen dazu finden Sie in der Gerätedokumentation.

Zu den von TAPI definierten Medientypen gehören:

  • Unbekannt Der Medientyp des Aufrufs ist derzeit nicht bekannt– der Aufruf ist nicht klassifiziert.
  • Interaktive Stimme. Während des Anrufs wurde Sprachenergie erkannt, und der Anruf wird als interaktiver Sprachanruf mit einer Person am Ende der Anwendung behandelt.
  • Automatisierte Stimme. Sprachenergie wurde beim Anruf erkannt, und der Anruf wird als Sprachanruf verarbeitet, aber ohne Person am Ende der Anwendung, z. B. mit einer Anrufbeantworteranwendung.
  • Datenmodem. Eine Modemsitzung beim Anruf. Aktuelle Modemprotokolle erfordern die aufgerufene Station, um den Handshake zu initiieren. Bei einem eingehenden Datenmodemaufruf kann die Anwendung in der Regel keine positive Erkennung vornehmen. Wie der Dienstleister diese Entscheidung trifft, ist seine Wahl. Beispielsweise kann eine Stille unmittelbar nach der Entgegennehmen eines eingehenden Anrufs als Heuristik verwendet werden, um zu entscheiden, dass es sich um einen Datenmodemanruf handelt.
  • G3-Fax. Eine Faxsitzung der Gruppe 3 beim Anruf.
  • G4-Fax. Eine Faxsitzung der Gruppe 4 für den Anruf.
  • TDD. Der Mediendatenstrom des Anrufs verwendet die Telefoniegeräte für das Gehörlose Protokoll.
  • Digitale Daten. Ein digitaler Datenstrom im nicht angegebenen Format.
  • Teletex, Videotex, Telex, Mixed. Diese entsprechen den telematischen Diensten der gleichen Namen.
  • ADSI. Eine Analog Display Services Interface-Sitzung beim Anruf. ADSI verbessert Sprachanrufe mit alphanumerischen Informationen, die auf das Telefon heruntergeladen werden, und die Verwendung von soften Tasten auf dem Telefon.

Eine Anwendung kann die Medienüberwachung für einen angegebenen Aufruf mit lineMonitorMedia aktivieren oder deaktivieren. Die Anwendung gibt an, welche Medientypen überwacht werden sollen, und wenn die Medienüberwachung aktiviert ist, führt die Erkennung einer Medientypänderung dazu, dass die Anwendung mit der LINE_MONITORMEDIA Nachricht benachrichtigt wird. Diese Meldung enthält das Aufrufhandle, für das die Medientypänderung erkannt wurde, sowie den neuen Medientyp.

Es gibt einen Unterschied zwischen dem Medientyp eines Anrufs, der von lineGetCallInfo gemeldet wird, und den Ereignisberichten des Medientyps von LINE_MONITORMEDIA Nachrichten. Der Medientyp eines Anrufs wird ausschließlich von Besitzeranwendungen des Anrufs bestimmt und wird nicht automatisch durch Medienüberwachungsereignisse geändert. Die einzige Ausnahme ist die anfängliche Ermittlung des Medientyps, die von der TAPI-Bibliothek für dynamische Verknüpfungen ausgeführt werden kann, um den ersten Besitzer eines Aufrufs auszuwählen. Man könnte argumentieren, dass in diesem Fall die Bibliothek der Besitzer des Anrufs ist.

Die Standardmäßige Medientypüberwachung wird für die Medientypen durchgeführt, für die das Leitungsgerät geöffnet wurde. Dadurch kann der Medientyp eines eingehenden Anrufs bestimmt werden, bevor der Anruf basierend auf den Anforderungen der Anwendung an eine Anwendung übergeben wird. Der Bereich der Medienüberwachung eines Anrufs ist an die Lebensdauer des Anrufs gebunden. Die Medienüberwachung für einen Anruf endet, sobald der Anruf getrennt oder in den Leerlauf wechselt.

Eine Anwendung kann Gerätebezeichner für verschiedene Geräteklassen abrufen, die einer geöffneten Zeile zugeordnet sind, indem sie lineGetID aufruft. Diese Funktion verwendet ein Zeilenhandle, eine Adresse oder ein Anrufhandle und eine Geräteklassenbeschreibung. Er gibt den Gerätebezeichner für das Gerät der angegebenen Geräteklasse zurück, das dem Open Line-Gerät, der Adresse oder dem Anruf zugeordnet ist. Wenn die Geräteklasse "tapi/line" lautet, wird der Gerätebezeichner des Leitungsgeräts zurückgegeben. Wenn die Geräteklasse "mci/wave" lautet, wird der Gerätebezeichner eines mci waveaudio-Geräts zurückgegeben (sofern unterstützt), was Aktivitäten wie die Aufzeichnung oder Wiedergabe von Audiodaten über den Anruf an der Leitung zulässt.

Die Anwendung kann den zurückgegebenen Gerätebezeichner mit der entsprechenden Medien-API verwenden, um die Funktionen des Geräts abzufragen und anschließend das Mediengerät zu öffnen. Wenn Ihre Anwendung beispielsweise die Linie als Wellenformgerät verwenden muss, muss sie zuerst waveInGetDevCaps und/oder waveOutGetDevCaps aufrufen, um die Wellenformfunktionen des Geräts zu bestimmen. Das typische Wellenformdatenformat, das von der Telefonie in Nordamerika unterstützt wird, ist 8-Bit-m-Law bei 8.000 Stichproben pro Sekunde, obwohl der Wellengerätetreiber diese Abtastrate und kompanding in andere gängigere Multimedia-Audioformate konvertieren kann.

Um anschließend ein Leitungsgerät für die Audiowiedergabe mithilfe der Wellenform-API zu öffnen, ruft eine Anwendung waveOutOpen auf. Die Implementierung von waveOutOpen ist gerätespezifisch, und es gibt eine Vielzahl von Optionen für die Implementierung dieser Funktion.