fungsi lineMakeCall (tapi.h)

Fungsi lineMakeCall menempatkan panggilan pada baris yang ditentukan ke alamat tujuan yang ditentukan. Secara opsional, parameter panggilan dapat ditentukan jika ada tetapi parameter penyiapan panggilan default diminta.

Sintaks

LONG lineMakeCall(
  HLINE                  hLine,
  LPHCALL                lphCall,
  LPCSTR                 lpszDestAddress,
  DWORD                  dwCountryCode,
  LPLINECALLPARAMS const lpCallParams
);

Parameter

hLine

Tangani ke perangkat jalur terbuka tempat panggilan akan berasal.

lphCall

Penunjuk ke handel HCALL. Handel hanya valid setelah pesan LINE_REPLY diterima oleh aplikasi yang menunjukkan bahwa fungsi lineMakeCall berhasil diselesaikan. Gunakan handel ini untuk mengidentifikasi panggilan saat memanggil operasi telepon lainnya pada panggilan. Aplikasi awalnya adalah pemilik satu-satunya panggilan ini. Handel ini batal jika fungsi mengembalikan kesalahan (secara sinkron atau asinkron oleh pesan balasan).

lpszDestAddress

Arahkan ke alamat tujuan. Ini mengikuti format angka yang dapat dialihkan standar. Penunjuk ini dapat berupa NULL untuk alamat yang tidak dihubungi (seperti halnya telepon panas) atau ketika semua panggilan dilakukan menggunakan lineDial. Dalam kasus terakhir, lineMakeCall mengalokasikan tampilan panggilan yang tersedia yang biasanya akan tetap dalam status dialtone hingga panggilan dimulai. Penyedia layanan yang memiliki kemampuan multipleks terbalik dapat memungkinkan aplikasi menentukan beberapa alamat sekaligus.

dwCountryCode

Kode negara atau wilayah dari pihak yang dipanggil. Jika nilai 0 ditentukan, default digunakan oleh implementasi.

lpCallParams

Penunjuk ke struktur LINECALLPARAMS . Struktur ini memungkinkan aplikasi untuk menentukan bagaimana ia ingin panggilan disiapkan. Jika NULL ditentukan, panggilan suara default 3,1 kHz dibuat dan alamat asal arbitrer pada baris dipilih. Struktur ini memungkinkan aplikasi untuk memilih elemen seperti mode pembawa panggilan, laju data, mode media yang diharapkan, alamat asal, pemblokiran informasi ID penelepon, dan parameter panggilan.

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_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.

Keterangan

Jika LINEERR_INVALLINESTATE dikembalikan, baris saat ini tidak dalam keadaan di mana operasi ini dapat dilakukan. Daftar operasi yang saat ini valid dapat ditemukan di anggota dwLineFeatures (dari jenis LINEFEATURE_) dalam struktur LINEDEVSTATUS . Memanggil lineGetLineDevStatus memperbarui informasi di LINEDEVSTATUS. Jika LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE, atau LINEERR_DIALPROMPT dikembalikan, tidak ada tindakan yang dilakukan oleh lineMakeCall yang terjadi; misalnya, tidak ada alamat dialable sebelum karakter yang menyinggung telah dipanggang, tidak ada status hookswitch yang berubah, dan sebagainya.

Setelah panggilan selesai, beberapa pesan LINE_CALLSTATE biasanya dikirim ke aplikasi untuk memberi tahu tentang kemajuan panggilan. Tidak ada urutan transisi status panggilan yang valid secara umum yang ditentukan, karena tidak ada urutan transisi tetap tunggal yang dapat dijamin dalam praktiknya. Urutan umum dapat menyebabkan panggilan ke transisi dari dialtone, putar nomor, melanjutkan, deringbalik, tersambung. Dengan baris yang tidak dihubungi, panggilan biasanya dapat bertransisi langsung ke status tersambung .

Aplikasi memiliki opsi untuk menentukan alamat asal pada perangkat baris yang ditentukan. Penyedia layanan yang memodelkan semua stasiun pada sakelar sebagai alamat pada satu perangkat jalur memungkinkan aplikasi untuk memulai panggilan dari salah satu stasiun ini menggunakan lineMakeCall.

Parameter panggilan memungkinkan aplikasi untuk melakukan panggilan non-suara atau meminta opsi penyiapan panggilan khusus yang tidak tersedia secara default.

Aplikasi dapat melakukan panggilan sebagian menggunakan lineMakeCall dan melanjutkan panggilan menggunakan lineDial. Untuk informasi selengkapnya tentang putar nomor parsial, lihat lineDial dan TSPI_lineMakeCall. Untuk meninggalkan upaya panggilan, gunakan lineDrop.

Setelah lineMakeCall mengembalikan pesan balasan keberhasilan ke aplikasi, pesan LINE_CALLSTATE dikirim ke aplikasi untuk menunjukkan status panggilan saat ini. Status ini belum tentu LINECALLSTATE_DIALTONE.

Fungsi ini dapat mengirim data melalui kabel dalam bentuk yang tidak terenkripsi; oleh karena itu, seseorang menguping pada jaringan mungkin dapat membaca data. Risiko keamanan pengiriman data dalam teks yang jelas harus dipertimbangkan sebelum menggunakan metode ini.

Hati TAPI akan menulis data yang dikembalikan ke buffer yang direferensikan oleh lphCall ketika pesan LINE_REPLY dikembalikan. Ini berarti bahwa buffer harus tetap valid sampai pesan LINE_REPLY dikembalikan; jika tidak, kerusakan dan pengecualian data dapat terjadi.
 

Persyaratan

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

Lihat juga

Referensi Layanan Telepon Dasar

Alamat yang dapat dialihkan

LINECALLPARAMS

LINEDEVSTATUS

LINE_CALLSTATE

LINE_REPLY

Gambaran Umum Referensi TAPI 2.2

lineDial

lineDrop

lineGetLineDevStatus