Pengumpulan Digit

Selain mengaktifkan pemantauan digit dan diberi tahu tentang digit satu per satu, aplikasi juga dapat meminta agar beberapa digit dikumpulkan dalam buffer. Hanya ketika buffer penuh atau ketika beberapa kondisi penghentian lain terpenuhi adalah aplikasi yang diberi tahu. Pengumpulan digit berguna untuk fungsi seperti pengumpulan nomor kartu kredit. Ini dilakukan ketika aplikasi memanggil lineGatherDigits, menentukan buffer untuk diisi dengan digit. Pengumpulan digit berakhir ketika salah satu kondisi berikut ini benar:

  • Jumlah digit yang diminta telah dikumpulkan.
  • Salah satu dari beberapa digit penghentian telah terdeteksi. Digit penghentian ditentukan untuk lineGatherDigits, dan digit penghentian ditempatkan di buffer juga.
  • Salah satu dari dua batas waktu telah kedaluwarsa. Batas waktu adalah batas waktu digit pertama, menentukan durasi maksimum sebelum digit pertama harus dikumpulkan, dan batas waktu antar digit, menentukan durasi maksimum antara digit berturut-turut.
  • Pengumpulan digit dibatalkan secara eksplisit oleh lineGatherDigits lagi dengan sekumpulan parameter lain untuk memulai permintaan pengumpulan yang baru atau dengan menggunakan parameter digit buffer NULL untuk membatalkan.

Ketika pengumpulan digit berakhir karena alasan apa pun, pesan LINE_GATHERDIGITS dikirim ke aplikasi yang meminta pengumpulan digit. Hanya satu permintaan pengumpulan digit yang dapat terutang pada panggilan pada waktu tertentu di semua aplikasi yang merupakan pemilik panggilan.

Pengumpulan digit dan pemantauan digit dapat diaktifkan pada panggilan yang sama secara bersamaan. Dalam hal ini, aplikasi akan menerima pesan LINE_MONITORDIGITS untuk setiap digit yang terdeteksi dan pesan LINE_GATHERDIGITS terpisah saat buffer dikirim kembali.