Đối với các thiết bị chạy Android 12 trở lên, Android hỗ trợ tính năng phân chia mạng 5G, sử dụng tính năng ảo hoá mạng để chia các kết nối mạng đơn lẻ thành nhiều kết nối ảo riêng biệt, cung cấp nhiều tài nguyên cho nhiều loại lưu lượng truy cập. Tính năng phân chia mạng 5G cho phép nhà khai thác mạng dành riêng một phần mạng để cung cấp các tính năng cụ thể cho một phân khúc khách hàng cụ thể. Android 12 giới thiệu các chức năng phân chia mạng 5G cho doanh nghiệp sau đây mà nhà khai thác mạng có thể cung cấp cho khách hàng doanh nghiệp của họ:
Tính năng phân vùng thiết bị cho doanh nghiệp đối với các thiết bị được quản lý hoàn toàn
Đối với những doanh nghiệp cung cấp thiết bị công ty được quản lý hoàn toàn cho nhân viên, nhà cung cấp mạng có thể cung cấp cho họ một hoặc nhiều lát mạng doanh nghiệp đang hoạt động, nơi lưu lượng truy cập trên thiết bị công ty được định tuyến đến. Từ Android 12, Android cho phép nhà mạng cung cấp các lát cắt doanh nghiệp thông qua các quy tắc URSP, thay vì thiết lập các lát cắt thông qua APN.
Phân chia ứng dụng doanh nghiệp cho các thiết bị có hồ sơ công việc
Đối với các doanh nghiệp sử dụng giải pháp hồ sơ công việc, Android 12 cho phép các thiết bị định tuyến lưu lượng truy cập từ tất cả ứng dụng trong hồ sơ công việc đến một lát mạng doanh nghiệp. Doanh nghiệp có thể bật tính năng này thông qua Bộ điều khiển chính sách thiết bị (DPC).
Giải pháp hồ sơ công việc cung cấp một cấp độ xác thực và kiểm soát quyền truy cập tự động mà các doanh nghiệp cần để đảm bảo rằng chỉ lưu lượng truy cập từ các ứng dụng doanh nghiệp trong hồ sơ công việc được định tuyến đến phân đoạn mạng doanh nghiệp. Bạn không cần sửa đổi các ứng dụng trong hồ sơ công việc để yêu cầu rõ ràng về lát mạng doanh nghiệp.
Cách phân chia mạng 5G hoạt động trong AOSP
Android 12 hỗ trợ phân chia mạng 5G thông qua việc bổ sung vào toàn bộ mã nguồn điện thoại trong AOSP và mô-đun Chia sẻ Internet để kết hợp các API kết nối hiện có cần thiết cho việc phân chia mạng.
Nền tảng điện thoại Android cung cấp HAL và các API điện thoại để hỗ trợ việc phân đoạn dựa trên các yêu cầu mạng do mã mạng lõi và các chức năng phân đoạn 5G trong modem gửi. Hình 1 mô tả các thành phần của tính năng phân chia mạng 5G.
Hình 1. Cấu trúc phân chia mạng 5G trong AOSP.
Nền tảng điện thoại và kết nối hỗ trợ:
- Chuyển đổi các yêu cầu mạng cho danh mục lát thành trình mô tả lưu lượng truy cập, sau đó được truyền đến modem để so khớp lưu lượng truy cập URSP và chọn tuyến đường
- Quay lại mạng mặc định nếu không có phân đoạn mạng doanh nghiệp
- Định tuyến lưu lượng truy cập từ tất cả các ứng dụng trong hồ sơ công việc đến kết nối tương ứng
Hỗ trợ phân chia doanh nghiệp
- Phát hiện sự hiện diện của hồ sơ công việc trên thiết bị
- Kiểm tra các quyền hoặc chỉ đường được cung cấp từ DPC mà quản trị viên CNTT của doanh nghiệp sử dụng
Dịch vụ mạng cốt lõi bao gồm những thay đổi sau đối với mô-đun Chia sẻ Internet trong Android 12:
- Thêm hầu hết các lớp API công khai hoặc API hệ thống
android.net.*vào mô-đun Chia sẻ Internet Mở rộng ranh giới của mô-đun Chia sẻ Internet để bao gồm:
f/b/core/java/android/net/…f/b/services/net/…f/b/services/core/java/com/android/server/connectivity/…f/b/services/core/java/com/android/server/ConnectivityService.javaf/b/services/core/java/com/android/server/TestNetworkService.java
Di chuyển mã VPN ra khỏi mô-đun Chia sẻ Internet
Android 12 di chuyển mã có các chức năng sau sang mô-đun Chia sẻ Internet:
- Nhận yêu cầu kết nối mạng từ các ứng dụng
- Nhận yêu cầu từ hệ thống (ví dụ: "đặt các ứng dụng này vào một lát cắt doanh nghiệp"; được giới thiệu trong Android 12)
- Gửi yêu cầu từ hệ thống đến mã điện thoại. Mã này sẽ cố gắng thiết lập các mạng hoặc phân đoạn bằng cách truy cập vào HAL API và modem
- Thông báo cho netd cách định tuyến lưu lượng truy cập trên cơ sở mỗi ứng dụng (ra mắt trong Android 12)
- Thông báo cho các ứng dụng về những gì đang xảy ra với lưu lượng truy cập mạng của chúng thông qua các API
ConnectivityManagernhưNetworkCallback,getActiveNetwork,getNetworkCapabilities.
Triển khai
Để hỗ trợ phân chia mạng 5G trên một thiết bị, thiết bị đó phải có một modem hỗ trợ IRadio 1.6 HAL (Lớp trừu tượng phần cứng) có API setupDataCall_1_6. API này thiết lập một kết nối dữ liệu và bao gồm các tham số sau để hỗ trợ phân chia mạng 5G:
trafficDescriptor: Chỉ định bộ mô tả lưu lượng truy cập được gửi đến modemsliceInfo: Chỉ định thông tin về lát mạng sẽ được dùng trong trường hợp chuyển giao EPDG sang 5GmatchAllRuleAllowed: Chỉ định xem có được phép sử dụng quy tắc URSP khớp với tất cả mặc định hay không. Dịch vụ Điện thoại đặt giá trị này thành true cho các mạng mặc định nhưng không đặt cho các lát cắt. Quy tắc khớp tất cả được áp dụng cho các mạng mặc định. Khi một ứng dụng yêu cầu một lát cắt cụ thể không có sẵn, lát cắt cụ thể đó sẽ được báo cáo là không có sẵn. Đối với các ứng dụng doanh nghiệp, khung Telephony có thể quay lại mạng mặc định nếu mạng doanh nghiệp không hoạt động.
Các modem cũng phải triển khai API getSlicingConfig, trừ phi API getHalDeviceCapabilities báo cáo là không được hỗ trợ.
Yêu cầu đối với doanh nghiệp
Sau đây là nội dung mô tả các yêu cầu để doanh nghiệp sử dụng tính năng phân chia mạng 5G trên các thiết bị trong quá trình triển khai Android Enterprise.
- Đảm bảo rằng các thiết bị được quản lý hoàn toàn hoặc thiết bị của nhân viên được thiết lập bằng hồ sơ công việc có khả năng 5G SA với modem hỗ trợ API
setupDataCall_1_6. - Làm việc với đối tác vận chuyển để thiết lập và đánh giá hiệu suất của lát cắt hoặc các đặc điểm của SLA.
Bật tính năng phân chia mạng 5G trên các thiết bị được thiết lập bằng hồ sơ công việc
Đối với các thiết bị được thiết lập bằng hồ sơ công việc, tính năng phân chia mạng 5G sẽ tắt theo mặc định trong AOSP. Để bật tính năng phân chia mạng, quản trị viên CNTT của doanh nghiệp có thể bật hoặc tắt tính năng định tuyến lưu lượng truy cập ứng dụng hồ sơ công việc đến phân chia mạng doanh nghiệp theo từng nhân viên thông qua DPC của EMM. DPC này sử dụng phương thức setPreferentialNetworkServiceEnabled trong API DevicePolicyManager (DPM) (ra mắt trong Android 12).
Các nhà cung cấp EMM có DPC tuỳ chỉnh phải tích hợp API DevicePolicyManager để hỗ trợ khách hàng doanh nghiệp.
Quy tắc URSP
Phần này bao gồm thông tin dành cho nhà mạng về cách định cấu hình các quy tắc URSP cho nhiều danh mục lát cắt, bao gồm doanh nghiệp, CBS, độ trễ thấp, băng thông cao và lưu lượng truy cập truyền thông hợp nhất.
Khi định cấu hình các quy tắc URSP, nhà mạng có thể sử dụng các thông số mô tả lưu lượng truy cập dựa trên những yếu tố sau:
- Loại mã nhận dạng hệ điều hành và mã nhận dạng ứng dụng hệ điều hành, loại thành phần
0x08, được hỗ trợ trong Android 12 trở lên - Loại chức năng kết nối, loại thành phần
0x90, được hỗ trợ trong Android 17 trở lên
Mã nhận dạng hệ điều hành và mã nhận dạng ứng dụng trên hệ điều hành
Khi định cấu hình các quy tắc URSP bằng thành phần mô tả lưu lượng truy cập loại OS Id và OS App Id, các nhà mạng có thể sử dụng các giá trị OS Id và OS App Id dành riêng cho Android sau đây.
| ID | Giá trị | Mô tả |
|---|---|---|
| Mã hệ điều hành | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
Mã nhận dạng hệ điều hành cho Android là UUID phiên bản 5 được tạo bằng không gian tên ISO OID và tên Android. |
Các nhà mạng định cấu hình quy tắc URSP bằng cách sử dụng loại Mã nhận dạng hệ điều hành và Mã nhận dạng ứng dụng hệ điều hành phải định cấu hình từng lưu lượng truy cập của lát cắt bằng thành phần mô tả lưu lượng truy cập dưới dạng chuỗi nối của Mã nhận dạng hệ điều hành, độ dài của Mã nhận dạng ứng dụng hệ điều hành (0x0A) và Mã nhận dạng ứng dụng hệ điều hành. Ví dụ: lát ENTERPRISE phải có giá trị là 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345.
Để biết thêm thông tin về loại thành phần mô tả lưu lượng truy cập, hãy xem Bảng 5.2.1 trong 3GPP TS 24.526.
Bảng sau đây mô tả các giá trị OSAppId cho các danh mục lát cắt khác nhau.
| Danh mục lát cắt | OSAppId | Mô tả |
|---|---|---|
ENTERPRISE |
0x454E5445525052495345 |
OSAppId là một mảng byte biểu thị chuỗi ENTERPRISE |
ENTERPRISE2 |
0x454E544552505249534532 |
OSAppId là một mảng byte biểu thị chuỗi ENTERPRISE2 |
ENTERPRISE3 |
0x454E544552505249534533 |
OSAppId là một mảng byte biểu thị chuỗi ENTERPRISE3 |
ENTERPRISE4 |
0x454E544552505249534534 |
OSAppId là một mảng byte biểu thị chuỗi ENTERPRISE4 |
ENTERPRISE5 |
0x454E544552505249534535 |
OSAppId là một mảng byte biểu thị chuỗi ENTERPRISE5 |
CBS |
0x434253 |
OSAppId là một mảng byte biểu thị chuỗi CBS |
PRIORITIZE_LATENCY |
0x5052494f524954495a455f4c4154454e4359 |
OSAppId là một mảng byte biểu thị chuỗi PRIORITIZE_LATENCY |
PRIORITIZE_BANDWIDTH |
0x5052494f524954495a455f42414e445749445448 |
OSAppId là một mảng byte biểu thị chuỗi PRIORITIZE_BANDWIDTH |
PRIORITIZE_UNIFIED_COMMUNICATIONS |
0x5052494f524954495a455f554e49464945445f434f4d4d554e49434154494f4e53 |
OSAppId là một mảng byte biểu thị chuỗi PRIORITIZE_UNIFIED_COMMUNICATIONS |
Chúng tôi không có kế hoạch ra mắt các giá trị OSAppId mới. Chúng tôi sẽ cải thiện bộ mô tả lưu lượng truy cập về khả năng kết nối nếu cần.
Khả năng kết nối
Kể từ Android 17 trở lên (Radio HAL AIDL 2.5 trở lên), Android hỗ trợ thành phần mô tả lưu lượng truy cập có khả năng kết nối (loại 0x90), được xác định trong 3GPP TS 24.526 Bảng 5.2.1.
Khi một ứng dụng hoặc dịch vụ hệ thống yêu cầu một mạng có khả năng cụ thể, ngăn xếp dữ liệu điện thoại Android sẽ ánh xạ NetworkCapabilities được yêu cầu với một giá trị khả năng kết nối tiêu chuẩn được điền sẵn trong TrafficDescriptor được gửi đến modem trong quá trình thiết lập cuộc gọi dữ liệu (setupDataCall). Mặc dù quy cách 3GPP cho phép nhiều khả năng kết nối trong một bộ mô tả duy nhất, nhưng khung điện thoại Android 17 sẽ ánh xạ nhiều khả năng kết nối được yêu cầu với một khả năng kết nối duy nhất.
Bảng sau đây mô tả mối liên kết mặc định từ các chức năng mạng của Android với các chức năng kết nối 3GPP:
| Khả năng mạng | Khả năng kết nối | Giá trị (hex hoặc dec) | Mô tả |
|---|---|---|---|
NET_CAPABILITY_IMS |
CONNECTION_CAPABILITY_IMS |
0x01 (1) |
Thông tin liên lạc bằng giọng nói và video qua IMS |
NET_CAPABILITY_MMS |
CONNECTION_CAPABILITY_MMS |
0x02 (2) |
Lưu lượng truy cập MMS |
NET_CAPABILITY_SUPL |
CONNECTION_CAPABILITY_SUPL |
0x04 (4) |
Secure User Plane Location (SUPL) (Vị trí mặt phẳng người dùng bảo mật) |
NET_CAPABILITY_INTERNET |
CONNECTION_CAPABILITY_INTERNET |
0x08 (8) |
Lưu lượng truy cập dữ liệu Internet mặc định |
NET_CAPABILITY_PRIORITIZE_LATENCY |
CONNECTION_CAPABILITY_REAL_TIME_INTERACTIVE |
0xA6 (166) |
Lưu lượng truy cập tương tác theo thời gian thực (ví dụ: trò chơi, AR/VR) |
NET_CAPABILITY_PRIORITIZE_BANDWIDTH |
CONNECTION_CAPABILITY_DOWNLINK_STREAMING |
0xA3 (163) |
Lưu lượng truyền phát trực tiếp băng thông cao từ mạng xuống |
NET_CAPABILITY_PRIORITIZE_UNIFIED_COMMUNICATIONS |
CONNECTION_CAPABILITY_UNIFIED_COMMUNICATIONS |
0xA7 (167) |
Truyền thông hợp nhất (ví dụ: cuộc gọi thoại hoặc cuộc gọi video OTT) |
Cấu hình URSP của nhà mạng và khả năng tương thích ngược
Để đảm bảo hoạt động liền mạch trên các thiết bị có HAL và phiên bản hệ điều hành khác nhau, các nhà mạng nên cân nhắc hành vi sau đây khi cung cấp các quy tắc URSP:
- Thiết bị chạy Android 16 trở xuống (Radio HAL AIDL 2.4 trở xuống): Modem nhận được ít nhất
OSAppIdtrong phần mô tả lưu lượng truy cập. - Thiết bị chạy Android 17 trở lên (AIDL 2.5 trở lên): Đối với các khả năng của lát cắt đặc biệt (chẳng hạn như độ trễ thấp, băng thông cao và thông tin liên lạc hợp nhất), nền tảng sẽ điền sẵn
OSAppId,ConnectionCapabilityhoặc cả hai trong bộ mô tả lưu lượng truy cập.
Các hãng vận chuyển có thể định cấu hình quy tắc URSP bằng một trong những cách sau:
- Quy tắc dựa trên mức độ ưu tiên (Nên dùng):
- Quy tắc A (mức độ ưu tiên cao hơn, số ưu tiên thấp hơn, ví dụ: 10): So khớp theo khả năng kết nối (ví dụ:
0xA6cho độ trễ thấp,0xA3cho băng thông cao hoặc0xA7cho thông tin liên lạc hợp nhất). Các thiết bị Android 17 trở lên sẽ khớp với quy tắc này trước. - Quy tắc B (mức độ ưu tiên thấp hơn, số ưu tiên cao hơn, ví dụ: 20): So khớp theo loại Mã nhận dạng hệ điều hành và Mã nhận dạng ứng dụng hệ điều hành (ví dụ:
PRIORITIZE_LATENCY). Các thiết bị cũ không hỗ trợ khả năng kết nối trong HAL sẽ khớp với quy tắc dự phòng này.
- Quy tắc A (mức độ ưu tiên cao hơn, số ưu tiên thấp hơn, ví dụ: 10): So khớp theo khả năng kết nối (ví dụ:
- Quy tắc chỉ dành cho mã nhận dạng ứng dụng trên hệ điều hành (cũ):
- Các hãng vận chuyển có thể tiếp tục sử dụng các quy tắc URSP hiện có dựa trên loại mã nhận dạng hệ điều hành và mã nhận dạng ứng dụng hệ điều hành. Vì các thiết bị Android 17 trở lên tiếp tục truyền
OSAppId, nên cả thiết bị mới và cũ đều khớp thành công các quy tắc này.
- Các hãng vận chuyển có thể tiếp tục sử dụng các quy tắc URSP hiện có dựa trên loại mã nhận dạng hệ điều hành và mã nhận dạng ứng dụng hệ điều hành. Vì các thiết bị Android 17 trở lên tiếp tục truyền
- Quy tắc kết hợp (điều kiện VÀ):
- Các hãng vận chuyển có thể chỉ định cả mã nhận dạng hệ điều hành và mã nhận dạng ứng dụng hệ điều hành cũng như khả năng kết nối trong một bộ mô tả lưu lượng truy cập duy nhất. Quy tắc này chỉ khớp trên các thiết bị chạy Android 17 trở lên có AIDL 2.5 trở lên.
Ví dụ về các quy tắc URSP
Các bảng sau đây minh hoạ các quy tắc URSP cho doanh nghiệp, CBS, độ trễ thấp, băng thông cao, truyền thông hợp nhất và lưu lượng truy cập mặc định.
Doanh nghiệp 1
Android 12 trở lên có hỗ trợ Enterprise 1.
Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE1:
| Quy tắc 1 của URSP (ENTERPRISE1) | |
|---|---|
| Quyền ưu tiên | 1 (0x01) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | doanh nghiệp |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | doanh nghiệp |
Doanh nghiệp 2
Android 13 trở lên có hỗ trợ Enterprise 2.
Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE2:
| Quy tắc URSP 2 (ENTERPRISE2) | |
|---|---|
| Quyền ưu tiên | 2 (0x02) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | doanh nghiệp2 |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | doanh nghiệp2 |
Doanh nghiệp 3
Android 13 trở lên có hỗ trợ Enterprise 3.
Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE3:
| Quy tắc URSP 3 (ENTERPRISE3) | |
|---|---|
| Quyền ưu tiên | 3 (0x03) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | enterprise3 |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | enterprise3 |
Doanh nghiệp 4
Android 13 trở lên có hỗ trợ Enterprise 4.
Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE4:
| Quy tắc 4 của URSP (ENTERPRISE4) | |
|---|---|
| Quyền ưu tiên | 4 (0x04) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | enterprise4 |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | enterprise4 |
Doanh nghiệp 5
Android 13 trở lên có hỗ trợ Enterprise 5.
Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE5:
| Quy tắc 5 của URSP (ENTERPRISE5) | |
|---|---|
| Quyền ưu tiên | 5 (0x05) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | enterprise5 |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | enterprise5 |
CBS
Android 13 trở lên có hỗ trợ CBS. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập CBS:
| Quy tắc 6 của URSP (CBS) | |
|---|---|
| Quyền ưu tiên | 6 (0x06) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E4703434253 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | cbs |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | cbs |
Độ trễ thấp với khả năng kết nối
Android 17 trở lên có hỗ trợ các chức năng kết nối trong quy tắc URSP. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập có độ trễ thấp bằng cách sử dụng bộ mô tả khả năng kết nối:
| Quy tắc URSP 7 (độ trễ thấp có khả năng kết nối) | |
|---|---|
| Quyền ưu tiên | 7 (0x07) |
| Traffic descriptor #1 | |
| Loại chức năng kết nối | 0xA6 (166: Tương tác theo thời gian thực) |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | độ trễ |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | độ trễ |
Độ trễ thấp với OSAppId
Android 13 trở lên có hỗ trợ độ trễ thấp.
Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập LOW_LATENCY bằng OSAppId:
| Quy tắc URSP 8 (độ trễ thấp có dự phòng OSAppId) | |
|---|---|
| Quyền ưu tiên | 8 (0x08) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | độ trễ |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | độ trễ |
Băng thông cao với khả năng kết nối
Android 17 trở lên có hỗ trợ các chức năng kết nối trong quy tắc URSP. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập băng thông cao bằng cách sử dụng bộ mô tả khả năng kết nối:
| Quy tắc 9 của URSP (băng thông cao có khả năng kết nối) | |
|---|---|
| Quyền ưu tiên | 9 (0x09) |
| Traffic descriptor #1 | |
| Loại chức năng kết nối | 0xA3 (163: Phát trực tuyến đường xuống) |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | băng thông |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | băng thông |
Băng thông cao với OSAppId
Android 13 trở lên có hỗ trợ băng thông cao.
Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập HIGH_BANDWIDTH bằng OSAppId:
| Quy tắc URSP 10 (băng thông cao với phương án dự phòng OSAppId) | |
|---|---|
| Quyền ưu tiên | 10 (0x0A) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
| Thành phần 2: DNN | băng thông |
| Thuộc tính mô tả lựa chọn tuyến đường số 2 | |
| Quyền ưu tiên | 2 (0x02) |
| Thành phần 1: DNN | băng thông |
Truyền thông hợp nhất có khả năng kết nối
Android 17 trở lên có hỗ trợ thông tin liên lạc hợp nhất. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập UNIFIED_COMMUNICATIONS bằng cách sử dụng khả năng kết nối.
Vì lưu lượng truy cập của dịch vụ truyền thông hợp nhất được định tuyến qua kết nối dữ liệu Internet mặc định, nên không cần có APN chuyên dụng (DNN) trong bộ mô tả lựa chọn tuyến đường:
| Quy tắc 11 của URSP (liên lạc hợp nhất có khả năng kết nối) | |
|---|---|
| Quyền ưu tiên | 11 (0x0B) |
| Traffic descriptor #1 | |
| Loại chức năng kết nối | 0xA7 (167: Truyền thông hợp nhất) |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
Truyền thông hợp nhất với OSAppId
Android 17 trở lên có hỗ trợ thông tin liên lạc hợp nhất. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập UNIFIED_COMMUNICATIONS bằng OSAppId:
| Quy tắc 12 của URSP (liên lạc hợp nhất với phương án dự phòng OSAppId) | |
|---|---|
| Quyền ưu tiên | 12 (0x0C) |
| Traffic descriptor #1 | |
| Mã nhận dạng hệ điều hành + Loại mã nhận dạng ứng dụng hệ điều hành | 0x97A498E3FC925C9489860333D06E4E47215052494F524954495A455F554E49464945445F434F4D4D554E49434154494F4E53 |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
Mặc định
| Quy tắc URSP 13 (mặc định) | |
|---|---|
| Quyền ưu tiên | 13 (0x0D) |
| Traffic descriptor #1 | |
| khớp tất cả | Không áp dụng |
| Mô tả lựa chọn tuyến đường số 1 | |
| Quyền ưu tiên | 1 (0x01) |
| Thành phần 1: S-NSSAI | SST:XX SD:YYYYYY |
Thử nghiệm
Để kiểm tra tính năng phân chia mạng 5G, hãy sử dụng quy trình kiểm thử thủ công sau đây.
Để thiết lập một thiết bị cho mục đích kiểm thử, hãy làm như sau:
Đảm bảo rằng chính sách URSP được định cấu hình bằng một quy tắc không mặc định khớp với danh mục doanh nghiệp và bộ mô tả lựa chọn tuyến đường tương ứng sẽ ánh xạ danh mục doanh nghiệp với phân đoạn doanh nghiệp; và một quy tắc mặc định chuyển hướng lưu lượng truy cập đến phân đoạn internet mặc định.
Đảm bảo rằng bạn đã định cấu hình hồ sơ công việc trên thiết bị.
Chọn sử dụng tính năng phân chia mạng thông qua DPC
Để kiểm thử hành vi phân chia mạng 5G, hãy làm như sau:
- Xác minh rằng một phiên PDU được thiết lập với phân đoạn doanh nghiệp (ví dụ: bằng cách sử dụng một địa chỉ IP cụ thể) và các ứng dụng trong hồ sơ công việc sử dụng phiên PDU đó.
- Xác minh rằng một phiên PDU riêng biệt được thiết lập với lát internet mặc định và các ứng dụng trong hồ sơ cá nhân sử dụng phiên PDU.
Bán thêm dịch vụ phân chia mạng 5G
Tính năng bán thêm phân chia mạng 5G (có từ Android 14 QPR1) cho phép nhà mạng cung cấp các khả năng mạng nâng cao (độ trễ và băng thông) cho người dùng thông qua tính năng phân chia mạng 5G.
Tính năng bán thêm phân đoạn 5G sử dụng phản hồi TS.43 từ máy chủ cấp quyền của nhà mạng để thúc đẩy quy trình mua hàng. Hãng vận chuyển có thể sử dụng phản hồi này để chỉ định URL cho webview mua hàng của hãng vận chuyển, gửi dữ liệu bổ sung đến webview và cho biết liệu lát cắt có được cung cấp và có sẵn trên mạng của hãng vận chuyển hay không.
Các nhà mạng có thể tuỳ chỉnh hành vi của tính năng bán thêm phân đoạn 5G bằng cách sử dụng cấu hình nhà mạng. Cấu hình này kiểm soát việc có thể đưa ra yêu cầu mua hay không, thời điểm ứng dụng được phép yêu cầu các chức năng cao cấp và thời gian chờ của khung Telephony để nhận phản hồi từ người dùng hoặc mạng.
Tính năng bán thêm phân chia mạng 5G cung cấp một giao diện (gọi là DataBoostWebServiceFlow) để cho phép giao tiếp giữa Android và webview của nhà mạng.
Hình 2 cho thấy quy trình mua gói thuê bao phân chia mạng 5G:
Hình 2. Quy trình mua gói nâng cấp phân chia mạng 5G.
Quy trình cấp quyền TS.43
Khi người dùng yêu cầu các chức năng mạng nâng cao, khung Telephony sẽ yêu cầu cấu hình quyền sử dụng dịch vụ cho chức năng nâng cao được yêu cầu. Nếu phản hồi TS.43 hợp lệ, thì khung Telephony sẽ sử dụng các trường trong phản hồi HTTP để điều khiển yêu cầu mua.
Trường mua lát cắt
Cấu hình quyền TS.43 bao gồm các trường mua lát sau đây:
- Trạng thái quyền
Phím:
EntitlementStatusLoại:
intCác giá trị được hỗ trợ:
0(đã tắt),1(đã bật),2(không tương thích),3(đang cung cấp),4(đã bao gồm)- Trạng thái cấp phép
Phím:
ProvStatusLoại:
intGiá trị được hỗ trợ:
0(chưa được cung cấp),1(đã được cung cấp),2(không có),3(đang tiến hành)
Khung Telephony sử dụng sự kết hợp giữa trạng thái cấp phép và trạng thái cung cấp để xác định trạng thái mua lát cắt hiện tại. Kết quả có thể là một trong những kết quả sau:
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASEDPURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESSPURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILEDPURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
Nếu trạng thái được cấp phép là 1 (đã bật) và trạng thái cung cấp là 0 (chưa được cung cấp), thì khung Telephony sẽ hiển thị thông báo bán thêm cho người dùng để mua gói tăng tốc thông qua webview của nhà mạng. Bảng sau đây mô tả hành vi của khung Telephony cho các tổ hợp giá trị trạng thái cấp phép và trạng thái được hưởng khác nhau.
| Trạng thái cấp phép | |||||
|---|---|---|---|---|---|
Chưa được cấp phép (0) |
Được cấp phép (1) |
Không có (2) |
Đang diễn ra (3) |
||
| Trạng thái quyền | Đã tắt (0) |
Không thành công | Không thành công | Không thành công | Không thành công |
Đã bật (1) |
Hiện chế độ xem web | Đã mua | Đã mua | Đang diễn ra | |
Không tương thích (2) |
Không thành công | Không thành công | Không thành công | Không thành công | |
Cung cấp (3) |
Lỗi của hãng vận chuyển | Lỗi của hãng vận chuyển | Đang diễn ra | Đang diễn ra | |
Đã bao gồm (4) |
Lỗi của hãng vận chuyển | Đã mua | Đã mua | Lỗi của hãng vận chuyển | |
Các trường trong quy trình dịch vụ
Phản hồi TS.43 chỉ định URL, dữ liệu người dùng và loại nội dung để tuỳ chỉnh hành vi webview mua hàng của nhà mạng. Nếu loại nội dung không được chỉ định, thì URL sẽ được tải dưới dạng yêu cầu GET. Nếu dữ liệu người dùng tồn tại, dữ liệu đó sẽ được thêm vào URL dưới dạng một tham số truy vấn (ví dụ: https://www.android.com?encodedValue=Base64EncodedUserData); và nếu không tồn tại, URL sẽ được sử dụng nguyên trạng (ví dụ: https://www.android.com).
Nếu loại nội dung được chỉ định ở định dạng JSON hoặc XML, thì URL sẽ được tải dưới dạng yêu cầu POST và dữ liệu người dùng (được giải mã nếu được mã hoá ở Base 64) sẽ được gửi dưới dạng dữ liệu cho yêu cầu POST.
- URL
Phím:
ServiceFlow_URLLoại:
StringVí dụ:
"https://www.android.com"- Dữ liệu người dùng
Phím:
ServiceFlow_UserDataLoại:
StringVí dụ:
"encodedValue=Base64EncodedUserData"- Loại nội dung
Phím:
ServiceFlow_ContentsTypeLoại:
StringCác giá trị được hỗ trợ:
0(không xác định),1(JSON),2(XML)
Cấu hình nhà mạng
Sau đây là các cấu hình nhà mạng mà bạn có thể tuỳ chỉnh để thay đổi hành vi của tính năng bán thêm phân chia mạng 5G.
KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAYDanh sách các khả năng đặc biệt được hỗ trợ. Đây là một mảng số nguyên của
TelephonyManager.PremiumCapability. Những chức năng cao cấp này có cùng giá trị với lớpNetworkCapabilities.NetCapabilitytương ứng. Nếu một chức năng cao cấp được yêu cầu và không có trong cấu hình này, thì yêu cầu mua sẽ không thành công với kết quảCARRIER_DISABLED.Trong Android 14, chỉ có
PREMIUM_CAPABILITY_PRIORITIZE_LATENCYđược hỗ trợ.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INTSố lần tối đa mỗi ngày mà thông báo bán thêm khi mua hàng được hiển thị cho người dùng. Nếu đạt đến giới hạn tối đa hằng ngày, thông báo bán thêm sẽ không xuất hiện và các yêu cầu mua (bao gồm cả yêu cầu của máy chủ cấp quyền) sẽ bị điều tiết cho đến nửa đêm ngày tiếp theo. Các yêu cầu mua hàng được thực hiện sau khi đạt đến mức tối đa hằng ngày sẽ không thành công với kết quả
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INTSố lần tối đa mỗi tháng mà thông báo bán thêm khi mua hàng xuất hiện cho người dùng. Nếu đạt đến hạn mức tối đa hằng tháng, thông báo bán thêm sẽ không xuất hiện và các yêu cầu mua (bao gồm cả yêu cầu của máy chủ cấp quyền) sẽ bị điều tiết cho đến ngày đầu tiên của tháng tiếp theo. Các yêu cầu mua hàng được thực hiện sau khi đạt đến hạn mức tối đa hằng tháng sẽ không thành công với kết quả
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRINGURL mua hàng của hãng vận chuyển dự phòng để hiển thị cho người dùng khi họ nhấp vào thông báo bán thêm. Nếu không tìm thấy URL mua trong phản hồi TS.43 từ máy chủ cấp quyền, thì giá trị này sẽ được dùng thay thế. Nếu URL từ phản hồi TS.43 hoặc cấu hình của nhà mạng không hợp lệ, thì yêu cầu mua sẽ không thành công với kết quả
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED.KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOLCho phép mua các tính năng cao cấp khi thiết bị được kết nối với công nghệ Tiến hoá dài hạn (LTE) hay không. Nếu
true, bạn có thể yêu cầu mua hàng trên cả LTE và New Radio (NR). Nếufalse, yêu cầu mua hàng chỉ có thể được thực hiện trên NR và yêu cầu được thực hiện trên LTE sẽ không thành công với kết quảPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONGKhoảng thời gian hiển thị thông báo bán thêm giao dịch mua cho người dùng trước khi thông báo tự động bị huỷ. Khi thông báo bị huỷ, các yêu cầu tiếp theo sẽ bị điều tiết và không thành công với kết quả
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONGKhoảng thời gian mà các yêu cầu mua hàng tiếp theo sẽ bị điều tiết sau khi xảy ra lỗi do hết thời gian chờ hoặc người dùng huỷ. Nếu người dùng không nhấp vào thông báo chào bán nâng cấp trong khoảng thời gian chờ do
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONGchỉ định hoặc nếu họ huỷ hoặc đóng thông báo, thì bộ hẹn giờ giảm tốc này sẽ bắt đầu. Trong khi bộ tính giờ này đang hoạt động, các yêu cầu mua hàng sẽ không thành công với kết quảPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONGKhoảng thời gian mà các yêu cầu mua hàng tiếp theo sẽ bị điều tiết sau khi xảy ra lỗi do nhà mạng hoặc mạng. Nếu quá trình kiểm tra quyền không thành công, URL không dùng được hoặc URL mua của nhà mạng cho biết lỗi, thì bộ hẹn giờ dự phòng này sẽ bắt đầu. Trong khi bộ tính giờ này đang hoạt động, các yêu cầu mua sẽ không thành công với kết quả
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONGKhoảng thời gian mà mạng phải thiết lập cấu hình phân đoạn cho tính năng mua cao cấp. Trong khoảng thời gian này, các yêu cầu mua hàng tiếp theo sẽ bị chặn và trả về kết quả
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP. Nếu mạng không thiết lập được cấu hình phân chia kịp thời, thì các ứng dụng có thể yêu cầu mua lại các khả năng đặc biệt. Dịch vụ điện thoại không coi giao dịch mua là hoàn tất cho đến khi cấu hình phân chia tương ứng được gửi, bất kể người dùng đã thanh toán cho nhà mạng hay chưa.
Giao diện JavaScript
Khi người dùng nhấp vào thông báo tăng cường mạng, một đối tượng WebView có URL mua của nhà mạng sẽ xuất hiện cho người dùng. Các hãng vận chuyển có thể sử dụng các API được cung cấp trong giao diện Javascript DataBoostWebServiceFlow trong trang web mua hàng của họ để giao tiếp với ứng dụng mua hàng theo phần.
Trang web của hãng vận chuyển có thể nhận được chức năng nâng cao theo yêu cầu thông qua phương thức getRequestedCapability().
Nếu giao dịch mua thành công, trang web của hãng vận chuyển phải thông báo cho ứng dụng mua vé máy bay từng chặng thông qua notifyPurchaseSuccessful() hoặc notifyPurchaseSuccessful(duration), trong đó duration là một tham số không bắt buộc cho biết thời lượng dự kiến của vé máy bay từng chặng.
Nếu giao dịch mua không thành công, trang web của hãng vận chuyển phải thông báo cho ứng dụng mua theo phần thông qua phương thức notifyPurchaseFailed(code, reason), trong đó code là mã lỗi cho biết lý do thất bại và reason là lý do thất bại mà con người có thể đọc được nếu mã lỗi không xác định.
Nếu không gọi một trong hai phương thức phản hồi này, giao dịch mua sẽ không được coi là hoàn tất và yêu cầu mua sẽ hết thời gian chờ.
Sau đây là các mã lỗi hợp lệ mà trang web của hãng vận chuyển có thể trả về khi giao dịch mua không thành công:
FAILURE_CODE_UNKNOWNFAILURE_CODE_CARRIER_URL_UNAVAILABLEFAILURE_CODE_AUTHENTICATION_FAILEDFAILURE_CODE_PAYMENT_FAILEDFAILURE_CODE_NO_USER_DATA
Khi giao dịch mua hoàn tất, nhà cung cấp dịch vụ phải cập nhật các quy tắc URSP bằng phần PRIORITIZE_LATENCY cho thiết bị của người dùng.
Tự động định tuyến phân chia mạng 5G cho thoại và video OTT
Android 17 hỗ trợ tính năng tự động định tuyến các cuộc gọi thoại và video qua giao thức truyền hình Internet (OTT) đến các kết nối mạng cao cấp. Tính năng này cho phép hệ thống tự động chuyển hướng lưu lượng truy cập từ các cuộc gọi thoại và video đến một giao diện mạng chuyên dụng cao cấp (chẳng hạn như một phân đoạn 5G cao cấp hoặc một kết nối PDN 4G cao cấp) mà không cần thay đổi ngăn xếp mạng của ứng dụng.
Giải pháp ở cấp nền tảng này giúp nhà phát triển ứng dụng không cần phải yêu cầu rõ ràng các chức năng mạng, mang lại trải nghiệm liền mạch cho cả nhà phát triển và người dùng cuối.
Cách hoạt động
Android tích hợp tính năng hỗ trợ định tuyến tự động thông qua việc bổ sung vào các khung kết nối và viễn thông. Tính năng định tuyến tự động hoạt động như sau:
- Phát hiện cuộc gọi: Hệ thống tận dụng các API Telecom Jetpack hiện có mà các ứng dụng OTT sử dụng để phát hiện thời điểm bắt đầu và kết thúc cuộc gọi thoại hoặc cuộc gọi video.
- Quản lý kết nối: Khi phát hiện cuộc gọi, Android sẽ hiển thị một giao diện mạng cao cấp được chỉ định, chẳng hạn như một lát cắt truyền thông hợp nhất.
- Định tuyến lưu lượng truy cập: Trong cuộc gọi, nền tảng xác định ứng dụng bằng UID và tự động định tuyến lưu lượng truy cập của ứng dụng đến kết nối mạng cao cấp.
- Dự phòng sau cuộc gọi: Khi cuộc gọi kết thúc, nền tảng sẽ xoá quy tắc định tuyến và lưu lượng truy cập của ứng dụng sẽ quay về mạng mặc định của hệ thống cho lưu lượng truy cập không phải cuộc gọi (chẳng hạn như nhắn tin).
Yêu cầu
Để hỗ trợ tính năng định tuyến tự động cho các cuộc gọi OTT, bạn phải đáp ứng các yêu cầu sau:
- Nhà mạng: Phải cung cấp một lát cắt liên lạc hợp nhất bằng cách định cấu hình các quy tắc URSP thích hợp (sử dụng khả năng kết nối hoặc OSAppId cho lưu lượng truy cập liên lạc hợp nhất).
- Ứng dụng: Phải sử dụng Android Telecom Jetpack API để cho phép hệ thống phát hiện trạng thái cuộc gọi.
- Nhà sản xuất thiết bị: Yêu cầu Android 17 trở lên.