Telefon SPI-Initialisierung
Im Rahmen der durch TSPI definierten Telefongeräteabstraktion müssen TAPI und der Dienstanbieter zunächst einer grundlegenden Initialisierung unterzogen werden. Diese grundlegende Initialisierung wird sowohl für die Zeilen- als auch für die Smartphonehälfte der Schnittstelle mit dem gleichen Satz von Schritten durchgeführt. Der erste dieser Schritte ist die Aushandlung der Schnittstellenversion. TAPI führt dies durch Aufrufen der _ TSPI-LineNegotiateTSPIVersion-Funktion aus. Diese Funktion wird normalerweise verwendet, um im Namen eines einzelnen Liniengeräts zu handeln. unterschiedliche Liniengeräte innerhalb desselben Dienstanbieters können gemäß unterschiedlichen Schnittstellenversionen betrieben werden. TAPI übergibt den speziellen Wert für den reservierten Gerätebezeichner INITIALIZE _ NEGOTIATION,um anzugeben, dass eine allgemeine Schnittstellenversion für Initialisierungsfunktionen aushandelt wird, die sich sowohl für Leitungen als auch für Smartphones auf den gesamten Dienstanbieter auswirken.
Das Ergebnis dieser Aushandlung wird an nachfolgende Prozeduren übergeben, bis ein Telefongerät geöffnet wird. Zu diesem Zeitpunkt wird das Telefongerät in eine bestimmte Schnittstellenversion übertragen. Diese Schnittstellenversion ist implizit, bis das Telefon geschlossen ist, und muss nicht an nachfolgende Funktionen übergeben werden, die auf einem geöffneten Telefon arbeiten.
Nach der allgemeinen Aushandlung der Schnittstellenversion ruft TAPI die TSPI _ providerInit-Funktion auf. Diese Funktion initialisiert den Dienstanbieter und gibt ihm auch parameter, die für den nachfolgenden Vorgang erforderlich sind. Diese Parameter umfassen Folgendes:
- dwPermanentProviderID: Gibt den permanenten Bezeichner des initialisierten Dienstanbieters an, der innerhalb der Dienstanbieter auf diesem System eindeutig ist.
- dwLineDeviceIDBase: Gibt den niedrigsten Gerätebezeichner für die von diesem Dienstanbieter unterstützten Liniengeräte an.
- dwPhoneDeviceIDBase: Gibt die niedrigste Geräte-ID für die von diesem Dienstanbieter unterstützten Telefongeräte an. Geräte der Telefonie-Telefongeräteklasse werden durch ganze Zahlen identifiziert, die bei 0 (null) beginnen. Dieser Bereich von Bezeichnern ist über den gesamten Bereich der Telefongeräte hinweg zusammenhängend. Da es möglicherweise mehrere Dienstanbieter gibt, die Telefongeräte in einem einzigen System verwalten, erhält jeder Dienstanbieter einen zusammenhängenden Teil des Gesamtbereichs. Dieser Parameter teilt dem Dienstanbieter den niedrigsten Wert in seinem Teil des Bereichs mit. Der Dienstanbieter ist anstelle von TAPI für die Zuordnung dieses Variablenbereichs zu seinen eigenen internen Gerätebezeichnern verantwortlich. Dadurch kann der Anbieter des Dienstanbieters gerätespezifische Erweiterungen flexibel verwenden, wenn dies der Fall ist. Da der Dienstanbieter weiß, welche Gerätebezeichner in TAPI-definierten Parametern und Datenstrukturen angezeigt werden, kann er konsistente Gerätebezeichner in gerätespezifischen Erweiterungsparametern und Datenstrukturen verwenden.
- dwNumLines: Gibt an, wie viele Liniengeräte dieser Dienstanbieter unterstützt.
- dwNumPhones: Gibt an, wie viele Telefongeräte dieser Dienstanbieter unterstützt.
- lpfnCompletionProc: Gibt die Prozedur an, die der Dienstanbieter aufruft, um den Abschluss aller asynchron ausgeführten Prozeduren auf Line- und Phone-Geräten zu melden.
Im Anschluss an TSPI _ providerInitkönnen normale Vorgänge wie das Öffnen von Telefonen ausgeführt werden.