การเริ่มต้นใช้งานการแชร์แพ็กเกจอินเทอร์เน็ตมือถือ

คำศัพท์

  • GTAF: ฟังก์ชันแอปพลิเคชันการเข้าชมของ Google บริการของ Google ที่ใช้ Data Plan Shared API และโต้ตอบกับ DPA ในนามของแอปพลิเคชัน Google แอปพลิเคชันต่างๆ ของ Google สามารถค้นหา GTAF เพื่อดูข้อมูลแพ็กเกจของผู้ใช้ได้ หากแอปพลิเคชัน Google ลงทะเบียนกับ GTAF ไว้ GTAF สามารถส่งการอัปเดตเกี่ยวกับแผนข้อมูลของผู้ใช้ได้
  • MSISDN: หมายเลขไดเรกทอรีสมาชิกระหว่างประเทศของสถานีมือถือ ซึ่งเป็นหมายเลขที่ระบุการสมัครใช้บริการที่ไม่ซ้ําในเครือข่ายมือถือ เป็นที่รู้จักกันโดยทั่วไปว่า หมายเลขโทรศัพท์
  • ปลายทาง CPID: บริการที่ใช้งานโดยผู้ให้บริการเครือข่ายมือถือที่สร้างตัวระบุแพ็กเกจของผู้ให้บริการ (CPID) ที่ใช้เพื่อค้นหาข้อมูลแพ็กเกจอินเทอร์เน็ตของผู้ใช้ได้ CPID ช่วยให้แอปพลิเคชันค้นหารายละเอียดแพ็กเกจอินเทอร์เน็ตของผู้ใช้ได้โดยไม่ต้องเข้าถึง MSISDN ของผู้ใช้ เราได้อธิบายกระบวนการสําหรับการสร้าง CPID ไว้ด้านล่างนี้
  • คีย์ผู้ใช้: คีย์ผู้ใช้เป็นสตริงที่ใช้ระบุแพ็กเกจอินเทอร์เน็ตของผู้ใช้ ซึ่งอาจเป็น CPID หรือ MSISDN สําหรับแอปพลิเคชันที่มีสิทธิ์เข้าถึง MSISDN
  • DPA: Agent ของ Data Plan ซึ่งเป็นบริการที่ใช้งานโดยผู้ให้บริการเครือข่ายมือถือที่แชร์ข้อมูลแพ็กเกจข้อมูลผู้ใช้กับ GTAF DPA สามารถแชร์ข้อมูลกับ GTAF ได้โดยใช้การส่งข้อมูลร่วมกันโดยใช้ Google Mobile Data Plan sharing API และใช้ Data Plan Agent API ร่วมกัน DPA อาจทําหน้าที่เป็นปลายทาง CPID ได้เช่นกัน
  • UE: อุปกรณ์ของผู้ใช้ อุปกรณ์ที่ผู้ใช้ใช้

ภาษาของข้อกำหนด

คีย์เวิร์ด "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT","SHULD", "SHULD NOT","RECOMMENDED&quot&&not &&not&quot&&&&& คุณควร8&&ในช่วง&&;& คุณควรชี้&ทั้ง;

การแชร์แพ็กเกจอินเทอร์เน็ตมือถือ

การแชร์แพ็กเกจอินเทอร์เน็ตมือถือในระดับสูงประกอบด้วย 3 ส่วน ได้แก่

  1. กลไกสําหรับการสร้างและอัปเดตตัวระบุแพ็กเกจผู้ให้บริการ (CPID) ที่ใช้เป็นคีย์ผู้ใช้ได้ แอปพลิเคชันที่มีสิทธิ์เข้าถึง MSISDN และ MSISDN สามารถใช้เป็นคีย์ผู้ใช้ได้
  2. API การแชร์แพ็กเกจอินเทอร์เน็ตมือถือของ Google ซึ่งช่วยให้ DPA ส่งข้อมูลเกี่ยวกับแพ็กเกจข้อมูลของผู้ใช้ไปยัง Google ได้ เช่น หาก DPA ต้องการแจ้งผู้ใช้เกี่ยวกับข้อเสนอ ก็จะแจ้ง GTAF เพื่อแจ้งให้ผู้ใช้ทราบ
  3. Data Plan Agent API ที่ใช้งานโดย DPA ซึ่งช่วยให้ GTAF สามารถค้นหาข้อมูลเกี่ยวกับ DPA ของผู้ใช้เกี่ยวกับแผนข้อมูลของผู้ใช้ได้ เช่น หากแอปพลิเคชันต้องการแสดงยอดคงเหลือของแพ็กเกจอินเทอร์เน็ตปัจจุบันต่อผู้ใช้ ก็จะค้นหา GTAF ได้ ซึ่งทําให้ DPA เห็นได้

ส่วนที่เหลือของหน้านี้จะแนะนําคําศัพท์เกี่ยวกับแพ็กเกจอินเทอร์เน็ตและรายละเอียดเกี่ยวกับวิธีสร้าง CPID API การแชร์ข้อมูลของแพ็กเกจอินเทอร์เน็ตมือถือของ Google และข้อมูลจําเพาะของ API แพ็กเกจอินเทอร์เน็ตจะเป็นไปตามถัดไป

คําศัพท์ของแพ็กเกจอินเทอร์เน็ต

สคีมาของ planStatus ที่กําหนดไว้ใน API ต้องสามารถแสดงแผนข้อมูลที่ให้บริการโดยโอเปอเรเตอร์แก่ผู้ใช้ API รองรับการกําหนดแผนข้อมูลที่จะเรียกเก็บเงินจากผู้ใช้ในอัตราที่แตกต่างกันสําหรับการเข้าชมทั้งหมดของ URL ชุดใดชุดหนึ่ง (เช่น การเข้าชมทั้งหมดใน *.acmefake.com จะถูกเรียกเก็บในอัตราอื่น) นอกจากนี้ API ยังรองรับแพ็กเกจอินเทอร์เน็ตที่มีอัตราการดําเนินการเฉพาะสําหรับการดําเนินการบางประเภทในแอปด้วย เราเรียกแผนข้อมูลนี้ว่าแอปย่อย ตัวอย่างแพ็กเกจอินเทอร์เน็ตมือถือสําหรับแอปย่อยคือการให้บริการการเรียกดูวิดีโอฟรี (เช่น ราคาเป็น 0) ขณะที่ดูวิดีโอภายในแอปพลิเคชันจะหักข้อมูลจากอินเทอร์เน็ตคงเหลือของผู้สมัคร แอปวิดีโอต้องเรียนรู้ข้อมูลนี้ได้เมื่อค้นหาข้อมูลแพ็กเกจข้อมูล

ในส่วนนี้ เราจะแนะนําคําศัพท์บางอย่างที่เกี่ยวข้องกับแผนข้อมูล ภาพ 1 แสดงตัวอย่างแผนข้อมูลที่แสดงถึงแนวคิดที่เราต้องการจะบันทึก

บริการข้อมูล: แพ็กเกจบริการมือถือระดับบนสุดที่สมาชิกซื้อ อาจเป็นอะไรง่ายๆ ก็ได้อย่างที่ &ยกมาจากมือถือ 10 GB เป็นเวลา 30 วัน&; หรืออาจหมายถึงคอลเล็กชันของส่วนประกอบ หรือที่เรียกว่าโมดูล แพ็กเกจอินเทอร์เน็ต มีลักษณะดังนี้

  • Data Plan Name เช่น "ACME Red"
  • ตัวระบุแผนข้อมูล ใช้เพื่ออ้างอิงถึงแผน เช่น ระหว่างการซื้อ
  • เวลาหมดอายุ เมื่อแพ็กเกจอินเทอร์เน็ตหมดอายุ
  • หมวดหมู่แพ็กเกจ ไม่ว่าจะเป็นแพ็กเกจแบบชําระเงินล่วงหน้าหรือแพ็กเกจแบบชําระเงินภายหลัง

Plan Module: องค์ประกอบของแผนข้อมูล โมดูลแพ็กเกจโดยเฉพาะมีคุณสมบัติต่อไปนี้

  • ชื่อโมดูล เช่น "Free Video Nights"
  • อัตราสูงสุด แบนด์วิดท์ที่โมดูลนี้จะแสดงต่อผู้ใช้
  • Flex Time Windows กรอบเวลาที่จะมอบส่วนลดให้ผู้ใช้ได้
  • หมวดหมู่การเข้าชมโมดูลโมดูล (PMTC) คือคําอธิบายเกี่ยวกับการเข้าชมข้อมูลที่โมดูลใช้ PMTC อาจเท่าๆ กับ *การเข้าชมอินเทอร์เน็ตทั้งหมด *หรือมีความเฉพาะเจาะจงเท่ากับการเข้าชมที่สร้างขึ้น/ใช้โดยแอปพลิเคชัน เว็บไซต์ หรือเส้นทางของผู้ใช้ตั้งแต่ 1 รายการขึ้นไปภายในแอปพลิเคชันเดียว ตัวอย่างประเภทหลังคือ "เพลงไม่จํากัด", "แพ็กข้อมูลวิดีโอ 100 MB (VDP)", "ข้อมูลเกมไม่จํากัด" &"การเรียกดูวิดีโอไม่จํากัด" เราได้กําหนด PMTC ต่อไปนี้ไว้เพิ่มเติมเพื่อช่วยอํานวยความสะดวกด้านคําจํากัดความของ PMTC GENERIC, VIDEO, VIDEO_BROWSING, VIDEO_OFFLINE1, MUSIC, GAMING, SOCIAL, MESSAGING และ PMTC_UNSPECIFIED.

  • ปริมาณข้อมูลหรือขีดจํากัดเวลา เมื่อเปิดใช้งาน โมดูลแพ็กเกจจะหมดอายุเมื่อปริมาณข้อมูลหรือขีดจํากัดเวลา (ในกรณีที่อยู่ในแพ็กเกจที่อิงตามเวลา เช่น ใช้งานอินเทอร์เน็ตได้ 600 นาทีในช่วง 7 วันข้างหน้า) รูปที่ 1 ด้านล่าง ผู้สมัครใช้บริการจะซื้อโมดูลแพ็กเกจได้ ซึ่งเป็นส่วนหนึ่งของ "ACME สีน้ําเงิน" ซึ่งใช้การเข้าชมของผู้ใช้ทั่วไป 1 GB ซึ่งจะต้องใช้ภายใน 1 สัปดาห์ก่อนที่จะเปิดใช้งาน

แผนตัวอย่างของ API สําหรับ Data Plan

รูปที่ 1 ตัวอย่างแพ็กเกจข้อมูล

การสร้าง CPID

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

ขั้นตอนการเรียก CPID

รูปที่ 2: โฟลว์การโทรเพื่อสร้าง CPID

  1. แอปพลิเคชันของ Google ใน UE ใช้ API ภายในของ Google เพื่อดึง URL ของปลายทาง CPID จาก GTAF ผู้ให้บริการจะระบุที่อยู่ IP สาธารณะและ MCC+MNC ของซิมการ์ดที่ใช้งานอยู่ของลูกค้า ในกรณีของ MVNO นั้น Google จะใช้ SPN และ GID1 เพื่อกําหนด MVNO
  2. ไคลเอ็นต์จะออกคําขอ HTTP GET ไปยังปลายทาง CPID โอเปอเรเตอร์อาจ ส่งคําขอผ่าน HTTPS
  3. โอเปอเรเตอร์ MAY จะใช้ฟังก์ชันการตรวจสอบแพ็กเก็ตโดยละเอียดเพื่อระบุคําขอ และแทรกหมายเลขโทรศัพท์ของผู้ใช้เป็นคําขอเป็นส่วนหัว HTTP
  4. ปลายทาง CPID ได้รับคําขอ สร้าง CPID และแสดงผล CPID ไปยัง UE พร้อม Time to Live (TTL) ซึ่งระบุระยะเวลาที่ UE สามารถใช้ CPID นี้ได้

นอกจากนี้ โอเปอเรเตอร์ MAY ยังใช้ที่อยู่ IP แทนชื่อโดเมนใน URL ปลายทาง CPID ในกรณีที่เลือกใช้ได้ ที่อยู่ IP อาจอยู่ในพื้นที่ส่วนตัว แต่ลูกค้า Google ต้องติดต่อภายในเครือข่ายของผู้ให้บริการได้

โอเปอเรเตอร์ SHALL จะให้ข้อมูลต่อไปนี้แก่ Google ซึ่งเป็นส่วนหนึ่งของกระบวนการเริ่มต้นใช้งาน 1. CPID_URL ที่แอปพลิเคชันจะติดต่อเพื่อขอ CPID ต้องมี CPID_URL 1 รายการ แต่โอเปอเรเตอร์อาจระบุ URL ได้หลายรายการเพื่อเพิ่มความพร้อมใช้งาน 1. รายการคํานําหน้า IP ที่ผู้ให้บริการเป็นเจ้าของและรหัสประเทศบนอุปกรณ์เคลื่อนที่ (MCC) และเครือข่ายมือถือ (MNC) ที่โอเปอเรเตอร์ต้องการแมปกับ CPID_URL หากโอเปอเรเตอร์ใช้ SPN หรือ GID1 เพื่อแยก MVNO ในเครือข่ายของตน โอเปอเรเตอร์ SHALL จะให้ข้อมูลนี้ด้วยเช่นกัน Google จะใช้ข้อมูลนี้เพื่อจับคู่ไคลเอ็นต์กับปลายทาง CPID ที่เกี่ยวข้องดังที่แสดงในขั้นตอนที่ 1 ของรูปที่ 2

รูปแบบของคําขอคือ GET CPID_URL สําหรับเหตุผลเดิม ปลายทาง CPID ควรรองรับคําขอต่อไปนี้ได้

GET CPID_URL?app={app_id}

ปลายทาง CPID จะไม่สนใจพารามิเตอร์ของ URL {app_id} เมื่อสร้าง CPID แต่จะต้องสามารถจัดการคําขอที่มีพารามิเตอร์ได้

คําขอที่ส่งไปยังปลายทาง CPID อาจประกอบด้วยส่วนหัว Accept-Language หากมีส่วนหัวรวมอยู่ด้วย สตริงที่มนุษย์อ่านเข้าใจได้ในอัปเดตที่ DPA ส่งโดยใช้ API การแชร์แพ็กเกจอินเทอร์เน็ตมือถือต้องใช้การตั้งค่าที่ระบุไว้ในคําขอ CPID

ทุกครั้งที่ไคลเอ็นต์ส่งคําขอ GET CPID_URL จะต้องมี CPID ใหม่ หากการสร้าง CPID สําเร็จ ปลายทาง CPID จะต้องแสดงผลการตอบกลับ 200 เนื้อหาการตอบกลับจะต้องมีอินสแตนซ์ของ CPIDResponse

{
    "cpid": "<CPID_string>",
    "ttlSeconds": 2592000
}

CPID ที่แสดงต้องมีอายุ ttlSeconds วินาที GTAF จะเข้ารหัส CPID ตาม RFC2396 ในการเรียก DPA ครั้งต่อๆ ไป

หากเกิดข้อผิดพลาด ปลายทาง CPID ต้องแสดงข้อผิดพลาด HTTP ที่มีเนื้อหาของการตอบกลับที่ต้องมีอินสแตนซ์ของ ErrorResponse คุณสามารถดูรายการค่าสาเหตุและรหัสข้อผิดพลาด HTTP ได้ที่นี่

{
    "errorMessage": "<error message>",
    "cause": "INVALID_NUMBER"
}

โดยเฉพาะอย่างยิ่ง หากได้รับคําขอ CPID สําหรับผู้ใช้ที่ไม่ได้อยู่ในเครือข่ายโอเปอเรเตอร์ (เช่น ผู้ใช้ที่เป็นเจ้าของโอเปอเรเตอร์รายอื่น แต่โรมมิ่งในเครือข่ายที่แสดงโดยปลายทาง CPID นี้) หรือผู้ใช้ไม่ได้เลือกแชร์ข้อมูลแพ็กเกจอินเทอร์เน็ตกับ Google ปลายทาง CPID จะต้องส่งคืนรหัสสถานะ HTTP 403

การสร้าง CPID

วิธีที่แนะนําสําหรับปลายทาง CPID ในการสร้าง CPID มีดังนี้

CPID_string = Base64(AES(MSISDN + TimeStamp + language, secret))

ปลายทาง CPID เชื่อมต่อ MSISDN ซึ่งเป็นภาษาที่ไคลเอ็นต์ส่งในส่วนหัวที่ยอมรับได้สําหรับภาษา และการประทับเวลาที่มีความละเอียดสูงและเข้ารหัสผ่าน AES โดยใช้คีย์ secret การประทับเวลาควรสอดคล้องกับเวลาที่ CPID หมดอายุ ส่วนเอาต์พุตที่เข้ารหัสจะเข้ารหัสแบบ Base64 นอกจากนี้ เมื่อใช้ CPID ใน URL URL นั้นจะต้องเข้ารหัส URL เพื่อจัดการสัญลักษณ์พิเศษ (/+=) ที่ใช้ใน Base64 โดยเฉพาะอย่างยิ่งเมื่อ GTAF เรียกใช้ DPA หรือเมื่อ DPA เรียกใช้ API การแชร์ข้อมูล แพ็กเกจมือถือ CPID จะต้องเข้ารหัส URL ข้อดีของการสร้าง CPID โดยใช้วิธีนี้คือปลายทาง DPA และ CPID ไม่จําเป็นต้องมีฐานข้อมูลของ CPID และ MSISDN ที่ถูกต้อง

การใช้งานปลายทาง CPID อาจไม่ใช่การดําเนินการที่เหมาะสม ทั้งนี้ขึ้นอยู่กับสถานการณ์ของโอเปอเรเตอร์นั้นๆ ความท้าทายอย่างหนึ่งที่เจอบ่อยคือการเข้าถึง MSISDN ที่ปลายทาง CPID เรายินดีแชร์บทเรียน เกี่ยวกับโอเปอเรเตอร์การเริ่มต้นใช้งานที่ได้รับ โปรดติดต่อเราหากคุณมีปัญหาอะไร

ข้อกําหนดด้านความปลอดภัย

โอเปอเรเตอร์ SHALL จะใช้ความระมัดระวังที่จําเป็นทั้งหมดเพื่อปกป้องข้อมูลส่วนตัว ของสมาชิก โดยเฉพาะอย่างยิ่ง เมื่อต้องการลดการเปิดเผย หมายเลขโทรศัพท์ของผู้ติดตาม ปลายทาง CPID ควรอยู่ภายในขอบเขตการรักษาความปลอดภัยของคุณ นอกจากนี้ สําหรับกรณีที่โอเปอเรเตอร์ใช้ DPI โอเปอเรเตอร์ควรเข้ารหัส MSISDN ก่อนนําไปแทรกในคําขอ HTTP หากปลายทาง CPID ไม่ใช่ขอบเขตความปลอดภัยของคุณ (เช่น เมื่อนําปลายทาง CPID ไปใช้งานบนระบบคลาวด์สาธารณะ) โอเปอเรเตอร์ไม่ควรส่ง MSISDN ผ่านอินเทอร์เน็ตสาธารณะอย่างชัดเจน โอเปอเรเตอร์สามารถสร้าง VPN ระหว่าง DPI กับปลายทาง CPID (ดูรูปที่ 1) หรือเข้ารหัส MSISDN ก่อนแทรกในส่วนหัว แนวทางหลังจะถือว่าปลายทาง CPID สามารถถอดรหัสส่วนหัวที่แทรกไว้เพื่อกู้คืน MSISDN ก่อนสร้าง CPID โอเปอเรเตอร์นี้จะป้องกันคีย์ลับที่ใช้สร้าง CPID และหมุนเวียนคีย์นี้ตามนโยบายความปลอดภัยของโอเปอเรเตอร์

ข้อกําหนดด้านความพร้อมและความจุ

หากลูกค้าเรียกดู CPID ไม่ได้ ก็จะเข้าถึงข้อมูลจาก API แพ็กเกจอินเทอร์เน็ตมือถือไม่ได้ ด้วยเหตุนี้ โอเปอเรเตอร์ SHALL จะใช้มาตรการที่จําเป็นเพื่อให้แน่ใจว่าความพร้อมใช้งานของ CPID มาตรการดังกล่าวรวมถึงฟังก์ชันปลายทาง CPID และฟังก์ชัน DPI หลายอินสแตนซ์ และมีการสํารองทางกายภาพ เว็บไซต์ และเครือข่ายทั้ง 2 รายการ และดูแลให้ทรัพยากรและความจุของระบบเพียงพอ นอกจากนี้ ปลายทาง CPID รวมไปถึงฟังก์ชัน DPI ที่แทรกส่วนหัวจะต้องมีความจุเพียงพอเพื่อรองรับภาระงานของไคลเอ็นต์ Google ทั้งหมดที่ขอ CPID ปลายทาง CPID สามารถใช้ค่าที่ใหญ่ขึ้นในช่อง ttlSeconds เพื่อลดความถี่ที่สร้าง CPID Google ขอแนะนําให้ใช้ค่า TTL เท่ากับ 30 วัน

หมายเหตุ


  1. PMVIDEO ของ VIDEO_OFFLINE หมายความว่าแพ็กเกจนี้ใช้ได้ในออฟไลน์เท่านั้น (เช่น QoE สตรีมมิงไม่ดีจริงๆ) โดยไม่ขึ้นอยู่กับกรอบเวลาของ FlexTime