Gambaran Umum Penyedia Layanan TAPI

Aplikasi TAPI berada di ruang proses mereka sendiri. Aplikasi TAPI memuat Tapi32.dll atau Tapi3.dll ke dalam prosesnya, dan TAPI berkomunikasi dengan TAPISRV melalui antarmuka RPC privat. TSP berjalan dalam konteks TAPISRV. TSP tertentu dapat berada di komputer selain mesin pengguna dan diakses menggunakan TSP jarak jauh. TAPISRV diimplementasikan sebagai proses layanan dalam SVCHOST. MSP berada dalam ruang proses aplikasi dan selalu lokal.

Pasangan TSP/MSP dapat dianggap memiliki jalur komunikasi privat virtual. Informasi dapat dikirim antara keduanya menggunakan buffer buram yang tidak ditafsirkan oleh TAPISRV atau DLL TAPI.

Beberapa penyedia layanan menerapkan operasi khusus untuk perangkat keras yang terlibat. TAPI 2.x menyediakan akses ke operasi tersebut melalui fungsi lineDevSpecific atau phoneDevSpecific . TAPI 3.x mengekspos Antarmuka khusus penyedia.

Diagram berikut mengilustrasikan aliran kontrol dan informasi, memperlihatkan satu TSP (Unimodem) mandiri dan satu pasangan TSP/MSP (H.323).

tsp mandiri dan aliran kontrol dan informasi tsp/msp yang dipasangkan

Diagram berikut mengilustrasikan kemajuan panggilan masuk yang melibatkan TSP dan MSP.

panggilan masuk dengan tsp dan msp

Penyetelan Panggilan Masuk

  • TSP mengirim pesan LINE_NEWCALL ke TAPISRV. Status panggilan LINECALLSTATE_OFFERING.
  • TAPISRV memberi tahu klien tentang panggilan tersebut.
  • TAPI3 membuat objek Panggilan TAPI, lalu memanggil ITMSPAddress::CreateMSPCall, yang diimplementasikan oleh MSP.
  • MSP membuat objek Panggilan MSP dan aliran default berdasarkan jenis media yang diperlukan untuk panggilan. Ini mengembalikan pointer IUnknown ke objek panggilan MSP.
  • TAPI3 menggabungkan objek Panggilan MSP ke dalam objek PANGGILAN TAPI, membuat antarmuka seperti ITStreamControl tersedia untuk aplikasi. Kemudian memberi tahu aplikasi panggilan baru.

Aplikasi kemudian dapat menggunakan metode seperti ITStream::SelectTerminal untuk menyelesaikan persiapan untuk penyelesaian panggilan.

Penyelesaian Panggilan Masuk

  • Aplikasi ini memanggil ITBasicCallControl::Answer.
  • TAPI3 memanggil lineAnswer.
  • TAPISERV memanggil TSPI_lineAnswer.
  • TSP memulai streaming panggilan. Biasanya, TSP mengirim pesan ke MSP yang sesuai, dan MSP memulai aliran. Dalam beberapa implementasi TSP/MSP, TSP memulai aliran.

Komunikasi TSP/MSP Selama Kemajuan Panggilan

Setelah panggilan berlangsung, TSP dan MSP berkomunikasi dengan melewati buffer buram melalui TAPISRV dan TAPI3.

  • TSP mengirimkan informasi ke MSP dengan mengirim pesan LINE_SENDMSPDATA ke TAPISRV.
  • MSP menerima informasi dari TSP melalui metode ITMSPAddress::ReceiveTSPData . Jika data terkait dengan objek panggilan MSP, penunjuk antarmuka ke objek panggilan MSP disediakan sebagai parameter metode tersebut.
  • MSP mengirimkan informasi ke TSP dengan mengirim peristiwa MSP_TSP_DATA ke TAPI 3.
  • TSP menerima informasi dari MSP melalui fungsi TSPI_lineReceiveMSPData .

Proses dan konten komunikasi yang tepat antara penyedia layanan khusus untuk set TSP/MSP tertentu.

Catatan

Untuk panggilan keluar, MSP biasanya tahu tentang panggilan sebelum TSP. Jika MSP mencoba berkomunikasi dengan TSP sebelum TSP diberitahu tentang panggilan, komunikasi akan gagal. Ketika MSP dan TSP perlu bertukar informasi mengenai panggilan tertentu, TSP harus memulai komunikasi.