lineSetupConference-Funktion (tapi.h)

Die lineSetupConference-Funktion richtet einen Konferenzanruf für das Hinzufügen des Drittanbieters ein.

Syntax

LONG lineSetupConference(
  HCALL                  hCall,
  HLINE                  hLine,
  LPHCALL                lphConfCall,
  LPHCALL                lphConsultCall,
  DWORD                  dwNumParties,
  LPLINECALLPARAMS const lpCallParams
);

Parameter

hCall

Behandeln Sie den Anfänglichen Anruf, der die erste Partei einer Telefonkonferenz identifiziert. In einigen Umgebungen (wie unter Gerätefunktionen beschrieben) muss ein Anruf vorhanden sein, um eine Telefonkonferenz zu starten, und die Anwendung muss Besitzer dieses Anrufs sein. In anderen Telefonieumgebungen ist zunächst kein Anruf vorhanden, hCall muss NULL belassen werden, und hLine muss angegeben werden, um die Leitung zu identifizieren, auf der die Konferenzanrufe initiiert werden soll. Der Anrufstatus von hCall muss verbunden sein.

hLine

Handle mit der Zeile. Dieses Handle wird verwendet, um das Leitungsgerät zu identifizieren, auf dem die Konferenzanrufe entstehen sollen, wenn hCallNULL ist. Der hLine-Parameter wird ignoriert, wenn hCall nicht NULL ist.

lphConfCall

Zeiger auf ein HCALL-Handle. Dieser Speicherort wird dann mit einem Handle geladen, der die neu erstellte Telefonkonferenz identifiziert. Die Anwendung ist der anfängliche alleinige Besitzer dieses Aufrufs. Der Anrufstatus von hConfCall ist nicht zutreffend.

lphConsultCall

Zeiger auf ein HCALL-Handle. Beim Einrichten eines Anrufs für die Hinzufügung einer neuen Partei wird automatisch ein neuer temporärer Anruf (Konsultationsaufruf) zugewiesen. Zunächst ist die Anwendung der alleinige Besitzer dieses Aufrufs.

dwNumParties

Erwartete Anzahl von Parteien in der Telefonkonferenz. Diese Nummer wird an den Dienstanbieter übergeben. Der Dienstanbieter kann mit dieser Nummer das tun, was er möchte: Ignorieren Sie sie, verwenden Sie sie als Hinweis, um die richtige Größe der Konferenzbrücke im Switch zuzuweisen usw.

lpCallParams

Zeiger auf eine LINECALLPARAMS-Struktur , die Aufrufparameter enthält, die beim Einrichten des Konsultationsaufrufs verwendet werden sollen. Dieser Parameter kann auf NULL festgelegt werden, wenn keine speziellen Aufrufsetupparameter gewünscht sind.

Rückgabewert

Gibt einen positiven Anforderungsbezeichner zurück, wenn die Funktion asynchron abgeschlossen wird, oder eine negative Fehlernummer, wenn ein Fehler auftritt. Der dwParam2-Parameter der entsprechenden LINE_REPLY Nachricht ist 0, wenn die Funktion erfolgreich ist, oder es ist eine negative Fehlernummer, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind:

LINEERR_BEARERMODEUNAVAIL, LINEERR_UNINITIALIZED, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_CONFERENCEFULL, LINEERR_INVALPOINTER, LINEERR_INUSE, LINEERR_INVALRATE, LINEERR_INVALADDRESSMODE, LINEERR_NOMEM, LINEERR_INVALBEARERMODE, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLPARAMS, LINEERR_RATEUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_ INVALLINESTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_USERUSERINFOTOOBIG.

Hinweise

Wenn LINEERR_INVALLINESTATE zurückgegeben wird, befindet sich die Zeile derzeit nicht in einem Zustand, in dem dieser Vorgang ausgeführt werden kann. Eine Liste der aktuell gültigen Vorgänge finden Sie im dwLineFeatures-Member (vom Typ LINEFEATURE) in der LINEDEVSTATUS-Struktur . (Durch Aufrufen von lineGetLineDevStatus werden die Informationen in LINEDEVSTATUS aktualisiert.) Wenn LINEERR_INVALMEDIAMODE zurückgegeben wird, suchen Sie in der Zeile im dwMediaModes-Member der LINEDEVCAPS-Struktur nach unterstützten Medientypen.

Die lineSetupConference-Funktion bietet zwei Möglichkeiten, eine neue Telefonkonferenz einzurichten, je nachdem, ob ein normaler Zwei-Parteien-Anruf erforderlich ist, um bereits vorhanden zu sein oder nicht. Beim Einrichten einer Telefonkonferenz aus einem vorhandenen Zwei-Parteien-Anruf ist der hCall-Parameter ein gültiger Anrufhandle, der der Telefonkonferenz anfänglich durch die Anforderung lineSetupConference hinzugefügt wird. hLine wird ignoriert. Auf Schaltern, bei denen die Einrichtung der Konferenzanrufe nicht mit einem vorhandenen Anruf beginnt, muss hCallNULL und hLine angegeben werden, um das Leitungsgerät zu identifizieren, auf dem die Konferenzanrufe initiiert werden sollen. In beiden Fällen wird ein Konsultationsaufruf für die Verbindung mit der Partei zugewiesen, die dem Anruf hinzugefügt werden soll. Die Anwendung kann dann lineDial verwenden, um die Adresse der anderen Partei zu wählen.

Die Telefonkonferenz wechselt in der Regel in den Zustand onHoldPendingConference , der Konsultationsanruf in den Dialtone-Zustand und der erste Anruf (sofern vorhanden) in den Konferenzzustand .

Eine Telefonkonferenz kann auch durch eine lineCompleteTransfer eingerichtet werden, die in eine Drei-Wege-Konferenz aufgelöst wird. Die Anwendung kann möglicherweise zwischen dem Konsultationsaufruf und der Telefonkonferenz über lineSwapHold umschalten.

Ein Beratungsgespräch kann durch Aufrufen von lineDrop abgesagt werden. Beim Ablegen einer Konsultationsanrufe wechselt die vorhandene Telefonkonferenz in der Regel wieder in den verbundenen Zustand. Die Anwendung sollte die LINE_CALLSTATE Nachrichten beobachten, um genau zu bestimmen, was mit den Aufrufen geschieht. Wenn die Telefonkonferenz beispielsweise wieder auf einen regulären Anruf mit zwei Parteien zurückgesetzt wird, wird die Telefonkonferenz im Leerlauf, und der ursprüngliche Teilnehmeranruf kann mit verbunden rückgängig machen.

Wenn eine Anwendung den Handle des ursprünglichen Anrufs (hCall) in einem Aufruf der lineUnhold-Funktion angibt, gehen sowohl die Telefonkonferenz als auch der Beratungsanruf in der Regel im Leerlauf.

Anforderungen

   
Zielplattform Windows
Kopfzeile tapi.h
Bibliothek Tapi32.lib
DLL Tapi32.dll

Weitere Informationen

Konferenzübersicht

LINECALLPARAMS

LINEDEVCAPS

LINEDEVSTATUS

LINE_CALLSTATE

Zusätzliche Zeilendienstfunktionen

lineCompleteTransfer

lineDial

lineDrop

lineGetLineDevStatus

lineSwapHold

lineUnhold