רישום יחיד של IMS

אנדרואיד 12 מציגה תמיכה במודל רישום יחיד למתן תכונות MMTEL ו-RCS. מודל זה מאפשר למכשירים לנהל את כל תכונות ה-IMS באמצעות רישום IMS יחיד המסופק על ידי ImsService של המכשיר ולעמוד בדרישות שהוצגו על ידי ספקי טלקום מסוימים. בהשוואה למודל רישום כפול, שבו רישום IMS מרובים מנוהלים במכשיר אחד, רישום בודד מפחית את התעבורה ברשת של הספק ומגביר את האמינות.

אנדרואיד 12 תומך במודל רישום יחיד זה באמצעות ארכיטקטורה עם קבוצה של ממשקי API המאפשרים למחסנית הטלפוניה של AOSP לנהל הן תכונות MMTEL המסופקות על ידי ImsService והן תכונות RCS המסופקות על ידי אפליקציית ההודעות RCS שנבחרה על ידי המשתמש. כדי לתמוך ברישום יחיד של IMS, יצרני מכשירים וספקי SoC חייבים ליישם ממשקי API אלה כדי לאפשר תכונות RCS באפליקציית העברת ההודעות RCS שנבחרה על ידי המשתמש.

איור 1 ממחיש את ערימת ה-IMS של המכשיר בעת שימוש במודל הרישום היחיד של IMS. כל אפליקציות IMS משתמשות בברירת המחדל של ImsService של המכשיר עבור תכונות MMTEL ו-RCS על פני רישום IMS יחיד. זה כולל הקצאה, העברת הודעות SIP וחילופי יכולות משתמש RCS.

ארכיטקטורת מצב רישום יחיד

איור 1. ארכיטקטורת מודל רישום יחיד

אנדרואיד 11 ומטה תומך רק במודל רישום כפול לאספקת תכונות MMTEL ו-RCS, כאשר MMTEL מסופק על ידי ה-ImsService של המכשיר ותכונות ה-RCS מיושמות מעל לראש ומנהלות את מחסנית ה-IMS שלהם ואת החיבור לרשת של הספק באופן עצמאי.

איור 2 ממחיש את הארכיטקטורה של מודל הרישום הכפול. בדגם זה, כל אפליקציה אחראית לחיבור לרשת של הספק והקמת רישום IMS לתכונות MMTEL ו-RCS. ImsService של המכשיר מיישם MMTEL, משתמש בחיבור הנתונים של המכשיר ל-IMS לרשת הספק, ופועל ללא תלות באפליקציות RCS אחרות.

ארכיטקטורת מצב רישום כפול

איור 2. ארכיטקטורת מודל רישום כפול

ממשקי API של רישום יחיד של IMS

מכשירים המגיעים לספקים הדורשים רישום יחיד של IMS חייבים לתמוך בממשקי API של רישום יחיד של IMS ולהגדיר את תכונת Android PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION . איור 3 מציג את ממשקי ה-API התומכים ברישום יחיד של IMS.

משטחי API התומכים ברישום יחיד של IMS

איור 3. משטחי API ברמה גבוהה התומכים ברישום יחיד של IMS

מכשירי אנדרואיד התומכים ברישום יחיד של IMS כחלק מחסנית הטלפוניה של AOSP נדרשים לתמוך בכל ממשקי ה-API של AOSP המתוארים בטבלה הבאה.

שטח פני ה-API ממשקי API של יישומי RCS ממשקי IMS של ספקים תיאור
אספקת RCS מנהל אספקה ImsConfigImplBase מאפשר ל-OEM או לספק לספק אפליקציה כדי לעדכן את סטטוס האספקה ​​של RCS אם הספק משתמש במנגנון זכאות קנייני של ספק. ה-ImsService חייב לתמוך גם ב-AutoConfigurationServer (ACS) הסטנדרטי עבור אספקה ​​עבור ספקים שאינם משתמשים במנגנון קנייני.
העברת הודעות SIP SipDelegateManager SipTransportImplBase מאפשר ליישום RCS לשייך תחילה תגיות תכונות ספציפיות של RCS למכשיר ImsService , ולאחר מכן לשלוח ולקבל הודעות SIP ועדכוני רישום IMS המשויכים לתגיות תכונות RCS אלה.
הודעות נושאות ייעודיות Connectivity Manager DataCallResponse מאפשר לאפליקציה להאזין להתראות QoS בשקע המשויך ליציאה מקומית ספציפית.
אימות GBA bootstrapAuthenticationRequest GbaService מאפשר לאפליקציית RCS לבצע אימות עם הרשת ומפתחות גישה המשמשים לתכונות RCS כגון העברת קבצים.
החלפת יכולות משתמש RCS ImsRcsManager RcsCapabilityExchangeImplBase מספק ל-AOSP את היכולת לשלוח את יכולות ה-MMTEL וה-RCS שלה לספק ImsService, כך שניתן יהיה לפרסם אותן תחת ישות אחת לרשת לצורך החלפת יכולות משתמש RCS. מאפשר גם לאפליקציות אחרות המתעניינות ביכולות ה-RCS של איש קשר אחד או יותר לבקש מהרשת את יכולות ה-RCS של אנשי הקשר.

אבטחה והרשאות

אנדרואיד 12 מציגה את ההרשאות הבאות כדי להבטיח גישה מאובטחת לרשת הספק ולנתוני המשתמש:

הרשאת android.permission.PERFORM_IMS_SINGLE_REGISTRATION חייבת להיות מוגדרת על ידי אפליקציית העברת ההודעות עם תכונות RCS. כדי להעניק הרשאה זו, על הדברים הבאים להיות נכונים:

  • האפליקציה חייבת להיות מותקנת כאפליקציה מורשות, כלומר היא מותקנת מראש במכשיר ומותר לגשת להרשאות מורשות
  • יש להגדיר את האפליקציה כתפקיד ברירת המחדל של המשתמש ב-SMS באמצעות RoleManager

אם שני התנאים הללו לא מתקיימים, האפליקציה נמנעת גישה להרשאת android.permission.PERFORM_IMS_SINGLE_REGISTRATION . המשמעות היא שאפליקציות צד שלישי אינן מורשות לגשת לממשקי API של רישום יחיד של RCS מכיוון שהם דורשים אישור ספק במכשיר.

ההרשאה android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE כאשר ניתנת לאפליקציה שיש לה גם הרשאת READ_CONTACTS מאפשרת לאפליקציה לבקש את יכולות ה-RCS של מספרי טלפון באמצעות RcsUceAdapter . כדי להעניק הרשאה זו, על הדברים הבאים להיות נכונים:

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

    • אפליקציית ברירת המחדל להעברת הודעות: מוגדרת על ידי המשתמש.
    • אפליקציית חייגן המוגדרת כברירת מחדל: מוגדרת על ידי המשתמש.
    • אפליקציית אנשי קשר המוגדרת כברירת מחדל: תפקיד שהוצג באנדרואיד 12 המאפשר ל-OEM להגדיר שם חבילה דרך ערך שכבת-העל של המכשיר config_systemContacts , אשר חייב להתאים לאפליקציית אנשי הקשר של המכשיר. האפליקציה הזו מקבלת את תפקיד אנשי הקשר.

כדי לגשת ל-IMS APN באמצעות ConnectivityManager כדי להגדיר ולנהל תעבורת נתונים, אפליקציות חייבות לבקש גם את ההרשאה android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS .

דוגמאות ומקור

אנדרואיד מספקת אפליקציה ב-AOSP המיישמת אפליקציית בדיקות הודעות עם תמיכה בסיסית בהעברת הודעות RCS למטרות בדיקה ופיתוח. אתה יכול למצוא את האפליקציה ב- testapps/TestRcsApp . כאשר האפליקציה מותקנת במכשיר, ניתן להגדיר אותה כאפליקציית ברירת המחדל להעברת הודעות של המשתמש ותהיה לה את ההרשאות הנדרשות לגישה לממשקי API של רישום יחיד של IMS.

אנדרואיד מספקת גם יישום לדוגמה של ImsService עבור RCS. קוד המקור נמצא ב- /testapps/ImsTestService .

יישום

לפרטי הטמעה נוספים, הורד את IMS Single Registration באנדרואיד .

מַתַן תוֹקֵף

כדי לאמת את היישום שלך של רישום יחיד של IMS, בצע את הפעולות הבאות:

  • ודא שחבילת הבדיקות של CtsTelephonyTestCases CTS עוברת.
  • התקן והפעל את TestRcsApp כדי להפעיל מקרי בדיקה בסיסיים של רישום בודד במהלך האינטגרציה.
  • עברו אישור ספק למקרי בדיקת רישום יחיד של IMS.