การแบ่งส่วนเครือข่าย 5G

สำหรับอุปกรณ์ที่ใช้ Android 12 ขึ้นไป Android รองรับการแบ่งส่วนเครือข่าย 5G ซึ่งเป็นการใช้การจำลองเสมือนของเครือข่ายเพื่อ แบ่งการเชื่อมต่อเครือข่ายเดียวออกเป็นการเชื่อมต่อเสมือนที่แตกต่างกันหลายรายการ ซึ่งจัดสรรทรัพยากรในปริมาณที่แตกต่างกันให้กับประเภทการรับส่งข้อมูลต่างๆ การแบ่งส่วนเครือข่าย 5G ช่วยให้ผู้ให้บริการเครือข่ายสามารถจัดสรรส่วนหนึ่งของเครือข่ายเพื่อ ให้บริการฟีเจอร์ที่เฉพาะเจาะจงสำหรับกลุ่มลูกค้าที่เฉพาะเจาะจง Android 12 ขอแนะนำความสามารถในการแบ่งส่วนเครือข่าย 5G สำหรับองค์กรต่อไปนี้ ซึ่งผู้ให้บริการเครือข่าย สามารถมอบให้แก่ลูกค้าองค์กรได้

การแบ่งส่วนอุปกรณ์ขององค์กรสำหรับอุปกรณ์ที่มีการจัดการครบวงจร

สำหรับองค์กรที่มอบอุปกรณ์ของบริษัทที่มีการจัดการเต็มรูปแบบ ให้แก่พนักงาน ผู้ให้บริการเครือข่ายสามารถมอบ Network Slice ขององค์กรที่ใช้งานอยู่ 1 รายการขึ้นไปให้แก่พนักงาน ซึ่งจะกำหนดเส้นทางการรับส่งข้อมูลในอุปกรณ์ของบริษัท ตั้งแต่ Android 12 เป็นต้นไป Android อนุญาตให้ผู้ให้บริการ ระบุการแบ่งส่วนเครือข่ายสำหรับองค์กรผ่านกฎ URSP แทนการตั้งค่าการแบ่งส่วนเครือข่าย ผ่าน APN

การแบ่งแอปธุรกิจระดับองค์กรสำหรับอุปกรณ์ที่มีโปรไฟล์งาน

สำหรับองค์กรที่ใช้โซลูชันโปรไฟล์งาน Android 12 จะช่วยให้อุปกรณ์กำหนดเส้นทางการรับส่งข้อมูลจากแอปทั้งหมดในโปรไฟล์งานไปยังการแบ่งส่วนเครือข่ายขององค์กรได้ องค์กรสามารถเปิดใช้ความสามารถนี้ผ่านเครื่องมือควบคุมนโยบายด้านอุปกรณ์ (DPC)

โซลูชันโปรไฟล์งานมีการตรวจสอบสิทธิ์และการควบคุมการเข้าถึงระดับอัตโนมัติที่องค์กรต้องการเพื่อให้มั่นใจว่าระบบจะกำหนดเส้นทางเฉพาะการรับส่งข้อมูลจากแอปขององค์กรในโปรไฟล์งานไปยัง Network Slice ขององค์กร ไม่จำเป็นต้องแก้ไขแอปในโปรไฟล์งานเพื่อขอ Network Slice ขององค์กรอย่างชัดแจ้ง

วิธีทำงานของการแบ่งเครือข่าย 5G ใน AOSP

Android 12 เปิดตัวการรองรับการแบ่งเครือข่าย 5G โดยการเพิ่มฐานของโค้ดโทรศัพท์ใน AOSP และโมดูลการเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ เพื่อรวม API การเชื่อมต่อที่มีอยู่ซึ่งจำเป็นสำหรับการแบ่งเครือข่าย

แพลตฟอร์มโทรศัพท์ Android มี HAL และ Telephony API เพื่อรองรับการแบ่งส่วนตามคำขอเครือข่ายที่ยื่นโดยโค้ดเครือข่ายหลักและความสามารถในการแบ่งส่วน 5G ในโมเด็ม รูปที่ 1 อธิบายส่วนประกอบของฟีเจอร์ Network Slicing 5G

คอมโพเนนต์การแบ่งส่วนเครือข่าย 5G

รูปที่ 1 สถาปัตยกรรมการแบ่งส่วนเครือข่าย 5G ใน AOSP

แพลตฟอร์มโทรศัพท์และการเชื่อมต่อรองรับสิ่งต่อไปนี้

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

    • การตรวจหาการมีโปรไฟล์งานในอุปกรณ์
    • ตรวจสอบสิทธิ์หรือเส้นทางการกำหนดเส้นทางที่ได้รับจาก DPC ที่ผู้ดูแลระบบไอทีขององค์กรใช้

บริการเครือข่ายหลักมีการเปลี่ยนแปลงต่อไปนี้ในโมดูลการแชร์อินเทอร์เน็ต ใน Android 12

  • เพิ่มคลาส API สาธารณะหรือระบบส่วนใหญ่ของ android.net.* ลงในโมดูลการเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ
  • ขยายขอบเขตของโมดูลการเชื่อมต่ออินเทอร์เน็ตผ่านมือถือให้รวมถึงรายการต่อไปนี้

    • 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.java
    • f/b/services/core/java/com/android/server/TestNetworkService.java
  • ย้ายโค้ด VPN ออกจากโมดูลการแชร์อินเทอร์เน็ต

Android 12 ย้ายโค้ดที่มีความสามารถต่อไปนี้ ไปยังโมดูลการแชร์อินเทอร์เน็ต

  • การรับคำขอจากแอปสำหรับการเชื่อมต่อเครือข่าย
  • รับคำขอจากระบบ (เช่น "วางแอปเหล่านี้ใน ส่วนขององค์กร" ซึ่งเปิดตัวใน Android 12)
  • การส่งคำขอจากระบบไปยังโค้ดโทรศัพท์ซึ่งพยายาม ตั้งค่าเครือข่ายหรือสไลซ์โดยผ่าน HAL API และโมเด็ม
  • การแจ้ง netd เกี่ยวกับวิธีกำหนดเส้นทางการรับส่งข้อมูลต่อแอป (เปิดตัวใน Android 12)
  • แจ้งให้แอปทราบสิ่งที่เกิดขึ้นกับการจราจรของข้อมูลในเครือข่ายผ่าน ConnectivityManager API เช่น NetworkCallback, getActiveNetwork, getNetworkCapabilities

การใช้งาน

หากต้องการรองรับการแบ่งส่วนเครือข่าย 5G ในอุปกรณ์ อุปกรณ์ต้องมีโมเด็มที่รองรับ IRadio 1.6 HAL ซึ่งมี setupDataCall_1_6 API API นี้จะตั้งค่าการเชื่อมต่อข้อมูลและมีพารามิเตอร์ต่อไปนี้ เพื่อรองรับการแบ่งส่วนเครือข่าย 5G

  • trafficDescriptor: ระบุตัวอธิบายการเข้าชมที่ส่งไปยังโมเด็ม
  • sliceInfo: ระบุข้อมูลสำหรับ Network Slice ที่จะใช้ในกรณีที่มีการส่งต่อจาก EPDG ไปยัง 5G
  • matchAllRuleAllowed: ระบุว่าอนุญาตให้ใช้กฎ URSP เริ่มต้นที่ตรงกันทั้งหมดหรือไม่ Telephony จะตั้งค่านี้เป็น "จริง" สำหรับเครือข่ายเริ่มต้น แต่ไม่ใช่สำหรับสไลซ์ ระบบจะใช้กฎการจับคู่ทั้งหมดกับเครือข่ายเริ่มต้น เมื่อแอปขอสไลซ์ที่เฉพาะเจาะจงซึ่งไม่พร้อมใช้งาน ระบบจะรายงานว่าสไลซ์ที่เฉพาะเจาะจงนั้นไม่พร้อมใช้งาน สำหรับ แอปขององค์กร เฟรมเวิร์ก Telephony จะกลับไปใช้ เครือข่ายเริ่มต้นได้หากเครือข่ายขององค์กรไม่พร้อมใช้งาน

นอกจากนี้ โมเด็มต้องใช้ getSlicingConfig API ด้วย เว้นแต่จะมีการรายงานว่า getHalDeviceCapabilities API ไม่รองรับ

ข้อกำหนดขององค์กร

ต่อไปนี้คือข้อกำหนดสำหรับองค์กรในการใช้การแบ่งเครือข่าย 5G ในอุปกรณ์ในการติดตั้งใช้งาน Android Enterprise

  • ตรวจสอบว่าอุปกรณ์ที่มีการจัดการครบวงจรหรืออุปกรณ์ของพนักงานที่ตั้งค่าด้วยโปรไฟล์งาน รองรับ 5G SA พร้อมโมเด็มที่รองรับ setupDataCall_1_6 API
  • ทำงานร่วมกับพาร์ทเนอร์ผู้ให้บริการขนส่งในการตั้งค่าและประสิทธิภาพของสไลซ์ หรือลักษณะ SLA

เปิดใช้การแบ่งส่วนเครือข่าย 5G ในอุปกรณ์ที่ตั้งค่าด้วยโปรไฟล์งาน

สำหรับอุปกรณ์ที่ตั้งค่าด้วยโปรไฟล์งาน การแบ่งเครือข่าย 5G จะปิดอยู่โดยค่าเริ่มต้นใน AOSP หากต้องการเปิดใช้การแบ่งส่วนเครือข่าย ผู้ดูแลระบบไอทีขององค์กรสามารถเปิดหรือปิดการกำหนดเส้นทางการรับส่งข้อมูลของแอปในโปรไฟล์งานไปยังการแบ่งส่วนเครือข่ายขององค์กรตามพนักงานแต่ละรายผ่าน DPC ของ EMM ซึ่งใช้เมธอด setPreferentialNetworkServiceEnabled ใน API ของ DevicePolicyManager (DPM) (เปิดตัวใน Android 12)

ผู้ให้บริการ EMM ที่มี DPC ที่กำหนดเองต้องผสานรวม DevicePolicyManager API เพื่อ รองรับลูกค้าองค์กร

กฎ URSP

ส่วนนี้มีข้อมูลสำหรับผู้ให้บริการเกี่ยวกับการกำหนดค่ากฎ URSP สำหรับ หมวดหมู่สไลซ์ต่างๆ รวมถึงองค์กร CBS เวลาในการตอบสนองต่ำ และการรับส่งข้อมูลที่มีแบนด์วิดท์สูง เมื่อกำหนดค่ากฎ URSP สำหรับ หมวดหมู่สไลซ์ต่างๆ ผู้ให้บริการต้องใช้ค่าต่อไปนี้ที่เฉพาะเจาะจงสำหรับ Android

รหัส ค่า คำอธิบาย
OSId 97a498e3-fc92-5c94-8986-0333d06e4e47 OSId สำหรับ Android คือ UUID เวอร์ชัน 5 ที่สร้างขึ้นด้วยเนมสเปซ ISO OID และชื่อ "Android"

ผู้ให้บริการต้องกำหนดค่ากฎ URSP สำหรับการรับส่งข้อมูลแต่ละสไลซ์โดยมีคอมโพเนนต์ตัวอธิบายการรับส่งข้อมูลเป็น "ประเภทรหัส OS + รหัสแอป OS" เช่น สไลซ์ "ENTERPRISE" ต้องมีค่าเป็น 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 ค่านี้คือการต่อกันของ OSId, ความยาวของ OSAppId (0x0A) และ OSAppId ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทคอมโพเนนต์ของตัวอธิบายการรับส่งได้ที่ 3GPP TS 24.526 ตาราง 5.2.1

ตารางต่อไปนี้อธิบายค่า OSAppId สำหรับหมวดหมู่สไลซ์ต่างๆ

หมวดหมู่ของชิ้น OSAppId คำอธิบาย
ENTERPRISE 0x454E5445525052495345 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง ENTERPRISE
ENTERPRISE2 0x454E544552505249534532 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง ENTERPRISE2
ENTERPRISE3 0x454E544552505249534533 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง ENTERPRISE3
ENTERPRISE4 0x454E544552505249534534 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง ENTERPRISE4
ENTERPRISE5 0x454E544552505249534535 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง ENTERPRISE5
CBS 0x434253 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง CBS
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง PRIORITIZE_LATENCY
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง PRIORITIZE_BANDWIDTH
PRIORITIZE_UNIFIED_COMMUNICATIONS 0x5052494f524954495a455f554e49464945445f434f4d4d554e49434154494f4e53 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง PRIORITIZE_UNIFIED_COMMUNICATIONS

ตัวอย่างกฎ URSP

ตารางต่อไปนี้แสดงตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูลขององค์กร CBS, เวลาในการตอบสนองต่ำ, แบนด์วิดท์สูง และการรับส่งข้อมูลเริ่มต้น

Enterprise 1

การรองรับ Enterprise 1 พร้อมใช้งานใน Android 12 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล ENTERPRISE1 มีดังนี้

กฎ URSP #1 (enterprise1)
ลำดับความสำคัญ 1 (0x01)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
ส่วนประกอบที่ 2: DNN องค์กร
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN องค์กร

Enterprise 2

การรองรับ Enterprise 2 พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล ENTERPRISE2 มีดังนี้

กฎ URSP #2 (enterprise2)
ลำดับความสำคัญ 2 (0x02)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
องค์ประกอบที่ 2: DNN enterprise2
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise2

Enterprise 3

การรองรับ Enterprise 3 พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล ENTERPRISE3 มีดังนี้

กฎ URSP #3 (enterprise3)
ลำดับความสำคัญ 3 (0x03)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
องค์ประกอบที่ 2: DNN enterprise3
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise3

Enterprise 4

การรองรับ Enterprise 4 พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการเข้าชม ENTERPRISE4 มีดังนี้

กฎ URSP #4 (enterprise4)
ลำดับความสำคัญ 4 (0x04)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
องค์ประกอบที่ 2: DNN enterprise4
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise4

Enterprise 5

การรองรับ Enterprise 5 พร้อมให้บริการใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล ENTERPRISE5 มีดังนี้

กฎ URSP #5 (enterprise5)
ลำดับความสำคัญ 5 (0x05)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
องค์ประกอบที่ 2: DNN enterprise5
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise5

CBS

การรองรับ CBS พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล CBS มีดังนี้

กฎ URSP #6 (CBS)
ลำดับความสำคัญ 6 (0x06)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E4703434253
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
ส่วนประกอบที่ 2: DNN cbs
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN cbs

เวลาในการตอบสนองต่ำ

การรองรับเวลาในการตอบสนองต่ำพร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล LOW_LATENCY มีดังนี้

กฎ URSP #7 (เวลาในการตอบสนองต่ำ)
ลำดับความสำคัญ 7 (0x07)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN เวลาในการตอบสนอง
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN เวลาในการตอบสนอง

แบนด์วิดท์สูง

การรองรับแบนด์วิดท์สูงพร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล HIGH_BANDWIDTH มีดังนี้

กฎ URSP #8 (แบนด์วิดท์สูง)
ลำดับความสำคัญ 8 (0x08)
ตัวอธิบายการเข้าชม #1
ประเภทรหัสระบบปฏิบัติการ + รหัสแอปในระบบปฏิบัติการ 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY
องค์ประกอบที่ 2: DNN แบนด์วิดท์
ตัวอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN แบนด์วิดท์

ค่าเริ่มต้น

กฎ URSP #9 (ค่าเริ่มต้น)
ลำดับความสำคัญ 9 (0x09)
ตัวอธิบายการเข้าชม #1
match-all ไม่มี
ตัวอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
ส่วนประกอบที่ 1: S-NSSAI SST:XX SD:YYYYYY

การทดสอบ

หากต้องการทดสอบการแบ่งเครือข่าย 5G ให้ใช้การทดสอบด้วยตนเองต่อไปนี้

หากต้องการตั้งค่าอุปกรณ์สำหรับการทดสอบ ให้ทำดังนี้

  1. ตรวจสอบว่าได้กำหนดค่านโยบาย URSP ด้วยกฎที่ไม่ใช่ค่าเริ่มต้นซึ่ง ตรงกับหมวดหมู่องค์กร และตัวอธิบายการเลือกเส้นทางที่เกี่ยวข้อง แมปหมวดหมู่องค์กรกับสไลซ์องค์กร รวมถึงกฎเริ่มต้น ที่นำการรับส่งข้อมูลไปยังสไลซ์อินเทอร์เน็ตเริ่มต้น

  2. ตรวจสอบว่าได้กำหนดค่าโปรไฟล์งานในอุปกรณ์แล้ว

  3. เลือกใช้การแบ่งเครือข่ายผ่าน DPC

หากต้องการทดสอบลักษณะการทำงานของการแบ่งเครือข่าย 5G ให้ทำดังนี้

  1. ตรวจสอบว่ามีการสร้างเซสชัน PDU ด้วยสไลซ์ขององค์กร (เช่น โดยใช้ที่อยู่ IP ที่เฉพาะเจาะจง) และแอปในโปรไฟล์งานใช้เซสชัน PDU นั้น
  2. ตรวจสอบว่ามีการสร้างเซสชัน PDU แยกต่างหากด้วยสไลซ์อินเทอร์เน็ตเริ่มต้น และแอปในโปรไฟล์ส่วนตัวใช้เซสชัน PDU

การอัปเซลล์การแบ่งส่วนเครือข่าย 5G

ฟีเจอร์การขายอัปเซลล์การแบ่งส่วน 5G ซึ่งพร้อมใช้งานตั้งแต่ Android 14 QPR1 ช่วยให้ผู้ให้บริการสามารถนำเสนอความสามารถของเครือข่ายที่ได้รับการปรับปรุง (เวลาในการตอบสนองและแบนด์วิดท์) แก่ผู้ใช้ผ่านการแบ่งส่วนเครือข่าย 5G

ฟีเจอร์การขายอัปเซลล์การแบ่งส่วนเครือข่าย 5G ใช้การตอบกลับ TS.43 จากเซิร์ฟเวอร์การให้สิทธิ์ของผู้ให้บริการ เพื่อขับเคลื่อนขั้นตอนการซื้อ ผู้ให้บริการสามารถใช้การตอบกลับเพื่อ ระบุ URL สำหรับ WebView การซื้อของผู้ให้บริการ ส่งข้อมูลเพิ่มเติมไปยัง WebView และระบุว่ามีการจัดสรรและพร้อมใช้งานใน เครือข่ายของผู้ให้บริการหรือไม่

ผู้ให้บริการเครือข่ายสามารถปรับแต่งลักษณะการทำงานของฟีเจอร์การขายอัปเซลล์การแบ่งส่วนเครือข่าย 5G ได้โดยใช้การกำหนดค่าของผู้ให้บริการเครือข่าย ซึ่งจะควบคุมว่าสามารถส่งคำขอซื้อได้หรือไม่ เมื่อแอปได้รับอนุญาตให้ขอความสามารถระดับพรีเมียม และระยะเวลาที่เฟรมเวิร์ก Telephony รอการตอบกลับจากผู้ใช้หรือเครือข่าย

ฟีเจอร์การขายอัปเซลล์การแบ่งส่วนเครือข่าย 5G มีอินเทอร์เฟซที่เรียกว่า DataBoostWebServiceFlow เพื่อให้ Android และ WebView ของผู้ให้บริการสื่อสารกันได้

รูปที่ 2 แสดงขั้นตอนการซื้อการอัปเซลล์การแบ่งส่วนเครือข่าย 5G

ขั้นตอนการซื้อการขายอัปเซลการแบ่งส่วนเครือข่าย 5G

รูปที่ 2 ขั้นตอนการซื้อการอัปเซลล์การแบ่งส่วนเครือข่าย 5G

กระบวนการให้สิทธิ์ TS.43

เมื่อผู้ใช้ส่งคำขอความสามารถของเครือข่ายที่ดียิ่งขึ้น เฟรมเวิร์ก Telephony จะขอการกำหนดค่าสิทธิ์ของบริการสำหรับความสามารถระดับพรีเมียมที่ขอ หากการตอบกลับ TS.43 ใช้ได้ เฟรมเวิร์ก Telephony จะใช้ฟิลด์จากการตอบกลับ HTTP เพื่อขับเคลื่อนคำขออนุมัติการซื้อ

ฟิลด์การซื้อแบบแบ่ง

การกำหนดค่าการให้สิทธิ์ TS.43 มีฟิลด์การซื้อสไลซ์ต่อไปนี้

สถานะการให้สิทธิ์

แป้น: EntitlementStatus

ประเภท: int

ค่าที่รองรับ: 0 (ปิดใช้), 1 (เปิดใช้), 2 (ใช้ร่วมกันไม่ได้), 3 (การจัดสรร), 4 (รวมอยู่)

สถานะการจัดสรร

แป้น: ProvStatus

ประเภท: int

ค่าที่รองรับ: 0 (ไม่ได้จัดสรร), 1 (จัดสรรแล้ว), 2 (ไม่พร้อมใช้งาน), 3 (กำลังดำเนินการ)

เฟรมเวิร์ก Telephony ใช้สถานะการให้สิทธิ์และสถานะการจัดสรรร่วมกันเพื่อกำหนดสถานะการซื้อสไลซ์ปัจจุบัน ผลลัพธ์ อาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้

หากสถานะการให้สิทธิ์เป็น 1 (เปิดใช้) และสถานะการจัดสรรเป็น 0 (ไม่ได้จัดสรร) เฟรมเวิร์กโทรศัพท์จะแสดงการแจ้งเตือนการอัปเซลล์แก่ ผู้ใช้เพื่อซื้อการเพิ่มผ่าน WebView ของผู้ให้บริการ ตารางต่อไปนี้ อธิบายลักษณะการทำงานของเฟรมเวิร์ก Telephony สำหรับค่าสถานะการจัดสรรและการให้สิทธิ์ ชุดค่าผสมต่างๆ

สถานะการจัดสรร
ไม่ได้จัดสรร (0) จัดสรรแล้ว (1) ไม่พร้อมใช้งาน (2) กำลังดำเนินการ (3)
สถานะการให้สิทธิ์ ปิดใช้ (0) ล้มเหลว ล้มเหลว ล้มเหลว ล้มเหลว
เปิดใช้ (1) แสดง WebView ซื้อแล้ว ซื้อแล้ว กำลังดำเนินการ
ไม่รองรับ (2) ล้มเหลว ล้มเหลว ล้มเหลว ล้มเหลว
การจัดสรร (3) ข้อผิดพลาดของผู้ให้บริการ ข้อผิดพลาดของผู้ให้บริการ กำลังดำเนินการ กำลังดำเนินการ
รวม (4) ข้อผิดพลาดของผู้ให้บริการ ซื้อแล้ว ซื้อแล้ว ข้อผิดพลาดของผู้ให้บริการ

ฟิลด์โฟลว์บริการ

การตอบกลับ TS.43 จะระบุ URL, ข้อมูลผู้ใช้ และประเภทเนื้อหาเพื่อปรับแต่ง ลักษณะการทำงานของ WebView การซื้อของผู้ให้บริการ หากไม่ได้ระบุประเภทเนื้อหา ระบบจะโหลด URL เป็นคำขอ GET หากมีข้อมูลผู้ใช้ ระบบจะต่อท้ายข้อมูลดังกล่าวใน URL เป็นพารามิเตอร์การค้นหา (เช่น https://www.android.com?encodedValue=Base64EncodedUserData) และหากไม่มี ข้อมูล ระบบจะใช้ URL ตามเดิม (เช่น https://www.android.com)
หากระบุประเภทเนื้อหาในรูปแบบ JSON หรือ XML ระบบจะโหลด URL เป็นคำขอ POST และส่งข้อมูลผู้ใช้ (ถอดรหัสหากมีการเข้ารหัสใน Base 64) เป็น ข้อมูลสำหรับคำขอ POST

URL

แป้น: ServiceFlow_URL

ประเภท: String

ตัวอย่าง: "https://www.android.com"

ข้อมูลผู้ใช้

แป้น: ServiceFlow_UserData

ประเภท: String

ตัวอย่าง: "encodedValue=Base64EncodedUserData"

ประเภทเนื้อหา

แป้น: ServiceFlow_ContentsType

ประเภท: String

ค่าที่รองรับ: 0 (ไม่ระบุ), 1 (JSON), 2 (XML)

การกำหนดค่าผู้ให้บริการ

การกำหนดค่าผู้ให้บริการต่อไปนี้พร้อมให้ปรับแต่งลักษณะการทำงานของฟีเจอร์การขายเพิ่มสำหรับการแบ่งส่วนเครือข่าย 5G

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

รายการความสามารถระดับพรีเมียมที่รองรับ นี่คืออาร์เรย์ int ของ TelephonyManager.PremiumCapability ความสามารถระดับพรีเมียมเหล่านี้มีคุณค่าเช่นเดียวกับคลาส NetworkCapabilities.NetCapability ที่เกี่ยวข้อง หากมีการขอความสามารถระดับพรีเมียมและไม่ได้รวมไว้ในการกำหนดค่านี้ คำขออนุมัติการซื้อจะล้มเหลวพร้อมผลลัพธ์ CARRIER_DISABLED

ใน Android 14 รองรับเฉพาะ PREMIUM_CAPABILITY_PRIORITIZE_LATENCY

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

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

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

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

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

URL การซื้อของผู้ให้บริการสำรองที่จะแสดงต่อผู้ใช้เมื่อคลิก การแจ้งเตือนการขายอัปเซล หากไม่พบ URL การซื้อในการตอบกลับ TS.43 จากเซิร์ฟเวอร์การให้สิทธิ์ ระบบจะใช้ค่านี้แทน หากทั้ง URL จากการตอบกลับ TS.43 และการกำหนดค่าของผู้ให้บริการไม่ถูกต้อง คำขออนุมัติการซื้อจะล้มเหลวพร้อมผลลัพธ์ PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

ว่าจะอนุญาตให้ซื้อความสามารถระดับพรีเมียมเมื่ออุปกรณ์ เชื่อมต่อกับ Long-Term Evolution (LTE) หรือไม่ หาก true คุณจะส่งคำขอซื้อได้ทั้งใน LTE และ New Radio (NR) หาก false คำขอซื้อจะทำได้เฉพาะใน NR และคำขอที่ทำใน LTE จะล้มเหลว โดยมีผลลัพธ์เป็น PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

ระยะเวลาที่จะแสดงการแจ้งเตือนให้อัปเซลล์การซื้อต่อผู้ใช้ก่อนที่ระบบจะยกเลิกโดยอัตโนมัติ เมื่อยกเลิกการแจ้งเตือน ระบบจะจำกัดอัตราคำขอที่ตามมาและคำขอจะล้มเหลวพร้อมผลลัพธ์ PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

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

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

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

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

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

อินเทอร์เฟซ JavaScript

เมื่อผู้ใช้คลิกการแจ้งเตือนการเพิ่มเครือข่าย ระบบจะแสดงออบเจ็กต์ WebView พร้อม URL การซื้อของผู้ให้บริการแก่ผู้ใช้ ผู้ให้บริการสามารถใช้ API ที่ระบุไว้ใน DataBoostWebServiceFlow อินเทอร์เฟซ JavaScript ในเว็บไซต์การซื้อเพื่อสื่อสารกับแอปซื้อสไลซ์

เว็บไซต์ของผู้ให้บริการสามารถรับความสามารถระดับพรีเมียมที่ขอได้ผ่านเมธอด getRequestedCapability()

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

หากการซื้อไม่สำเร็จ เว็บไซต์ของผู้ให้บริการต้องแจ้งให้แอปซื้อแบบแบ่งชำระทราบผ่านเมธอด notifyPurchaseFailed(code, reason) โดยที่ code คือรหัสความล้มเหลวที่ระบุสาเหตุของความล้มเหลว และ reason คือ สาเหตุของความล้มเหลวที่อ่านได้ หากไม่ทราบรหัสความล้มเหลว

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

รหัสข้อผิดพลาดที่ถูกต้องซึ่งเว็บไซต์ของผู้ให้บริการขนส่งสามารถแสดง เมื่อการซื้อไม่สำเร็จมีดังนี้

เมื่อการซื้อเสร็จสมบูรณ์ ผู้ให้บริการต้องอัปเดตกฎ URSP ด้วยสไลซ์ PRIORITIZE_LATENCY ไปยังอุปกรณ์ของผู้ใช้

การกำหนดเส้นทางอัตโนมัติของการแบ่งส่วนเครือข่าย 5G สำหรับเสียงและวิดีโอ OTT

Android 17 รองรับการกำหนดเส้นทางอัตโนมัติของ การโทรด้วยเสียงและวิดีโอผ่านอินเทอร์เน็ต (OTT) ไปยังการเชื่อมต่อเครือข่ายระดับพรีเมียม ฟีเจอร์นี้ช่วยให้ระบบนำการรับส่งข้อมูลจากการโทรด้วยเสียงและวิดีโอไปยังอินเทอร์เฟซเครือข่ายพรีเมียมเฉพาะ (เช่น สไลซ์ 5G พรีเมียมหรือการเชื่อมต่อ PDN 4G พรีเมียม) ได้โดยอัตโนมัติโดยไม่ต้องทำการเปลี่ยนแปลงสแต็กเครือข่ายของแอป

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

วิธีการทำงาน

Android ได้รวมการรองรับการกำหนดเส้นทางอัตโนมัติผ่านการเพิ่มลงใน เฟรมเวิร์กการเชื่อมต่อและโทรคมนาคม ฟีเจอร์การกำหนดเส้นทางอัตโนมัติทำงานดังนี้

  • การตรวจจับการโทร: ระบบจะใช้ประโยชน์จาก Telecom Jetpack API ที่มีอยู่ซึ่งแอป OTT ใช้เพื่อตรวจจับการเริ่มต้นและการสิ้นสุดของการโทรด้วยเสียงหรือวิดีโอ
  • การจัดการการเชื่อมต่อ: เมื่อตรวจพบการโทร Android จะแสดง อินเทอร์เฟซเครือข่ายพรีเมียมที่กำหนด เช่น สไลซ์การสื่อสารแบบรวม
  • การกำหนดเส้นทางการรับส่งข้อมูล: ในระหว่างการโทร แพลตฟอร์มจะระบุ แอปพลิเคชันตาม UID และกำหนดเส้นทางการรับส่งข้อมูลไปยังการเชื่อมต่อเครือข่าย พรีเมียมโดยอัตโนมัติ
  • การเปลี่ยนเส้นทางหลังการโทร: เมื่อการโทรสิ้นสุดลง แพลตฟอร์มจะนำกฎการกำหนดเส้นทางออก และการรับส่งข้อมูลของแอปจะกลับไปใช้เครือข่ายเริ่มต้นของระบบ สำหรับการรับส่งข้อมูลที่ไม่ใช่การโทร (เช่น การรับส่งข้อความ)

ข้อกำหนด

คุณต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้จึงจะรองรับการกำหนดเส้นทางอัตโนมัติสำหรับการโทรผ่าน OTT ได้

  • ผู้ให้บริการ: ต้องเสนอการแบ่งส่วนการสื่อสารแบบรวมโดยการกำหนดค่ากฎ URSP ที่เหมาะสม ผู้ให้บริการต้องป้อนข้อมูล URSP ด้วยOSAppIDที่เฉพาะเจาะจง สำหรับการเข้าชมการสื่อสารแบบรวม
  • แอป: ต้องใช้ Android Telecom Jetpack API เพื่ออนุญาตให้ระบบตรวจหาระดับการโทร
  • ผู้ผลิตอุปกรณ์: ต้องใช้ Android 17 ขึ้นไป