برش شبکه 5G

برای دستگاه‌هایی که اندروید ۱۲ یا بالاتر را اجرا می‌کنند، اندروید از برش شبکه ۵G پشتیبانی می‌کند، استفاده از مجازی‌سازی شبکه برای تقسیم اتصالات شبکه واحد به چندین اتصال مجازی مجزا که مقادیر مختلفی از منابع را برای انواع مختلف ترافیک فراهم می‌کنند. برش شبکه ۵G به اپراتورهای شبکه اجازه می‌دهد تا بخشی از شبکه را به ارائه ویژگی‌های خاص برای بخش خاصی از مشتریان اختصاص دهند. اندروید ۱۲ قابلیت‌های برش شبکه سازمانی ۵G زیر را معرفی می‌کند که اپراتورهای شبکه می‌توانند به مشتریان سازمانی خود ارائه دهند:

برش دستگاه‌های سازمانی برای دستگاه‌های کاملاً مدیریت‌شده

برای شرکت‌هایی که دستگاه‌های شرکتی کاملاً مدیریت‌شده را در اختیار کارمندان خود قرار می‌دهند، ارائه‌دهندگان شبکه می‌توانند یک یا چند برش شبکه سازمانی فعال را در اختیار آنها قرار دهند که ترافیک دستگاه‌های شرکت به آنجا هدایت می‌شود. از اندروید ۱۲، اندروید به اپراتورها اجازه می‌دهد تا برش‌های سازمانی را از طریق قوانین URSP ارائه دهند، به جای اینکه برش‌ها را از طریق APNها تنظیم کنند.

برش برنامه‌های تجاری سازمانی برای دستگاه‌هایی با پروفایل‌های کاری

برای سازمان‌هایی که از راهکار پروفایل کاری استفاده می‌کنند، اندروید ۱۲ به دستگاه‌ها اجازه می‌دهد تا ترافیک را از همه برنامه‌های موجود در پروفایل کاری به یک بخش شبکه سازمانی هدایت کنند. سازمان‌ها می‌توانند این قابلیت را از طریق کنترل‌کننده سیاست دستگاه (DPC) فعال کنند.

راهکار پروفایل کاری، سطحی خودکار از احراز هویت و کنترل دسترسی را فراهم می‌کند که شرکت‌ها برای اطمینان از اینکه فقط ترافیک برنامه‌های سازمانی در پروفایل کاری به بخش شبکه سازمانی هدایت می‌شود، به آن نیاز دارند. برنامه‌های موجود در پروفایل کاری نیازی به اصلاح ندارند تا صریحاً درخواست بخش شبکه سازمانی را ارائه دهند.

نحوه‌ی برش شبکه‌ی 5G در AOSP

اندروید ۱۲ از طریق افزودن مواردی به کدبیس تلفن در AOSP و ماژول Tethering برای ادغام APIهای اتصال موجود که برای برش شبکه مورد نیاز هستند، پشتیبانی از برش شبکه ۵G را ارائه می‌دهد.

پلتفرم تلفن اندروید، HAL و APIهای تلفن را برای پشتیبانی از برش بر اساس درخواست‌های شبکه ثبت‌شده توسط کد شبکه اصلی و قابلیت‌های برش 5G در مودم ارائه می‌دهد. شکل 1 اجزای ویژگی برش شبکه 5G را شرح می‌دهد.

اجزای برش شبکه 5G

شکل 1. معماری برش شبکه 5G در AOSP.

پلتفرم تلفن و اتصال از موارد زیر پشتیبانی می‌کند:

  • تبدیل درخواست‌های شبکه برای دسته‌بندی‌های برش به توصیف‌گرهای ترافیک که سپس برای تطبیق ترافیک URSP و انتخاب مسیر به مودم ارسال می‌شوند.
  • بازگشت به شبکه پیش‌فرض در صورت عدم دسترسی به بخش شبکه سازمانی
  • مسیریابی ترافیک از همه برنامه‌های تحت نمایه کاری به اتصال مربوطه
  • پشتیبانی از برش سازمانی

    • تشخیص وجود یک پروفایل کاری روی دستگاه
    • بررسی مجوزها یا مسیرهای مسیریابی ارائه شده از DPC مورد استفاده مدیر فناوری اطلاعات سازمان

سرویس شبکه اصلی شامل تغییرات زیر در ماژول Tethering در اندروید ۱۲ است:

  • بیشتر کلاس‌های API عمومی یا سیستمی android.net.* را به ماژول Tethering اضافه می‌کند.
  • مرزهای ماژول Tethering را گسترش می‌دهد تا شامل موارد زیر شود:

    • 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 را از ماژول Tethering خارج می‌کند.

اندروید ۱۲ کدی با قابلیت‌های زیر را به ماژول Tethering منتقل می‌کند:

  • دریافت درخواست از برنامه‌ها برای اتصال به شبکه
  • دریافت درخواست‌ها از سیستم (برای مثال، «قرار دادن این برنامه‌ها در یک برش سازمانی»؛ معرفی شده در اندروید ۱۲)
  • ارسال درخواست‌ها از سیستم به کد تلفن که سعی می‌کند با عبور از HAL API و مودم، شبکه‌ها یا برش‌ها را راه‌اندازی کند.
  • اطلاع‌رسانی به netd در مورد نحوه مسیریابی ترافیک بر اساس هر برنامه (معرفی شده در اندروید ۱۲)
  • اطلاع‌رسانی به برنامه‌ها در مورد ترافیک شبکه‌شان از طریق APIهای ConnectivityManager مانند NetworkCallback ، getActiveNetwork و getNetworkCapabilities .

پیاده‌سازی

برای پشتیبانی از برش 5G در یک دستگاه، دستگاه باید مودمی داشته باشد که از IRadio 1.6 HAL پشتیبانی کند که دارای API setupDataCall_1_6 است. این API یک اتصال داده را برقرار می‌کند و شامل پارامترهای زیر برای پشتیبانی از برش 5G است:

  • trafficDescriptor : توصیف‌گر ترافیک ارسالی به مودم را مشخص می‌کند.
  • sliceInfo : اطلاعاتی را برای برش شبکه مشخص می‌کند که در صورت انتقال EPDG به 5G مورد استفاده قرار می‌گیرد.
  • matchAllRuleAllowed : مشخص می‌کند که آیا استفاده از یک قانون پیش‌فرض match-all URSP مجاز است یا خیر. Telephony این را برای شبکه‌های پیش‌فرض روی true تنظیم می‌کند اما برای برش‌ها اینطور نیست. قانون match all روی شبکه‌های پیش‌فرض اعمال می‌شود. وقتی یک برنامه یک برش خاص را درخواست می‌کند که در دسترس نیست، آن برش خاص به عنوان «در دسترس نیست» گزارش می‌شود. برای برنامه‌های سازمانی، اگر شبکه سازمانی در دسترس نباشد، چارچوب Telephony می‌تواند به شبکه پیش‌فرض برگردد.

مودم‌ها همچنین باید رابط برنامه‌نویسی getSlicingConfig را پیاده‌سازی کنند، مگر اینکه توسط رابط برنامه‌نویسی getHalDeviceCapabilities پشتیبانی نشود.

الزامات سازمانی

در ادامه، الزامات مربوط به شرکت‌ها برای استفاده از برش شبکه 5G در دستگاه‌های موجود در یک سیستم عامل اندروید سازمانی شرح داده شده است.

  • اطمینان حاصل کنید که دستگاه‌های کاملاً مدیریت‌شده یا دستگاه‌های کارمندی که با پروفایل کاری راه‌اندازی شده‌اند، دارای قابلیت پشتیبانی از 5G SA هستند و مودم‌های آنها از رابط برنامه‌نویسی کاربردی setupDataCall_1_6 پشتیبانی می‌کنند.
  • با شریک اپراتور در مورد تنظیمات برش و عملکرد یا ویژگی‌های SLA همکاری کنید.

فعال کردن قابلیت برش 5G روی دستگاه‌هایی که با پروفایل کاری تنظیم شده‌اند

برای دستگاه‌هایی که با پروفایل‌های کاری تنظیم شده‌اند، برش شبکه 5G به طور پیش‌فرض در AOSP خاموش است. برای فعال کردن برش شبکه، مدیران فناوری اطلاعات سازمانی می‌توانند مسیریابی ترافیک برنامه پروفایل کاری را به برش شبکه سازمانی بر اساس هر کارمند از طریق EMM DPC فعال یا غیرفعال کنند، که از روش setPreferentialNetworkServiceEnabled در API DevicePolicyManager (DPM) (معرفی شده در اندروید 12) استفاده می‌کند.

فروشندگان EMM با DPC های سفارشی باید API DevicePolicyManager را برای پشتیبانی از مشتریان سازمانی ادغام کنند.

قوانین URSP

این بخش شامل اطلاعاتی برای اپراتورها در مورد پیکربندی قوانین URSP برای دسته‌های مختلف برش داده از جمله سازمانی، CBS، تأخیر کم و ترافیک پهنای باند بالا است. هنگام پیکربندی قوانین URSP برای دسته‌های مختلف برش داده، اپراتورها باید از مقادیر خاص اندروید زیر استفاده کنند.

شناسه ارزش توضیحات
شناسه سیستم عامل 97a498e3-fc92-5c94-8986-0333d06e4e47 OSId برای اندروید یک UUID نسخه ۵ است که با فضای نام ISO OID و نام "Android" تولید شده است.

اپراتورها باید قوانین URSP را برای هر ترافیک برش با مؤلفه توصیف‌گر ترافیک به صورت "شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل" پیکربندی کنند. به عنوان مثال، برش "ENTERPRISE" باید مقدار 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 داشته باشد. این مقدار ترکیبی از OSId، طول OSAppId ( 0x0A ) و OSAppId است. برای اطلاعات بیشتر در مورد نوع مؤلفه توصیف‌گر ترافیک، به جدول 5.2.1 از 3GPP TS 24.526 مراجعه کنید.

جدول زیر مقادیر OSAppId را برای دسته‌های مختلف برش شرح می‌دهد.

دسته بندی برش شناسه OSApp توضیحات
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 در اندروید ۱۲ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک ENTERPRISE1 آمده است:

قانون شماره ۱ URSP (شرکت ۱)
حق تقدم ۱ (۰x۰۱)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN شرکت
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN شرکت

اینترپرایز ۲

پشتیبانی از Enterprise 2 در اندروید ۱۳ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک ENTERPRISE2 آمده است:

قانون شماره ۲ URSP (شرکت ۲)
حق تقدم ۲ (۰x۰۲)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN اینترپرایز۲
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN اینترپرایز۲

اینترپرایز ۳

پشتیبانی از Enterprise 3 در اندروید ۱۳ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک ENTERPRISE3 آمده است:

قانون شماره ۳ URSP (enterprise3)
حق تقدم ۳ (۰x۰۳)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN سازمانی3
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN سازمانی3

اینترپرایز ۴

پشتیبانی از Enterprise 4 در اندروید ۱۳ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک ENTERPRISE4 آمده است:

قانون شماره ۴ URSP (شرکت ۴)
حق تقدم ۴ (۰x۰۴)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN سازمانی4
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN سازمانی4

اینترپرایز ۵

پشتیبانی از Enterprise 5 در اندروید ۱۳ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک ENTERPRISE5 آمده است:

قانون شماره ۵ URSP (enterprise5)
حق تقدم ۵ (۰x۰۵)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN سازمانی5
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN سازمانی5

سی بی اس

پشتیبانی از CBS در اندروید ۱۳ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک CBS آمده است:

قانون شماره ۶ URSP (CBS)
حق تقدم ۶ (۰x۰۶)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 0x97A498E3FC925C9489860333D06E4E4703434253
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN سی بی اس
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN سی بی اس

تأخیر کم

پشتیبانی از تأخیر کم در اندروید ۱۳ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک LOW_LATENCY آمده است:

قانون شماره ۷ URSP (تأخیر کم)
حق تقدم ۷ (۰x۰۷)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN تأخیر
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN تأخیر

پهنای باند بالا

پشتیبانی از پهنای باند بالا در اندروید ۱۳ و بالاتر موجود است. در زیر یک مثال از قانون URSP برای ترافیک HIGH_BANDWIDTH آمده است:

قانون شماره ۸ URSP (پهنای باند بالا)
حق تقدم ۸ (۰x۰۸)
توصیفگر ترافیک شماره ۱
شناسه سیستم عامل + نوع شناسه برنامه سیستم عامل 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY
مؤلفه شماره ۲: DNN پهنای باند
توصیفگر انتخاب مسیر شماره ۲
حق تقدم ۲ (۰x۰۲)
مؤلفه شماره ۱: DNN پهنای باند

پیش‌فرض

قانون شماره ۹ URSP (پیش‌فرض)
حق تقدم ۹ (۰x۰۹)
توصیفگر ترافیک شماره ۱
همه چیز مطابق ناموجود
توصیفگر انتخاب مسیر شماره ۱
حق تقدم ۱ (۰x۰۱)
جزء شماره ۱: S-NSSAI SST:XX SD:YYYYYY

آزمایش

برای آزمایش برش شبکه 5G، از آزمون دستی زیر استفاده کنید.

برای تنظیم دستگاه برای آزمایش، موارد زیر را انجام دهید:

  1. اطمینان حاصل کنید که سیاست URSP با یک قانون غیر پیش‌فرض پیکربندی شده است که با دسته سازمانی مطابقت دارد و توصیف‌گر انتخاب مسیر مربوطه، دسته سازمانی را به برش سازمانی نگاشت می‌کند؛ و یک قانون پیش‌فرض که ترافیک را به برش اینترنتی پیش‌فرض هدایت می‌کند.

  2. مطمئن شوید که یک پروفایل کاری روی دستگاه پیکربندی شده است.

  3. از طریق DPC، از برش شبکه استفاده کنید

برای آزمایش رفتار برش شبکه 5G، موارد زیر را انجام دهید:

  1. تأیید کنید که یک جلسه PDU با بخش سازمانی (مثلاً با استفاده از یک آدرس IP خاص) برقرار شده است و برنامه‌های موجود در نمایه کاری از آن جلسه PDU استفاده می‌کنند.
  2. تأیید کنید که یک جلسه PDU جداگانه با قطعه اینترنت پیش‌فرض برقرار شده است و برنامه‌های موجود در پروفایل شخصی از جلسه PDU استفاده می‌کنند.

افزایش فروش با برش 5G

ویژگی افزایش قیمت برش 5G که از اندروید 14 QPR1 در دسترس است، به اپراتورها اجازه می‌دهد تا از طریق برش شبکه 5G، قابلیت‌های شبکه بهبود یافته (تأخیر و پهنای باند) را به کاربران خود ارائه دهند.

ویژگی افزایش فروش برش 5G از پاسخ TS.43 از سرور مجوز اپراتور برای هدایت جریان خرید استفاده می‌کند. اپراتورها می‌توانند از این پاسخ برای مشخص کردن URL برای نمای وب خرید اپراتور، ارسال داده‌های اضافی به نمای وب و نشان دادن اینکه آیا برش در شبکه اپراتور تأمین و در دسترس است یا خیر، استفاده کنند.

اپراتورها می‌توانند رفتار ویژگی افزایش قیمت 5G slicing را با استفاده از پیکربندی‌های اپراتور تنظیم کنند، که کنترل می‌کند آیا درخواست‌های خرید می‌توانند انجام شوند، چه زمانی برنامه‌ها مجاز به درخواست قابلیت‌های ویژه هستند و چه مدت چارچوب Telephony منتظر پاسخ از کاربر یا شبکه می‌ماند.

ویژگی افزایش قیمت 5G slicing رابطی به نام DataBoostWebServiceFlow فراهم می‌کند تا امکان ارتباط بین اندروید و نمای وب اپراتور را فراهم کند.

شکل ۲ جریان خرید افزایشی 5G را نشان می‌دهد:

جریان خرید با تخفیف ویژه برای محصولات 5G

شکل ۲. جریان خرید افزایشی با برش ۵G

فرآیند اعطای حق امتیاز 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 (عدم تأمین) باشد، چارچوب Telephony یک اعلان افزایش قیمت به کاربر نمایش می‌دهد تا از طریق نمای وب اپراتور، افزایش قیمت را خریداری کند. جدول زیر رفتار چارچوب Telephony را برای ترکیبات مختلف مقادیر وضعیت تأمین امتیاز و حق امتیاز شرح می‌دهد.

وضعیت تأمین
تأمین نشده ( 0 ) ارائه شده ( 1 ) موجود نیست ( 2 ) در حال انجام ( 3 )
وضعیت استحقاق معلول ( 0 ) شکست خورده شکست خورده شکست خورده شکست خورده
فعال شده ( 1 ) نمایش نمای وب قبلاً خریداری شده قبلاً خریداری شده در حال انجام
ناسازگار ( 2 ) شکست خورده شکست خورده شکست خورده شکست خورده
تأمین ( 3 ) خطای حامل خطای حامل در حال انجام در حال انجام
شامل ( 4 ) خطای حامل قبلاً خریداری شده قبلاً خریداری شده خطای حامل

فیلدهای جریان خدمات

پاسخ TS.43، URL، داده‌های کاربر و نوع محتوا را برای سفارشی‌سازی رفتار وب‌ویو خرید اپراتور مشخص می‌کند. اگر نوع محتوا مشخص نشده باشد، URL به عنوان یک درخواست GET بارگذاری می‌شود. اگر داده‌های کاربر وجود داشته باشد، به عنوان یک پارامتر پرس‌وجو به URL اضافه می‌شود (برای مثال، https://www.android.com?encodedValue=Base64EncodedUserData )؛ و اگر وجود نداشته باشد، URL به همان صورت استفاده می‌شود (برای مثال، https://www.android.com ).
اگر نوع محتوا با فرمت JSON یا XML مشخص شده باشد، URL به صورت یک درخواست POST بارگذاری می‌شود و داده‌های کاربر (که در صورت کدگذاری در پایه 64 رمزگشایی می‌شوند) به عنوان داده برای درخواست POST ارسال می‌شوند.

آدرس اینترنتی

کلید: ServiceFlow_URL

نوع: String

مثال: "https://www.android.com"

داده‌های کاربر

کلید: ServiceFlow_UserData

نوع: String

مثال: "encodedValue=Base64EncodedUserData"

نوع محتوا

کلید: ServiceFlow_ContentsType

نوع: String

مقادیر پشتیبانی‌شده: 0 (نامشخص)، 1 (JSON)، 2 (XML)

پیکربندی‌های حامل

در ادامه پیکربندی‌های اپراتور موجود برای سفارشی‌سازی رفتار ویژگی افزایش قیمت 5G slicing آمده است.

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

فهرستی از قابلیت‌های ویژه که پشتیبانی می‌شوند. این یک آرایه int از TelephonyManager.PremiumCapability است. این قابلیت‌های ویژه، مقدار مشابهی با کلاس NetworkCapabilities.NetCapability مربوطه دارند. اگر یک قابلیت ویژه درخواست شود و در این پیکربندی گنجانده نشده باشد، درخواست خرید با نتیجه CARRIER_DISABLED با شکست مواجه می‌شود.

در اندروید ۱۴، فقط 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

حداکثر تعداد دفعات ماهانه که اعلان افزایش فروش خرید به کاربر نشان داده می‌شود. اگر حداکثر ماهانه رعایت شود، اعلان افزایش فروش نمایش داده نمی‌شود و درخواست‌های خرید (از جمله درخواست‌های سرور حق امتیاز) تا اولین روز ماه بعد متوقف می‌شوند. درخواست‌های خریدی که پس از رسیدن به حداکثر ماهانه انجام شوند، با نتیجه PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED با شکست مواجه می‌شوند.

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

آدرس اینترنتی پشتیبان خرید اپراتور که هنگام کلیک بر روی اعلان افزایش فروش به کاربر نمایش داده می‌شود. اگر آدرس اینترنتی خرید در پاسخ TS.43 از سرور مجوز یافت نشود، از این مقدار استفاده می‌شود. اگر نه آدرس اینترنتی پاسخ 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 را برمی‌گردانند. اگر شبکه نتواند پیکربندی برش را به موقع تنظیم کند، برنامه‌ها می‌توانند دوباره درخواست خرید قابلیت‌های ویژه را بدهند. Telephony صرف نظر از اینکه کاربر هزینه را به اپراتور پرداخت کرده باشد یا خیر، خرید را تا زمانی که پیکربندی برش مربوطه ارسال نشود، کامل شده تلقی نمی‌کند.

رابط جاوا اسکریپت

وقتی کاربر روی اعلان افزایش سرعت شبکه کلیک می‌کند، یک شیء WebView با URL خرید اپراتور به کاربر نشان داده می‌شود. اپراتورها می‌توانند از APIهای ارائه شده در رابط جاوا اسکریپت DataBoostWebServiceFlow در وب‌سایت خرید خود برای ارتباط با برنامه خرید Slice استفاده کنند.

وب‌سایت اپراتور می‌تواند قابلیت پریمیوم درخواستی را از طریق متد getRequestedCapability() دریافت کند.

اگر خرید موفقیت‌آمیز باشد، وب‌سایت اپراتور باید از طریق notifyPurchaseSuccessful() یا notifyPurchaseSuccessful(duration) به برنامه خرید برش اطلاع دهد، که در آن duration یک پارامتر اختیاری است که مدت زمان مورد نظر برای برش را نشان می‌دهد.

اگر خرید موفقیت‌آمیز نباشد، وب‌سایت اپراتور باید از طریق متد notifyPurchaseFailed(code, reason) به برنامه خرید slice اطلاع دهد، که در آن code کد خطا است که دلیل خطا را نشان می‌دهد و reason دلیل خطا است اگر کد خطا ناشناخته باشد.

اگر هیچ یک از این متدهای پاسخ فراخوانی نشوند، خرید تکمیل‌شده تلقی نمی‌شود و درخواست خرید در نهایت منقضی می‌شود.

کدهای خطای معتبری که وب‌سایت شرکت مخابراتی می‌تواند برای خرابی خرید برگرداند، به شرح زیر است:

پس از تکمیل خرید، اپراتور باید قوانین URSP را با برش PRIORITIZE_LATENCY در دستگاه کاربر به‌روزرسانی کند.

مسیریابی خودکار برش 5G برای صدا و تصویر OTT

اندروید ۱۷ از مسیریابی خودکار تماس‌های صوتی و تصویری OTT به اتصالات شبکه پریمیوم پشتیبانی می‌کند. این ویژگی به سیستم اجازه می‌دهد تا بدون نیاز به تغییر در پشته شبکه برنامه، ترافیک را از تماس‌های صوتی و تصویری به یک رابط شبکه پریمیوم اختصاصی (مانند یک برش پریمیوم ۵G یا یک اتصال پریمیوم ۴G PDN) هدایت کند.

این راهکار سطح پلتفرم، نیاز توسعه‌دهندگان برنامه به درخواست صریح قابلیت‌های شبکه را از بین می‌برد و تجربه‌ای یکپارچه را هم برای توسعه‌دهندگان و هم برای کاربران نهایی فراهم می‌کند.

چگونه کار می‌کند؟

اندروید از طریق افزودن قابلیت‌هایی به چارچوب‌های اتصال و مخابرات، پشتیبانی از مسیریابی خودکار را در خود جای داده است. ویژگی مسیریابی خودکار به شرح زیر عمل می‌کند:

  • تشخیص تماس: این سیستم از APIهای موجود Telecom Jetpack که توسط برنامه‌های OTT استفاده می‌شوند، برای تشخیص شروع و پایان تماس‌های صوتی یا تصویری استفاده می‌کند.
  • مدیریت اتصال: پس از تشخیص تماس، اندروید یک رابط شبکه ممتاز تعیین‌شده، مانند یک بخش ارتباطی یکپارچه، را نمایش می‌دهد.
  • هدایت ترافیک: در طول تماس، پلتفرم، برنامه را با استفاده از شناسه کاربری (UID) آن شناسایی کرده و به طور خودکار ترافیک آن را به اتصال شبکه پریمیوم هدایت می‌کند.
  • پشتیبان پس از تماس: وقتی تماس پایان می‌یابد، پلتفرم قانون مسیریابی را حذف می‌کند و ترافیک برنامه برای ترافیک غیر تماسی (مانند پیام‌رسانی) به شبکه پیش‌فرض سیستم بازمی‌گردد.

الزامات

برای پشتیبانی از مسیریابی خودکار برای تماس‌های OTT، شرایط زیر باید رعایت شود:

  • اپراتورها: باید با پیکربندی قوانین URSP مناسب، یک برش ارتباطی یکپارچه ارائه دهند. اپراتورها باید URSP را با یک OSAppID خاص برای ترافیک ارتباطی یکپارچه پر کنند.
  • برنامه‌ها: باید از APIهای Android Telecom Jetpack استفاده کنند تا سیستم بتواند وضعیت تماس‌ها را تشخیص دهد.
  • سازندگان دستگاه: اندروید ۱۷ یا بالاتر مورد نیاز است.