fungsi lineSetupTransfer (tapi.h)

Fungsi lineSetupTransfer memulai transfer panggilan yang ditentukan oleh parameter hCall . Ini menetapkan panggilan konsultasi, lphConsultCall, di mana pihak dapat dihubungi yang dapat menjadi tujuan transfer. Aplikasi memperoleh hak istimewa pemilik ke parameter lphConsultCall .

Sintaks

LONG lineSetupTransfer(
  HCALL                  hCall,
  LPHCALL                lphConsultCall,
  LPLINECALLPARAMS const lpCallParams
);

Parameter

hCall

Tangani ke panggilan yang akan ditransfer. Aplikasi harus menjadi pemilik panggilan. Status panggilan hCall harus tersambung.

lphConsultCall

Penunjuk ke handel hCall . Lokasi ini kemudian dimuat dengan handel yang mengidentifikasi panggilan konsultasi sementara. Saat menyiapkan panggilan untuk transfer, panggilan konsultasi dialokasikan secara otomatis yang memungkinkan lineDial untuk memanggil alamat yang terkait dengan tujuan transfer baru panggilan. Pihak yang berasal dapat melakukan percakapan melalui panggilan konsultasi ini sebelum menyelesaikan transfer. Status panggilan hConsultCall tidak berlaku.

Prosedur transfer ini mungkin tidak valid untuk beberapa perangkat baris. Aplikasi mungkin perlu mengabaikan panggilan konsultasi baru dan membatalkan panggilan yang ada (menggunakan lineUnhold) untuk mengidentifikasi tujuan transfer. Pada sakelar yang mendukung transfer panggilan lintas alamat, panggilan konsultasi dapat ada di alamat yang berbeda dari panggilan yang akan ditransfer. Mungkin juga perlu bahwa panggilan konsultasi disiapkan sebagai panggilan yang sama sekali baru, dengan lineMakeCall, ke tujuan transfer. Bentuk transfer mana yang tersedia ditentukan dalam kemampuan alamat panggilan.

lpCallParams

Pointer ke struktur LINECALLPARAMS yang berisi parameter panggilan untuk digunakan saat membuat panggilan konsultasi. Parameter ini dapat diatur ke NULL jika tidak ada parameter penyiapan panggilan khusus yang diinginkan.

Menampilkan nilai

Mengembalikan pengidentifikasi permintaan positif jika fungsi selesai secara asinkron, atau nomor kesalahan negatif jika terjadi kesalahan. Parameter dwParam2 dari pesan LINE_REPLY yang sesuai adalah nol jika fungsi berhasil atau merupakan nomor kesalahan negatif jika terjadi kesalahan. Nilai yang mungkin dikembalikan adalah:

LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALRATE, LINEERR_CALLUNAVAIL, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_NOTOWNER, LINEERR_INVALADDRESSMODE, LINEERR_OPERATIONFAILED, LINEERR_INVALBEARERMODE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_RATEUNAVAIL, LINEERR_INVALCALLPARAMS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALLINESTATE, LINEERR_UNINITIALIZED, LINEERR_INVALMEDIAMODE, LINEERR_USERUSERINFOTOOBIG, LINEERR_ INVALPOINTER.

Keterangan

Fungsi lineSetupTransfer menyiapkan transfer panggilan yang ditentukan oleh hCall. Fase penyiapan transfer menetapkan panggilan konsultasi yang memungkinkan aplikasi untuk mengirim alamat tujuan (pihak yang akan ditransfer ke) ke switch, sementara panggilan yang akan ditransfer terus ditangguhkan. Panggilan baru ini disebut sebagai panggilan konsultasi (hConsultCall) dan dapat dijatuhkan atau dimanipulasi secara independen dari panggilan asli.

Ketika panggilan konsultasi telah mencapai status panggilan dialtone , aplikasi dapat melanjutkan mentransfer panggilan baik dengan memanggil alamat tujuan dan melacak kemajuannya, atau dengan membatalkan panggilan yang ada. Transfer panggilan asli ke tujuan yang dipilih selesai menggunakan lineCompleteTransfer.

Meskipun panggilan konsultasi ada, panggilan asli biasanya beralih ke status onholdPendingTransfer . Aplikasi mungkin dapat beralih antara panggilan konsultasi dan panggilan asli dengan menggunakan lineSwapHold. Panggilan konsultasi dapat dibatalkan dengan memanggil lineDrop di atasnya. Setelah menghilangkan panggilan konsultasi, panggilan asli biasanya beralih kembali ke status tersambung . Jika status panggilan panggilan asli adalah onholdPendingTransfer, fungsi lineUnhold dapat digunakan untuk memulihkan panggilan. Dalam hal ini, status panggilan panggilan konsultasi diatur ke diam.

Aplikasi ini juga dapat mentransfer panggilan dalam satu langkah, tanpa harus berurusan dengan panggilan konsultasi intervensi, dengan menggunakan lineBlindTransfer.

Persyaratan

   
Target Platform Windows
Header tapi.h
Pustaka Tapi32.lib
DLL Tapi32.dll

Lihat juga

LINECALLPARAMS

LINE_REPLY

Fungsi Layanan Garis Tambahan

Gambaran Umum Referensi TAPI 2.2

Gambaran Umum Transfer

lineBlindTransfer

lineCompleteTransfer

lineDial

lineDrop

lineMakeCall

lineSwapHold

lineUnhold