funzione lineSetupConference (tapi.h)

La funzione lineSetupConference configura una chiamata di conferenza per l'aggiunta di terze parti.

Sintassi

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

Parametri

hCall

Gestire la chiamata iniziale che identifica la prima parte di una conferenza telefonica. In alcuni ambienti (come descritto nelle funzionalità del dispositivo), una chiamata deve esistere per avviare una conferenza telefonica e l'applicazione deve essere un proprietario di questa chiamata. In altri ambienti di telefonia non esiste inizialmente alcuna chiamata, hCall deve essere lasciato NULL e hLine deve essere specificato per identificare la riga in cui deve essere avviata la chiamata di conferenza. Lo stato della chiamata di hCall deve essere connesso.

hLine

Handle alla riga. Questo handle viene usato per identificare il dispositivo linea su cui originare la chiamata di conferenza se hCall è NULL. Il parametro hLine viene ignorato se hCall non è NULL.

lphConfCall

Puntatore a un handle HCALL. Questa posizione viene quindi caricata con un handle che identifica la nuova chiamata di conferenza creata. L'applicazione è l'unico proprietario iniziale di questa chiamata. Lo stato della chiamata di hConfCall non è applicabile.

lphConsultCall

Puntatore a un handle HCALL. Quando si configura una chiamata per l'aggiunta di una nuova parte, viene allocata automaticamente una nuova chiamata temporanea (chiamata di consultazione). Inizialmente, l'applicazione è l'unico proprietario per questa chiamata.

dwNumParties

Numero previsto di parti nella chiamata alla conferenza. Questo numero viene passato al provider di servizi. Il provider di servizi è libero di farlo come si prega di questo numero: ignorarlo, usarlo come suggerimento per allocare il ponte di conferenza di dimensioni corretto all'interno del commutatore e così via.

lpCallParams

Puntatore a una struttura LINECALLPARAMS contenente parametri di chiamata da usare quando si stabilisce la chiamata di consulenza. Questo parametro può essere impostato su NULL se non sono desiderati parametri di configurazione delle chiamate speciali.

Valore restituito

Restituisce un identificatore di richiesta positivo se la funzione viene completata in modo asincrono o un numero di errore negativo se si verifica un errore. Il parametro dwParam2 del messaggio di LINE_REPLY corrispondente è zero se la funzione ha esito positivo o è un numero di errore negativo se si verifica un errore. I valori restituiti possibili sono:

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.

Commenti

Se LINEERR_INVALLINESTATE viene restituito, la riga non è attualmente in uno stato in cui è possibile eseguire questa operazione. Un elenco di operazioni attualmente valide è disponibile nel membro dwLineFeatures (del tipo LINEFEATURE) nella struttura LINEDEVSTATUS . La chiamata a lineGetLineDevStatus aggiorna le informazioni in LINEDEVSTATUS. Se viene restituito LINEERR_INVALMEDIAMODE, verificare la presenza di tipi di supporti supportati nella riga del membro dwMediaModes nella struttura LINEDEVCAPS .

La funzione lineSetupConference fornisce due modi per stabilire una nuova chiamata alla conferenza, a seconda che sia necessaria una normale chiamata a due parti per pre-esistere o meno. Quando si configura una chiamata a conferenza da una chiamata a due parti esistente, il parametro hCall è un handle di chiamata valido che viene inizialmente aggiunto alla chiamata di conferenza dalla richiesta lineSetupConference ; hLine viene ignorato. Nei commutatori in cui la configurazione della conferenza telefonica non inizia con una chiamata esistente, hCall deve essere NULL e hLine deve essere specificato per identificare il dispositivo linea in cui avviare la chiamata alla conferenza. In entrambi i casi, una chiamata di consultazione viene allocata per la connessione alla parte che deve essere aggiunta alla chiamata. L'applicazione può quindi usare lineDial per comporre l'indirizzo dell'altra parte.

La chiamata alla conferenza passa in genere allo stato onHoldPendingConference, alla chiamata di consultazione nello stato di dialtone e alla chiamata iniziale (se presente) nello stato conferenza.

Una conferenza telefonica può anche essere configurata da una lineaCompleteTransfer risolta in una conferenza a tre vie. L'applicazione può essere in grado di attivare l'interruttore tra la chiamata di consultazione e la chiamata di conferenza usando lineSwapHold.

Una chiamata di consultazione può essere annullata richiamando lineDrop su di esso. Quando si elimina una chiamata di consulenza, la chiamata di conferenza esistente viene in genere eseguita nuovamente allo stato connesso . L'applicazione deve osservare i messaggi di LINE_CALLSTATE per determinare esattamente ciò che accade alle chiamate. Ad esempio, se la chiamata alla conferenza torna a una chiamata a due parti regolare, la chiamata alla conferenza diventa inattiva e la chiamata del partecipante originale può tornare alla connessione.

Se un'applicazione specifica l'handle della chiamata originale (hCall) in una chiamata alla funzione lineUnhold , sia la chiamata alla conferenza che la chiamata di consultazione in genere passano all'inattività.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione tapi.h
Libreria Tapi32.lib
DLL Tapi32.dll

Vedi anche

Panoramica della conferenza

LINECALLPARAMS

LINEDEVCAPS

LINEDEVSTATUS

LINE_CALLSTATE

Funzioni di servizio linea supplementari

lineCompleteTransfer

lineDial

lineDrop

lineGetLineDevStatus

lineSwapHold

lineUnhold