זכאות לשירות IMS

מ-Android 12, אנדרואיד כוללת תמיכה ב- TS.43 Service Entitlement Configuration , מפרט GSMA המגדיר את שלב אימות הזכאות להפעלת שירותים כולל, Voice-over-Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE) , SMS over IP (SMSoIP), הפעלת שירות במכשיר (ODSA) של התקני eSIM נלווים (המשויכים למכשיר המבקש) ומידע על תוכנית נתונים.

כדי לתמוך במפרט זה, אנדרואיד מספקת תכונת זכאות לשירותי IMS המאפשרת לספק שירות להודיע ​​למכשירים ניידים על מצב שירותי הרשת IP Multimedia Subsystem (IMS). תכונת זכאות זו מאפשרת למכשיר לבצע שאילתות בשרת הזכאות של הספק כפי שהוגדר על ידי מפרט GSMA TS.43 עבור סטטוס הזכאות ל-IMS באמצעות אימות EAP-AKA מבלי לדרוש מהמשתמשים להזין אישורים כלשהם באופן ידני.

ספקים עם שרתי זכאות ל-IMS יכולים להשתמש בתכונת הזכאות לשירותי IMS לצורך מתן שירות. אימוץ התכונה מספק את היתרונות הבאים:

  • מפחית את עלויות הבדיקה וההסמכה עבור ספקים מכיוון שניתן להשתמש בתכונת הזכאות הזו במספר מוצרים ויצרני OEM.
  • מפחית את תקרת הפיתוח עבור יצרני מכשירים באמצעות אפליקציית אנדרואיד רגילה.
  • מאפשר ליצרני מכשירים וספקים לתרום קוד עבור התכונה מכיוון שהתכונה היא בקוד פתוח.
  • מספק ניהול כתובות חירום עבור ספקים בצפון אמריקה.

ארכיטקטורה

האיור הבא מתאר את הארכיטקטורה וההתנהגות של תכונת הזכאות לשירות IMS.

תכונת זכאות TS.43

איור 1. ארכיטקטורת תכונת זכאות TS.43

כפי שמוצג באיור 1, הארכיטקטורה של תכונת הזכאות לשירות IMS כוללת את הרכיבים הבאים:

  • service_entitlement TS.43 Service API ספרייה סטטית : ספרייה זו מיישמת את מפרט TS.43, מקיימת אינטראקציה עם שרת ההרשאות של ספק, וחושפת ממשקי API הפונים לאפליקציה עבור כל מקרה שימוש ב-TS.43.
  • אפליקציית הלקוח ImsServiceEntitlement : אפליקציה זו משתמשת ב-TS.43 Service API. האפליקציה מיישמת רכיבי ממשק משתמש כולל תצוגות אינטרנט לעיבוד פורטל השירות של הספק למשתמשים כדי להפעיל שירותים ולקיים אינטראקציה עם רכיבי אנדרואיד אחרים כדי לנהל את חווית המשתמש מקצה לקצה.

    למידע נוסף על איך להגדיר את אנדרואיד לעבוד עם שרת הרשאות מבוסס TS.43 של ספק, ראה אפליקציית ImsServiceEntitlement .

השורות הממוספרות באיור 1 מציגות כיצד הרכיבים של תכונת הזכאות לשירות IMS מתקשרים זה עם זה. להלן מתאר כל אחד מהשלבים כפי שסומנו:

(1) אפליקציית הלקוח מפעילה את ה-API של שירות TS.43 כדי ליזום בקשת זכאות לשירות.

(2) ממשק ה-API של שירות TS.43 שולח בקשת HTTP לשרת הזכאות של הספק כדי ליזום אתגר EAP-AKA.

(3) ממשק API של שירות TS.43 מפעיל ממשקי API של טלפוניה (לדוגמה, getIccAuthentication ) כדי להשלים את תגובת האתגר של EAP-AKA.

(4) שירות TS.43 מקבל נתוני זכאות לשירות או תצורה משרת הזכאות של הספק לאחר אימות תגובת EAP-AKA.

(5) שירות TS.43 מחזיר את זכאות השירות או נתוני התצורה לאפליקציית הלקוח.

(6) אפליקציית הלקוח מטפלת בנתונים ואופציונלית מעבדת את פורטל השירות של הספק כדי שהמשתמש יסיים את הפעלת השירות.

שילוב

סעיף זה מתאר את התהליך לשילוב ספריית service_entitlement ואפליקציית ImsServiceEntitlement .

מכיוון שאין תלות ב-API של Android 12, ניתן להעביר את ספריית service_entitlement ואפליקציית ImsServiceEntitlement לאחור לפלטפורמות אנדרואיד ישנות יותר.

ספריית זכאות_שירות

מכיוון שספריית service_entitlement מקושרת סטטית ImsServiceEntitlement app , לא נדרשים שלבים נוספים לשילוב הספרייה באפליקציית ImsServiceEntitlement .

ניתן לשלב את ספריית service_entitlement עם האפליקציות שלך עבור מקרי שימוש ב-TS.43 כגון תוכנית נתונים ו-ODSA. ניתן לשלב את הספרייה גם באפליקציה עבור מקרי שימוש שאינם זכאים TS.43 המבוססים על פרוטוקול EAP-AKA.

להלן מתארים את ממשקי ה-API לשימוש עבור מקרי שימוש כאלה:

  • אפליקציית TS.43 באמצעות פרוטוקול TS.43 HTTP המיושם בספריה: השתמש בממשקי ה-API במחלקה ServiceEntitlement
  • אפליקציה שאינה TS.43 המשתמשת בפרוטוקול EAP-AKA המיושם בספרייה: השתמש בממשקי ה-API שנחשפו במחלקה EapAkaHelper

אפליקציית ImsServiceEntitlement

כברירת מחדל, אנדרואיד כוללת את אפליקציית ImsServiceEntitlement המותקנת במחיצת המוצר כאפליקציה מועדפת. כדי להגדיר את האפליקציה, השתמש במקשי CarrierConfig הבאים:

מַפְתֵחַ ערך
KEY_ENTITLEMENT_SERVER_URL_STRING כתובת ה-URL של שרת הזכאות של הספק. יש לכלול את הקידומת https:// .
KEY_FCM_SENDER_ID_STRING מזהה השולח של הספק FCM.

אל תגדיר ערך זה אם הספק אינו נדרש ל-FCM.
KEY_SHOW_VOWIFI_WEBVIEW_BOOL הגדר כ- true אם הספק דורש ממשק משתמש של פורטל אינטרנט כדי שמשתמשים יוכלו להירשם לשירות VoWiFi. לדוגמה, הסכמה לתנאים והגבלות או הזנת כתובת חירום.

זה נדרש בדרך כלל על ידי ספקים בצפון אמריקה.
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
הגדר ל- com.android.imsserviceentitlement/.WfcActivationActivity , אם KEY_SHOW_VOWIFI_WEBVIEW_BOOL true .
KEY_IMS_PROVISIONING_BOOL הגדר כ- true אם הספק דורש אספקת רשת של שירותי IMS (VoLTE/VoWiFi/SMSoIP) ברקע.

זה נדרש על ידי ספקים אירופיים מסוימים.
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL הגדר כ- true אם KEY_IMS_PROVISIONING_BOOL true .

תעבורת ה-HTTP לשרת הזכאות ולפורטל האינטרנט של הספק עוברת דרך רשת ברירת המחדל, לדוגמה, ברירת מחדל לנתונים ניידים או Wi-Fi.

שותפי GMS: הספקים הבאים נתמכים על ידי אפליקציית הזכאות TS.43 באנדרואיד 12, בהתאם למפרט TS.43 v5.0:

  • ארה"ב: CSpire, US Cellular, סלקום
  • צרפת: כתום

ממשק משתמש נוסף של מערכת להקצאת IMS

סעיף זה מתאר כיצד יצרני OEM יכולים לתמוך ברכיבי ממשק משתמש נוספים של המערכת הקשורים להקצאת שירותי IMS (לדוגמה, בעת הצגת הודעה כאשר VoWiFi מוקצה).

האפליקציה ImsServiceEntitlement מגדירה את מצב האספקה ​​של VoWiFi לפלטפורמה באמצעות מערכת API ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value) . ממשק API זה משמש גם עבור VoLTE (עם KEY_VOLTE_PROVISIONING_STATUS ) ו-SMSoIP (עם KEY_SMS_OVER_IP_ENABLED ).

ממשק המשתמש של המערכת יכול לקרוא את מצב ההקצאה על ידי שימוש getProvisioningIntValue או על ידי רישום התקשרות חוזרת כדי לנטר את שינוי מצב ההקצאה באמצעות registerProvisioningChangedCallback .

עקיפת תצורות לבדיקה

השתמש בהליכים הבאים כדי לשנות באופן זמני את התנהגות אפליקציית ImsServiceEntitlement למטרות בדיקה. לפרטים על איך לעקוף תצורות של ספק, ראה עקיפה של תצורות ספק .

דילוג על תהליך ההרשמה ל-VoWiFi

כדי לדלג על תהליך ההרשמה ל-VoWiFi, לאפשר הפעלה ישירה של VoWiFi, דחוף את תצורת הספק KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING והגדר את הערך שלו למחרוזת ריקה.

דילוג על הקצאת IMS

כדי לדלג על הקצאת IMS, הפיכת שירותי IMS לזמינים ולאפשר למשתמשים להפעיל שירותים כאלה ללא הקצאת רשת, עוקף את תצורת הספק KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL והגדר את הערך שלה ל- false .

שינוי כתובת האתר של שרת הזכאות

כדי לשנות את כתובת ה-URL של שרת ההרשאות, דרוף את תצורת הספק KEY_ENTITLEMENT_SERVER_URL_STRING והגדר את הערך שלה למחרוזת כתובת האתר הצפויה. עליך לכלול את הקידומת https:// .

עקיפת תצורות הספק

מ-Android 11, פקודות עקיפה של תצורת הספק מובנות וזמינות עם הרשאות בסיס.

הפקודה הבאה היא דוגמה כיצד לעקוף את מפתח תצורת הספק carrier_volte_provisioning_required_bool ולהגדיר את הערך שלו ל- false . אתה יכול להפעיל את הפקודה מספר פעמים כדי לעקוף תצורות מרובות.

adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false

כדי לנקות את כל העקיפות, השתמש בפקודה הבאה:

adb shell cmd phone cc clear-values

כדי לקבל מידע נוסף, הפעל את הפקודה הבאה:

adb shell cmd phone cc