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 |