Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In der TAPI-Architektur werden alle TSPs im Kontext von TAPISRV ausgeführt, die als Dienstprozess innerhalb von SVCHOST implementiert wird. TAPI-Anwendungen leben in ihrem eigenen Prozess. TAPI-Anwendungen laden Tapi3.dll und alle erforderlichen MSPs in ihren eigenen Prozess, und die TAPI-DLL kommuniziert mit TAPISRV über eine private RPC-Schnittstelle. Das folgende Diagramm veranschaulicht die Interaktion dieser Komponenten.
Ein Mediendienstanbieter (Media Service Provider, MSP) bietet Medienstreaming mithilfe der Abstraktionen von Terminals, Streams und SubStreams.
Ein Terminal ist eine Spüle oder Quelle für einen Mediendatenstrom. Es kann sich um ein physisches Objekt handeln, z. B. ein Lautsprecher oder ein Mikrofon, oder es kann sich um eine Abstraktion eines Geräts handeln, z. B. ein Videofenster. Das Terminal-Objekt macht die ITTerminal Schnittstelle verfügbar. Die Terminalklasse wird durch die GUID der Terminalklasse beschrieben. Ein MSP kann eigene Terminalklassen definieren.
Datenströme teilen die Medien eines Anrufs basierend auf dem Medientyp oder Typ, die Richtung des Datenstromsund die Zieladresse des Mediums auf. Beispielsweise handelt es sich bei einem eingehenden Audiodatenstrom von einem Modem um ein Streamobjekt, einen ausgehenden Videostream an eine IP-Adresse und einen Port um ein Streamobjekt, die Videostreams, die aus einer IP-Multicastgruppe stammen, werden auch als ein Datenstromobjekt betrachtet. Das Stream-Objekt wird durch die ITStreamControl Schnittstelle dargestellt.
SubStreams ermöglichen eine feinere Kontrolle über die Medien. Beispielsweise kann das eingehende Videostreamobjekt im IP-Multicastfall mehrere Personen darstellen. Die Anwendung möchte wahrscheinlich, dass jeder Teilnehmer über einen separaten Renderer verfügt. Der eingehende Videostream kann in mehrere Unterstreams unterteilt werden, eine für jede Person. Ein Teilstream würde einer Person entsprechen und kann separat konfiguriert und gesteuert werden. Das SubStream-Objekt wird durch die ITSubStreamControl Schnittstelle dargestellt.
Wenn eine Anwendung ITAddress::CreateCall aufruft, um einen Aufruf einzurichten, muss sie den erforderlichen Medientyp angeben. Bei einem ausgehenden Anruf teilt er TAPI einfach mit, wenn der Anruf erstellt wird. Zum Beispiel:
HRESULT hr = pAddress->CreateCall(
pszDestAddress,
lAddressType,
TAPIMEDIATYPE_AUDIO | TAPIMEDIATYPE_VIDEO,
&pCall
);
// If (hr != S_OK ) process the error here
In diesem Fall erstellt die Anwendung einen ausgehenden Audiovideoanruf.
Die übergebenen Medientypen geben die Medien an, an denen die Anwendung über die Lebensdauer des Anrufs interessiert ist. Beispielsweise kann die Anwendung beim Erstellen des Anrufs Audio und Video angeben, aber nur Audioterminals am Anfang auswählen. Der MSP startet das Streamen von Audio, lehnt jedoch keine lokale oder Remotevideoanforderung ab, die später während der Lebensdauer des Anrufs getätigt wurde.
Wenn die Anwendung dann ITBasicCallControl::Connectaufruft, ruft TAPI 3 TSPI_lineMakeCall im TSP auf. Nach dem Herstellen eines Anrufs kann der MSP und der TSP bei Bedarf kommunizieren.
Wenn ein Anruf getrennt wird, liegt es bis zum MSP und TSP, um über das Abreißen des Anrufs zu kommunizieren. Tapi3.dll ruft TSPI_lineDrop auf, wenn die Anwendung Disconnectaufruft.