Bagikan melalui


Fungsi Garis yang Diperluas

Layanan garis yang diperluas (atau layanan lini khusus perangkat) mencakup semua ekstensi yang ditentukan penyedia layanan ke API. API menentukan mekanisme yang memungkinkan vendor penyedia layanan memperluas TAPI menggunakan ekstensi khusus perangkat. API hanya menentukan mekanisme ekstensi, dan dengan demikian menyediakan akses ke ekstensi khusus perangkat, tetapi API tidak menentukan perilakunya. Perilaku sepenuhnya ditentukan oleh penyedia layanan.

TAPI terdiri dari definisi konstanta skalar dan bendera bit, struktur data, fungsi, dan pesan. Prosedur didefinisikan yang memungkinkan vendor untuk memperluas sebagian besar dari ini sebagai berikut.

Untuk konstanta data skalar yang dapat diperluas, vendor penyedia layanan dapat menentukan nilai baru dalam rentang tertentu. Karena sebagian besar konstanta data DWORD, biasanya rentang 0x00000000 melalui 0x7FFFFFFF disediakan untuk ekstensi umum di masa mendatang, sementara 0x80000000 melalui 0xFFFFFFFF tersedia untuk ekstensi khusus vendor. Asumsinya adalah bahwa vendor akan menentukan nilai yang merupakan ekstensi alami dari jenis data yang ditentukan oleh API.

Untuk konstanta data bendera bit yang dapat diperluas, vendor penyedia layanan dapat menentukan nilai baru untuk bit yang ditentukan. Karena sebagian besar konstanta bendera bit DWORD, biasanya jumlah bit bawah tertentu dicadangkan untuk ekstensi umum sementara bit atas yang tersisa tersedia untuk ekstensi khusus vendor. Bendera bit umum ditetapkan dari bit nol ke atas; ekstensi khusus vendor harus ditetapkan dari bit 31 ke bawah. Ini memberikan fleksibilitas maksimum dalam menetapkan posisi bit ke ekstensi umum versus ekstensi khusus vendor. Vendor diharapkan untuk menentukan nilai baru yang merupakan ekstensi alami dari bendera bit yang ditentukan oleh API.

Struktur data yang dapat diperluas memiliki bidang berukuran bervariasi yang dicadangkan untuk penggunaan khusus perangkat. Berukuran bervariasi, penyedia layanan memutuskan jumlah informasi dan interpretasi. Vendor yang mendefinisikan bidang khusus perangkat diharapkan membuat ekstensi alami ini dari struktur data asli yang ditentukan oleh API.

Dua fungsi, lineDevSpecific dan lineDevSpecificFeature, dan dua pesan terkait, LINE_DEVSPECIFIC dan LINE_DEVSPECIFICFEATURE, menyediakan mekanisme ekstensi khusus vendor. Fungsi lineDevSpecific dan pesan LINE_DEVSPECIFIC terkait memungkinkan aplikasi mengakses baris, alamat, atau fitur panggilan khusus perangkat yang tidak tersedia dengan layanan Telepon Dasar atau Tambahan. Profil parameter fungsi lineDevSpecific umum dalam interpretasi kecil parameter dibuat oleh API. Interpretasi parameter ditentukan oleh penyedia layanan dan harus dipahami oleh aplikasi yang menggunakannya. Parameter hanya diteruskan melalui TAPI dari aplikasi ke penyedia layanan. Aplikasi yang bergantung pada ekstensi khusus perangkat umumnya tidak akan berfungsi dengan penyedia layanan lain; namun, aplikasi yang ditulis ke layanan Telepon Dasar dan Tambahan akan berfungsi dengan penyedia layanan yang diperluas.

Untuk kenyamanan, fungsi escape yang lebih khusus juga disediakan. Ini mirip dengan lineDevSpecific, tetapi menempatkan interpretasi pada beberapa parameter. Fungsi yang lebih khusus ini lineDevSpecificFeature, fungsi escape khusus perangkat untuk memungkinkan pengiriman fitur sakelar ke sakelar. Pesan LINE_DEVSPECIFICFEATURE adalah pesan khusus perangkat yang dikirim ke aplikasi sebagai indikasi fitur yang dikirim ke sakelar. Fungsi ini dan pesan terkait memungkinkan aplikasi untuk meniru penekanan tombol di telepon fitur saluran. Karena ponsel fitur dan arti tombolnya khusus vendor, pemanggilan fitur menggunakan lineDevSpecificFeature juga spesifik vendor.

Seperti disebutkan sebelumnya, tidak ada registri pusat untuk pengidentifikasi produsen. Sebagai gantinya, generator pengidentifikasi unik (EXTIDGEN) tersedia.