Thư thoại kèm theo hình ảnh

Android 6.0 (Marshmallow) đã triển khai tính năng hỗ trợ thư thoại trực quan (VVM) được tích hợp vào Trình quay số, cho phép các dịch vụ VVM của nhà mạng tương thích kết nối với Trình quay số với cấu hình tối thiểu. Thư thoại trực quan cho phép người dùng dễ dàng kiểm tra thư thoại mà không cần thực hiện cuộc gọi điện thoại nào. Người dùng có thể xem danh sách thư trong giao diện giống như hộp thư đến, nghe thư theo thứ tự bất kỳ và có thể xoá thư nếu muốn.

Android 7.0 đã thêm các tham số cấu hình sau vào thư thoại dạng hình ảnh:

  • Tính năng tìm nạp trước thư thoại do KEY_VVM_PREFETCH_BOOLEAN kiểm soát
  • Kiểm soát việc KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN có yêu cầu kết nối dữ liệu di động hay không
  • Tìm nạp bản chép lời thư thoại
  • Tìm nạp hạn mức thư thoại

Trang này cung cấp thông tin tổng quan về nội dung được cung cấp, cách nhà mạng có thể tích hợp với nội dung đó và một số thông tin chi tiết về cách triển khai.

Ứng dụng thư thoại kèm theo hình ảnh (VVM)

Android 6.0 trở lên bao gồm ứng dụng OMTP VVM (khi được cung cấp cấu hình chính xác) sẽ kết nối với máy chủ VVM của nhà mạng và điền sẵn thông báo VVM trong Trình quay số của Dự án nguồn mở Android (AOSP). Ứng dụng VVM:

  • Xử lý các tin nhắn SMS dùng để kích hoạt/huỷ kích hoạt/truy vấn trạng thái của dịch vụ và các tin nhắn SMS dùng để thông báo cho thiết bị về các sự kiện trong hộp thư của người đăng ký
  • Đồng bộ hoá hộp thư với máy chủ IMAP
  • Tải thư thoại xuống khi người dùng chọn nghe thư thoại
  • Tìm nạp bản chép lời thư thoại
  • Tìm nạp thông tin chi tiết về hạn mức thư thoại (tổng kích thước hộp thư và kích thước đã sử dụng)
  • Tích hợp vào Trình quay số để thực hiện chức năng của người dùng, chẳng hạn như gọi lại, xem tin nhắn chưa đọc, xoá tin nhắn, v.v.

Tích hợp với ứng dụng VVM

Triển khai

Nhà mạng phải cung cấp máy chủ thư thoại kèm theo hình ảnh triển khai quy cách VVM OMTP. Việc triển khai ứng dụng VVM AOSP hiện tại hỗ trợ các tính năng cốt lõi (đọc/xoá thư thoại, tải xuống/đồng bộ hoá/nghe) nhưng các tính năng TUI bổ sung (thay đổi mật khẩu, lời chào thư thoại, ngôn ngữ) chưa được triển khai. Hiện tại, chúng tôi chỉ hỗ trợ OMTP phiên bản 1.1 và không sử dụng phương thức mã hoá để xác thực IMAP.

Để hỗ trợ bản chép lời, nhà mạng phải hỗ trợ định dạng tệp đính kèm bản chép lời (loại MIME văn bản thuần tuý/văn bản) được chỉ định trong thông số kỹ thuật OMTP 1.3, mục 2.1.3.

Lưu ý: Tin nhắn SMS bắt nguồn từ máy chủ đến thiết bị (ví dụ: STATUS hoặc SYNC) phải là tin nhắn SMS dữ liệu.

Cấu hình

Để tích hợp với dịch vụ VVM, nhà mạng phải cung cấp thông tin chi tiết về cấu hình cho nền tảng mà ứng dụng OMTP có thể sử dụng. Các thông số này là:

  • Số điện thoại đích và số cổng cho SMS
  • Tên gói của ứng dụng thư thoại kèm theo hình ảnh do nhà mạng cung cấp (nếu có) để có thể tắt việc triển khai nền tảng nếu gói đó được cài đặt

Các giá trị này được cung cấp thông qua API Cấu hình nhà mạng. Chức năng này (ra mắt trong Android 6.0) cho phép ứng dụng cung cấp linh động cấu hình liên quan đến điện thoại cho các thành phần nền tảng cần thiết. Cụ thể, các khoá sau đây phải có giá trị được xác định:

  • 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

Hãy xem phần Cấu hình nhà mạng để biết thông tin chi tiết.

Triển khai

Ứng dụng VVM OMTP được triển khai trong packages/services/Telephony, cụ thể là trong src/com/android/phone/vvm/

Thiết lập

  1. Ứng dụng VVM sẽ lắng nghe TelephonyIntents#ACTION_SIM_STATE_CHANGED hoặc CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED.
  2. Khi bạn thêm một SIM có các giá trị Cấu hình nhà mạng phù hợp (KEY_VVM_TYPE_STRING được đặt thành TelephonyManager.VVM_TYPE_OMTP hoặc TelephonyManager.VVM_TYPE_CVVM), ứng dụng VVM sẽ gửi một tin nhắn SMS KÍCH HOẠT đến giá trị được chỉ định trong KEY_VVM_DESTINATION_NUMBER_STRING.
  3. Máy chủ kích hoạt dịch vụ thư thoại hình ảnh và gửi thông tin xác thực OMTP thông qua STATUS SMA. Khi ứng dụng VVM nhận được tin nhắn SMS STATUS, ứng dụng này sẽ đăng ký nguồn thư thoại và hiển thị thẻ thư thoại trên thiết bị.
  4. Thông tin xác thực OMTP được lưu cục bộ và thiết bị bắt đầu đồng bộ hoá toàn bộ, như mô tả bên dưới.

Đồng bộ hóa

Có nhiều cách để ứng dụng VVM có thể đồng bộ hoá với máy chủ của nhà mạng và ngược lại.

  • Quá trình đồng bộ hoá toàn bộ diễn ra khi tải xuống lần đầu. Ứng dụng VVM tìm nạp siêu dữ liệu của thư thoại như ngày và giờ; số điện thoại gốc; thời lượng; bản chép lời thư thoại (nếu có) và dữ liệu âm thanh nếu KEY_VVM_PREFETCH_BOOLEAN là True. Quá trình đồng bộ hoá toàn bộ có thể được kích hoạt bằng:
    • Lắp SIM mới
    • Khởi động lại thiết bị
    • Sắp hoạt động trở lại
    • Nhận thông báo truyền tin VoicemailContract.ACTION_SYNC_VOICEMAIL
  • Tải lên đồng bộ hoá xảy ra khi người dùng tương tác với một thư thoại để đọc hoặc xoá thư thoại đó. Quá trình đồng bộ hoá tải lên sẽ khiến máy chủ thay đổi dữ liệu của mình để khớp với dữ liệu trên thiết bị. Ví dụ: nếu người dùng đọc thư thoại, thư thoại đó sẽ được đánh dấu là đã đọc trên máy chủ; nếu người dùng xoá thư thoại, thư thoại đó sẽ bị xoá trên máy chủ.
  • Tải xuống đồng bộ hoá xảy ra khi ứng dụng VVM nhận được SMS SYNC "MBU" (cập nhật hộp thư) từ nhà mạng. Thông báo SYNC chứa siêu dữ liệu của một thông báo mới để có thể lưu trữ thông báo đó trong trình cung cấp nội dung thư thoại.

Lưu ý: Các giá trị hạn mức hộp thư thoại sẽ được truy xuất trong mỗi lần đồng bộ hoá.

Tải thư thoại xuống

Khi người dùng nhấn nút phát để nghe thư thoại, tệp âm thanh tương ứng sẽ được tải xuống. Nếu người dùng chọn nghe thư thoại, Trình quay số có thể truyền tin VoicemailContract.ACTION_FETCH_VOICEMAIL mà ứng dụng thư thoại nhận được, bắt đầu tải nội dung xuống và cập nhật bản ghi trong nhà cung cấp nội dung thư thoại của nền tảng.

Tắt VVM

Dịch vụ thư thoại kèm theo hình ảnh có thể bị vô hiệu hoá hoặc huỷ kích hoạt do người dùng tương tác, xoá thẻ SIM hợp lệ hoặc thay thế bằng ứng dụng thư thoại kèm theo hình ảnh của nhà mạng. Trạng thái Đã tắt có nghĩa là thiết bị cục bộ không còn hiển thị thư thoại kèm theo hình ảnh nữa. Đã huỷ kích hoạt có nghĩa là người đăng ký đã tắt dịch vụ. Hoạt động tương tác của người dùng có thể vô hiệu hoá dịch vụ, việc tháo SIM sẽ tạm thời vô hiệu hoá dịch vụ vì dịch vụ này không còn xuất hiện và việc thay thế VVM của nhà mạng sẽ vô hiệu hoá ứng dụng VVM AOSP.

Tương tác với người dùng

Người dùng có thể tự bật hoặc tắt thư thoại kèm theo hình ảnh. Nếu người dùng tắt tính năng thư thoại dạng hình ảnh, thì họ cũng sẽ huỷ kích hoạt dịch vụ của mình. Khi người dùng tắt thư thoại bằng hình ảnh, hệ thống sẽ gửi một tin nhắn SMS DEACTIVATE (HUỶ KÍCH HOẠT), nguồn thư thoại sẽ không được đăng ký cục bộ và thẻ thư thoại sẽ biến mất. Nếu người dùng bật lại tính năng thư thoại kèm theo hình ảnh, thì dịch vụ của họ cũng sẽ được kích hoạt lại.

Tháo SIM

Nếu có thay đổi đối với trạng thái SIM của thiết bị (ACTION_SIM_STATE_CHANGED) hoặc giá trị Cấu hình nhà mạng (ACTION_CARRIER_CONFIG_CHANGED) và không còn cấu hình hợp lệ cho SIM đã cho, thì nguồn thư thoại sẽ không được đăng ký cục bộ và thẻ thư thoại sẽ biến mất. Nếu bạn thay thế thẻ SIM, VVM sẽ được bật lại.

Được thay thế bằng VVM của nhà mạng

Ứng dụng thư thoại có hình ảnh của nhà mạng (nếu được cài đặt trên thiết bị) có thể tắt ứng dụng VVM AOSP. Điều này được thực hiện bằng cách kiểm tra xem một gói có tên khớp với tham số KEY_CARRIER_VVM_PACKAGE_NAME_STRING đã được cài đặt hay chưa.

Ứng dụng VVM vẫn có thể được bật thông qua hoạt động tương tác của người dùng.

Thử nghiệm

Hiện có một bộ kiểm thử CTS (kể từ Android 4.0) cho các API VoicemailProvider cho phép ứng dụng chèn/truy vấn/xoá thư thoại vào nền tảng. Đây cũng là những API mà VVM sử dụng để thêm/xoá thư thoại để mọi ứng dụng Trình quay số đều có thể hiển thị thư thoại trong giao diện người dùng.

Để kiểm thử ứng dụng cấu hình của bạn đang truyền cấu hình OMTP đúng cách, bạn có thể kiểm thử mã của mình bằng:

  • Thẻ SIM chứa chữ ký chứng chỉ hợp lệ
  • Thiết bị chạy Android 6.0 với phiên bản khung điện thoại AOSP chưa sửa đổi