lineMakeCall-Funktion (tapi.h)
Die lineMakeCall-Funktion platziert einen Aufruf für die angegebene Zeile an die angegebene Zieladresse. Optional können Aufrufparameter angegeben werden, wenn außer Standardeinstellungsparametern für Aufrufe angefordert werden.
Syntax
LONG lineMakeCall(
HLINE hLine,
LPHCALL lphCall,
LPCSTR lpszDestAddress,
DWORD dwCountryCode,
LPLINECALLPARAMS const lpCallParams
);
Parameter
hLine
Handle an das Open-Line-Gerät, auf dem ein Anruf ausgelöst werden soll.
lphCall
Zeiger auf ein HCALL-Handle. Das Handle ist erst gültig, nachdem die LINE_REPLY Nachricht von der Anwendung empfangen wurde, die angibt, dass die lineMakeCall-Funktion erfolgreich abgeschlossen wurde. Verwenden Sie dieses Handle, um den Anruf beim Aufrufen anderer Telefonievorgänge für den Anruf zu identifizieren. Die Anwendung ist zunächst der alleinige Besitzer dieses Aufrufs. Dieses Handle ist ungültig, wenn die Funktion einen Fehler (synchron oder asynchron durch die Antwortnachricht) zurückgibt.
lpszDestAddress
Zeiger auf die Zieladresse. Dies folgt dem standardwählbaren Nummernformat. Dieser Zeiger kann NULL für nicht gewählte Adressen (wie bei einem heißen Telefon) oder wenn alle Wählvorgänge mit lineDial ausgeführt werden. Im letzteren Fall weist lineMakeCall eine verfügbare Anrufdarstellung zu, die in der Regel im Dialtone-Zustand verbleibt, bis das Wählen beginnt. Dienstanbieter mit Inverse-Multiplexingfunktionen können es einer Anwendung ermöglichen, mehrere Adressen gleichzeitig anzugeben.
dwCountryCode
Länder- oder Regionscode der angerufenen Partei. Wenn der Wert 0 angegeben wird, wird von der Implementierung ein Standardwert verwendet.
lpCallParams
Zeiger auf eine LINECALLPARAMS-Struktur . Mit dieser Struktur kann die Anwendung angeben, wie der Aufruf eingerichtet werden soll. Wenn NULL angegeben ist, wird ein Standardmäßiger 3,1-kHz-Sprachanruf eingerichtet und eine beliebige Ursprungsadresse in der Zeile ausgewählt. Diese Struktur ermöglicht es der Anwendung, Elemente wie den Bearermodus des Anrufs, die Datenrate, den erwarteten Medienmodus, die Ursprungsadresse, das Blockieren von Anrufer-ID-Informationen und die Wählparameter auszuwählen.
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 Meldung ist 0, wenn die Funktion erfolgreich ist, oder es ist eine negative Fehlernummer, wenn ein Fehler auftritt. Mögliche Rückgabewerte sind:
LINEERR_ADDRESSBLOCKED, LINEERR_INVALLINEHANDLE, LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_DIALBILLING, LINEERR_INVALPARAM, LINEERR_DIALDIALTONE, LINEERR_INVALPOINTER, LINEERR_DIALPROMPT, LINEERR_INVALRATE, LINEERR_DIALQUIET, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESSID, LINEERR_RATEUNAVAIL, LINEERR_INVALADDRESSMODE, LINEERR_ RESOURCEUNAVAIL, LINEERR_INVALBEARERMODE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALCALLPARAMS, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE, 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 . Beim Aufrufen von lineGetLineDevStatus werden die Informationen in LINEDEVSTATUS aktualisiert. Wenn LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE oder LINEERR_DIALPROMPT zurückgegeben wird, ist keine der aktionen aufgetreten, die sonst von lineMakeCall ausgeführt werden; Beispielsweise wurde keine der vor dem beleidigenden Zeichen erreichbaren Adressen gewählt, kein Hookswitch-Zustand wurde geändert usw.
Nach Abschluss des Wählens werden in der Regel mehrere LINE_CALLSTATE Nachrichten an die Anwendung gesendet, um sie über den Fortschritt des Anrufs zu informieren. Es ist keine allgemein gültige Sequenz von Aufrufzustandsübergängen angegeben, da in der Praxis keine einzelne feste Sequenz von Übergängen garantiert werden kann. Eine typische Sequenz kann dazu führen, dass ein Anruf von "Dialtone", "Dialing", "Weiter", "Ringback" auf "Verbunden" wechselt. Bei nicht gewählten Leitungen kann der Anruf in der Regel direkt in den Verbundenen Zustand übergehen.
Eine Anwendung hat die Möglichkeit, eine Ursprungsadresse auf dem angegebenen Zeilengerät anzugeben. Ein Dienstanbieter, der alle Stationen auf einem Switch als Adressen auf einem Einzelliniengerät modelliert, ermöglicht es der Anwendung, Anrufe von einer dieser Stationen mithilfe von lineMakeCall zu erstellen.
Mit den Anrufparametern kann die Anwendung Nicht-Sprachanrufe tätigen oder spezielle Anrufeinrichtungsoptionen anfordern, die standardmäßig nicht verfügbar sind.
Eine Anwendung kann teilweise mit lineMakeCall wählen und mit lineDial weiterwählen. Weitere Informationen zum partiellen Wählen finden Sie unter lineDial und TSPI_lineMakeCall. Verwenden Sie lineDrop, um einen Anrufversuch abzubrechen.
Nachdem lineMakeCall eine Erfolgsantwortnachricht an die Anwendung zurückgegeben hat, wird eine LINE_CALLSTATE-Nachricht an die Anwendung gesendet, um den aktuellen Status des Aufrufs anzugeben. Dieser Zustand ist nicht unbedingt LINECALLSTATE_DIALTONE.
Diese Funktion kann Daten unverschlüsselt über die Leitung senden. Daher kann jemand, der im Netzwerk lauscht, die Daten lesen. Das Sicherheitsrisiko des Sendens der Daten im Klartext sollte vor der Verwendung dieser Methode berücksichtigt werden.
Anforderungen
Zielplattform | Windows |
Kopfzeile | tapi.h |
Bibliothek | Tapi32.lib |
DLL | Tapi32.dll |
Weitere Informationen
Referenz zu Grundlegenden Telefoniediensten