ข้อความเสียงพร้อมภาพ

Android 6.0 (Marshmallow) ได้นำการใช้งานการสนับสนุนข้อความเสียงแบบเห็นภาพ (VVM) มาผสานรวมไว้ในเครื่องมือโทร ซึ่งช่วยให้บริการ VVM ของผู้ให้บริการที่เข้ากันได้สามารถเชื่อมต่อกับเครื่องมือโทรได้ด้วยการกําหนดค่าเพียงเล็กน้อย ข้อความเสียงแบบมีอินเทอร์เฟซช่วยให้ผู้ใช้ตรวจสอบข้อความเสียงได้ง่ายๆ โดยไม่ต้องโทรออก ผู้ใช้สามารถดูรายการข้อความในอินเทอร์เฟซที่คล้ายกับกล่องจดหมาย ฟังข้อความตามลำดับที่ต้องการ และลบข้อความได้ตามต้องการ

Android 7.0 ได้เพิ่มพารามิเตอร์การกําหนดค่าต่อไปนี้ลงในข้อความเสียงแบบเห็นภาพ

  • การเรียกข้อมูลข้อความเสียงล่วงหน้าที่ควบคุมโดย KEY_VVM_PREFETCH_BOOLEAN
  • การควบคุมว่าจำเป็นต้องใช้การเชื่อมต่ออินเทอร์เน็ตมือถือหรือไม่โดย KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN
  • การดึงข้อมูลการถอดเสียงข้อความเสียง
  • การดึงข้อมูลโควต้าข้อความเสียง

หน้านี้จะแสดงภาพรวมของสิ่งที่มีให้ วิธีที่ผู้ขนส่งจะผสานรวมกับบริการนี้ และรายละเอียดบางอย่างของการใช้งาน

โปรแกรมรับส่งข้อความเสียงพร้อมภาพ (VVM)

Android 6.0 ขึ้นไปมีไคลเอ็นต์ VVM ของ OMTP ซึ่ง (เมื่อมีการกําหนดค่าที่ถูกต้อง) จะเชื่อมต่อกับเซิร์ฟเวอร์ VVM ของผู้ให้บริการและแสดงข้อความ VVM ภายในโปรแกรมโทรของโปรเจ็กต์โอเพนซอร์ส Android (AOSP) ไคลเอ็นต์ VVM

  • จัดการข้อความ SMS ที่ใช้เพื่อเปิดใช้งาน/ปิดใช้งาน/ค้นหาสถานะของบริการและข้อความ SMS ที่ใช้เพื่อแจ้งให้อุปกรณ์ทราบถึงเหตุการณ์ในกล่องจดหมายของผู้สมัครใช้บริการ
  • ซิงค์กล่องจดหมายกับเซิร์ฟเวอร์ IMAP
  • ดาวน์โหลดข้อความเสียงเมื่อผู้ใช้เลือกฟัง
  • ดึงข้อมูลการถอดข้อความเสียงเป็นคำ
  • ดึงข้อมูลรายละเอียดโควต้าข้อความเสียง (ขนาดกล่องจดหมายทั้งหมดและขนาดที่ใช้)
  • ผสานรวมกับเครื่องมือโทรเพื่อฟังก์ชันการทำงานของผู้ใช้ เช่น การโทรกลับ การดูข้อความที่ยังไม่ได้อ่าน การลบข้อความ ฯลฯ

ผสานรวมกับไคลเอ็นต์ VVM

การใช้งาน

ผู้ให้บริการต้องจัดหาเซิร์ฟเวอร์ข้อความเสียงพร้อมภาพที่ใช้ข้อกำหนด VVM ของ OMTP การใช้งานไคลเอ็นต์ VVM ของ AOSP ปัจจุบันรองรับฟีเจอร์หลักๆ (อ่าน/ลบข้อความเสียง ดาวน์โหลด/ซิงค์/ฟัง) แต่ไม่ได้ใช้งานฟีเจอร์ TUI เพิ่มเติม (การเปลี่ยนรหัสผ่าน ข้อความทักทายของข้อความเสียง ภาษา) ขณะนี้เรารองรับเฉพาะ OMTP เวอร์ชัน 1.1 และไม่ใช้การเข้ารหัสสําหรับการตรวจสอบสิทธิ์ IMAP

ผู้ให้บริการต้องรองรับรูปแบบไฟล์แนบการถอดเสียง (ประเภท MIME ธรรมดา/ข้อความ) ที่ระบุไว้ในข้อกำหนด OMTP 1.3 รายการที่ 2.1.3 เพื่อรองรับการถอดเสียง

หมายเหตุ: ข้อความ SMS ที่มาจากเซิร์ฟเวอร์ไปยังอุปกรณ์ (เช่น STATUS หรือ SYNC) ต้องเป็นข้อความ SMS ที่ใช้อินเทอร์เน็ต

การกำหนดค่า

หากต้องการให้ผู้ให้บริการผสานรวมกับบริการ VVM ผู้ให้บริการต้องระบุรายละเอียดการกําหนดค่าให้กับแพลตฟอร์มที่ไคลเอ็นต์ OMTP ใช้ได้ พารามิเตอร์เหล่านี้ ได้แก่

  • หมายเลขปลายทางและหมายเลขพอร์ตสําหรับ SMS
  • ชื่อแพ็กเกจของแอปข้อความเสียงพร้อมภาพที่ผู้ให้บริการให้ไว้ (หากมี) เพื่อให้ปิดใช้การติดตั้งใช้งานแพลตฟอร์มได้หากมีการติดตั้งแพ็กเกจดังกล่าว

ค่าเหล่านี้ระบุผ่าน Carrier Config API ฟังก์ชันการทำงานนี้เปิดตัวใน Android 6.0 ซึ่งช่วยให้แอปกำหนดค่าที่เกี่ยวข้องกับการโทรแบบไดนามิกให้กับคอมโพเนนต์ต่างๆ ของแพลตฟอร์มที่ต้องการได้ โดยเฉพาะอย่างยิ่ง คีย์ต่อไปนี้ต้องมีค่าที่กําหนดไว้

  • KEY_VVM_DESTINATION_NUMBER_STRING
  • KEY_VVM_PORT_NUMBER_INT
  • KEY_VVM_TYPE_STRING
  • KEY_CARRIER_VVM_PACKAGE_NAME_STRING
  • KEY_VVM_PREFETCH_BOOLEAN
  • KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN

ดูรายละเอียดได้ที่การกำหนดค่าผู้ให้บริการ

การใช้งาน

มีการใช้ไคลเอ็นต์ VVM ของ OMTP ภายใน packages/services/Telephony โดยเฉพาะอย่างยิ่งภายใน src/com/android/phone/vvm/

ตั้งค่า

  1. ไคลเอ็นต์ VVM จะคอยฟัง TelephonyIntents#ACTION_SIM_STATE_CHANGED หรือ CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED
  2. เมื่อเพิ่ม SIM ที่มีค่าการกําหนดค่าของผู้ให้บริการที่ถูกต้อง (KEY_VVM_TYPE_STRING ตั้งค่าเป็น TelephonyManager.VVM_TYPE_OMTP หรือ TelephonyManager.VVM_TYPE_CVVM) ไคลเอ็นต์ VVM จะส่ง SMS ACTIVATE ไปยังค่าที่ระบุใน KEY_VVM_DESTINATION_NUMBER_STRING
  3. เซิร์ฟเวอร์จะเปิดใช้งานบริการข้อความเสียงแบบเห็นภาพและส่งข้อมูลเข้าสู่ระบบ OMTP ผ่าน STATUS SMA เมื่อไคลเอ็นต์ VVM ได้รับ SMS สถานะ ระบบจะลงทะเบียนแหล่งที่มาของข้อความเสียงและแสดงแท็บข้อความเสียงบนอุปกรณ์
  4. ระบบจะบันทึกข้อมูลเข้าสู่ระบบ OMTP ไว้ในเครื่องและอุปกรณ์จะเริ่มการซิงค์แบบเต็มตามที่อธิบายไว้ด้านล่าง

การซิงค์

ไคลเอ็นต์ VVM สามารถซิงค์กับเซิร์ฟเวอร์ของผู้ให้บริการและในทางกลับกันได้หลายวิธี

  • การซิงค์แบบเต็มจะเกิดขึ้นเมื่อดาวน์โหลดครั้งแรก ไคลเอ็นต์ VVM จะดึงข้อมูลเมตาของข้อความเสียง เช่น วันที่และเวลา หมายเลขต้นทาง ระยะเวลา การถอดเสียงข้อความเสียง (หากมี) และข้อมูลเสียง หากKEY_VVM_PREFETCH_BOOLEANเป็น "จริง" การซิงค์แบบเต็มจะทริกเกอร์โดยสิ่งต่อไปนี้
    • ใส่ซิมใหม่
    • การรีบูตอุปกรณ์
    • กลับมาให้บริการ
    • กำลังรับการออกอากาศ VoicemailContract.ACTION_SYNC_VOICEMAIL
  • การซิงค์การอัปโหลดจะเกิดขึ้นเมื่อผู้ใช้โต้ตอบกับข้อความเสียงเพื่ออ่านหรือลบ การซิงค์การอัปโหลดจะทำให้เซิร์ฟเวอร์เปลี่ยนข้อมูลให้ตรงกับข้อมูลในอุปกรณ์ เช่น หากผู้ใช้อ่านข้อความเสียง ระบบจะทำเครื่องหมายข้อความเสียงนั้นว่าอ่านแล้วในเซิร์ฟเวอร์ หากผู้ใช้ลบข้อความเสียง ระบบก็จะลบข้อความเสียงนั้นในเซิร์ฟเวอร์
  • การซิงค์การดาวน์โหลดจะเกิดขึ้นเมื่อไคลเอ็นต์ VVM ได้รับ SMS SYNC "MBU" (การอัปเดตกล่องจดหมาย) จากผู้ให้บริการ ข้อความ SYNC มีข้อมูลเมตาของข้อความใหม่เพื่อให้จัดเก็บไว้ในผู้ให้บริการเนื้อหาข้อความเสียงได้

หมายเหตุ: ระบบจะดึงค่าโควต้ากล่องจดหมายข้อความเสียงระหว่างการซิงค์ทุกครั้ง

การดาวน์โหลดข้อความเสียง

เมื่อผู้ใช้กดเล่นเพื่อฟังข้อความเสียง ระบบจะดาวน์โหลดไฟล์เสียงที่เกี่ยวข้อง หากผู้ใช้เลือกฟังข้อความเสียง ตัวต่อสายสามารถออกอากาศ VoicemailContract.ACTION_FETCH_VOICEMAIL ซึ่งไคลเอ็นต์ข้อความเสียงจะรับ เริ่มต้นการดาวน์โหลดเนื้อหา และอัปเดตระเบียนในผู้ให้บริการเนื้อหาข้อความเสียงของแพลตฟอร์ม

ปิดใช้ VVM

บริการ VVM สามารถปิดใช้หรือปิดใช้งานได้โดยการดำเนินการของผู้ใช้ การนำซิมที่ใช้งานได้ออก หรือการเปลี่ยนแอป VVM ของผู้ให้บริการ ปิดใช้หมายความว่าอุปกรณ์ในเครื่องจะไม่แสดงข้อความเสียงพร้อมภาพอีกต่อไป ปิดใช้งานหมายความว่าบริการถูกปิดไม่ให้สมาชิกใช้งาน การโต้ตอบของผู้ใช้อาจทำให้บริการปิดใช้งาน การถอดซิมจะปิดใช้งานบริการชั่วคราวเนื่องจากไม่มีซิมอยู่ในเครื่องอีกต่อไป และการเปลี่ยน VVM ของผู้ให้บริการจะปิดใช้งานไคลเอ็นต์ VVM ของ AOSP

การโต้ตอบของผู้ใช้

ผู้ใช้สามารถเปิดหรือปิดใช้ข้อความเสียงพร้อมภาพด้วยตนเอง หากผู้ใช้ปิดใช้ข้อความเสียงแบบเห็นภาพ จะเป็นการปิดใช้งานบริการด้วย เมื่อผู้ใช้ปิดใช้ข้อความเสียงแบบเห็นภาพ ระบบจะส่ง SMS แจ้งให้ปิดใช้งาน แหล่งที่มาของข้อความเสียงจะยกเลิกการลงทะเบียนในเครื่อง และแท็บข้อความเสียงจะหายไป หากเปิดใช้ข้อความเสียงพร้อมภาพอีกครั้ง บริการดังกล่าวก็จะกลับมาใช้งานได้อีกครั้งด้วย

การนำซิมออก

หากมีการเปลี่ยนแปลงสถานะ SIM ของอุปกรณ์ (ACTION_SIM_STATE_CHANGED) หรือค่าการกำหนดค่าของผู้ให้บริการ (ACTION_CARRIER_CONFIG_CHANGED) และไม่มีการกำหนดค่าที่ถูกต้องสำหรับซิมดังกล่าวอีกต่อไป ระบบจะไม่ลงทะเบียนแหล่งที่มาของข้อความเสียงในเครื่องและแท็บข้อความเสียงจะหายไป หากเปลี่ยนซิม ระบบจะเปิดใช้ VVM อีกครั้ง

แทนที่โดย VVM ของผู้ให้บริการ

แอปข้อความเสียงพร้อมภาพของผู้ให้บริการ (หากติดตั้งไว้ในอุปกรณ์) สามารถปิดใช้ไคลเอ็นต์ VVM ของ AOSP ได้ ซึ่งทำได้โดยการตรวจสอบว่ามีการติดตั้งแพ็กเกจที่มีชื่อตรงกับพารามิเตอร์ KEY_CARRIER_VVM_PACKAGE_NAME_STRING หรือไม่

ลูกค้า VVM จะยังคงเปิดใช้ได้ผ่านการโต้ตอบของผู้ใช้

การทดสอบ

มีชุดการทดสอบ CTS สำหรับ VoicemailProvider API อยู่แล้ว (ตั้งแต่ Android 4.0) ซึ่งอนุญาตให้แอปแทรก/ค้นหา/ลบข้อความเสียงลงในแพลตฟอร์ม API เหล่านี้เป็น API เดียวกับที่ VVM ใช้เพื่อเพิ่ม/ลบข้อความเสียงเพื่อให้แอป Dialer ใดก็ได้แสดงข้อความเสียงเหล่านั้นใน UI

หากต้องการทดสอบว่าแอปการกําหนดค่าส่งผ่านการกําหนดค่า OMTP อย่างถูกต้องหรือไม่ ให้ทดสอบโค้ดด้วยวิธีต่อไปนี้

  • ซิมที่มีลายเซ็นใบรับรองที่ถูกต้อง
  • อุปกรณ์ที่ใช้ Android 6.0 ที่มีเฟรมเวิร์กโทรศัพท์ AOSP เวอร์ชันที่ไม่มีการแก้ไข