דואר קולי ויזואלי

אנדרואיד 6.0 (Marshmallow) הביאה יישום של תמיכת דואר קולי חזותי (VVM) המשולבת בחייגן, המאפשרת לשירותי Carrier VVM תואמים להתחבר לחייגן עם תצורה מינימלית. תא קולי ויזואלי מאפשר למשתמשים לבדוק בקלות תא קולי מבלי לבצע שיחות טלפון. המשתמשים יכולים לצפות ברשימת הודעות בממשק דמוי תיבת דואר נכנס, להאזין להן בכל סדר, ולמחוק אותן לפי הצורך.

אנדרואיד 7.0 הוסיפה את פרמטרי התצורה הבאים לתא הקולי החזותי:

  • שליפה מראש של הודעות קוליות הנשלטות על ידי KEY_VVM_PREFETCH_BOOLEAN
  • שליטה אם נדרש חיבור נתונים סלולרי על ידי KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN
  • שליפת תמלול תא קולי
  • שליפת מכסת הדואר הקולי

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

לקוח דואר קולי חזותי (VVM).

אנדרואיד 6.0 ומעלה כולל לקוח OMTP VVM, אשר (כאשר מסופק עם התצורה הנכונה) יתחבר לשרתי VVM של הספק ויאכלס הודעות דואר קולי חזותי בתוך חייגן Android Open Source Project (AOSP). לקוח VVM:

  • מטפל בהודעות ה-SMS המשמשות להפעלה/ביטול/שאילתה של סטטוס השירות והודעות ה-SMS המשמשות להודיע ​​למכשיר על אירועים בתיבת הדואר של המנוי
  • מסנכרן את תיבת הדואר עם שרת ה-IMAP
  • מוריד את ההודעות הקוליות כאשר המשתמש בוחר להאזין להן
  • מאחזר תעתיקי דואר קולי
  • שואב פרטים על מכסת הדואר הקולי (גודל תיבת דואר כולל וגודל תפוס)
  • משתלב בחייגן לפונקציונליות משתמש כגון התקשרות חזרה, צפייה בהודעות שלא נקראו, מחיקת הודעות וכו'.

השתלב עם לקוח VVM

יישום

הספק חייב לספק שרת דואר קולי ויזואלי המיישם את מפרטי OMTP VVM . היישום הנוכחי של לקוח AOSP VVM תומך בתכונות הליבה (קריאה/מחיקת הודעות קוליות, הורדה/סנכרון/האזנה) אך תכונות ה-TUI הנוספות (שינוי סיסמה, ברכה לדואר קולי, שפות) אינן מיושמות. בשלב זה, אנו תומכים רק בגירסת OMTP 1.1 ואינם משתמשים בהצפנה עבור אימות IMAP.

כדי לתמוך בתמלולים, הספקים חייבים לתמוך בפורמט מצורף התמלול (סוג MIME רגיל/טקסט) המצוין במפרט OMTP 1.3, פריט 2.1.3.

הערה : הודעות SMS למכשיר שמקורן בשרת (למשל STATUS או SYNC) חייבות להיות הודעות SMS נתונים.

תְצוּרָה

על מנת שספק ישתלב עם שירות VVM, הספק חייב לספק פרטי תצורה לפלטפורמה שבה יכול לקוח OMTP להשתמש. הפרמטרים האלה הם:

  • מספר יעד ומספר יציאה ל-SMS
  • שם החבילה של אפליקציית הדואר הקולי החזותי שסופק על ידי הספק (אם מסופקת כזו), כך שניתן להשבית את יישום הפלטפורמה אם החבילה הזו מותקנת

ערכים אלה מסופקים דרך ה- Carrier Config API . פונקציונליות זו, שהושקה באנדרואיד 6.0, מאפשרת לאפליקציה לספק באופן דינמי תצורה הקשורה לטלפוניה לרכיבי הפלטפורמה השונים הזקוקים לכך. במיוחד למפתחות הבאים חייבים להיות ערכים מוגדרים:

  • KEY_VVM_DESTINATION_NUMBER_STRING
  • KEY_VVM_PORT_NUMBER_INT
  • KEY_VVM_TYPE_STRING
  • KEY_CARRIER_VVM_PACKAGE_NAME_STRING
  • KEY_VVM_PREFETCH_BOOLEAN
  • KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN

אנא עיין במאמר תצורת הספק לפרטים נוספים.

יישום

לקוח OMTP VVM מיושם בתוך packages/services/Telephony , במיוחד בתוך src/com/android/phone/vvm/

להכין

  1. לקוח VVM מאזין ל- TelephonyIntents#ACTION_SIM_STATE_CHANGED או CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED .
  2. כאשר מתווסף SIM שיש לו את ערכי ה-Carrier Config הנכונים ( KEY_VVM_TYPE_STRING מוגדר ל- TelephonyManager.VVM_TYPE_OMTP או TelephonyManager.VVM_TYPE_CVVM ), לקוח VVM שולח הודעת SMS ACTIVATE לערך שצוין ב- KEY_VVM_DESTINATION_NUMBER_STRING .
  3. השרת מפעיל את שירות הדואר הקולי החזותי ושולח את אישורי ה-OMTP באמצעות SMS STATUS. כאשר לקוח VVM מקבל את ה-SMS STATUS, הוא רושם את מקור הדואר הקולי ומציג את לשונית הדואר הקולי במכשיר.
  4. אישורי OMTP נשמרים באופן מקומי והמכשיר מתחיל בסנכרון מלא, כמתואר להלן.

מסנכרן

ישנן מגוון דרכים שבהן לקוח VVM יכול לסנכרן עם שרת הספק ולהיפך.

  • סנכרון מלא מתרחש עם ההורדה הראשונית. לקוח VVM מביא מטא נתונים של דואר קולי כמו תאריך ושעה; מספר מקור; מֶשֶׁך; תמלול תא קולי, אם זמין; ונתוני אודיו אם KEY_VVM_PREFETCH_BOOLEAN הוא True. ניתן להפעיל סנכרון מלא על ידי:
    • הכנסת סים חדש
    • מאתחל את המכשיר
    • חוזרים לשירות
    • מקבל את השידור של VoicemailContract.ACTION_SYNC_VOICEMAIL .ACTION_SYNC_VOICEMAIL
  • סנכרון העלאה מתרחש כאשר משתמש מקיים אינטראקציה עם תא קולי כדי לקרוא או למחוק אותו. סנכרון העלאה מביא לכך שהשרת משנה את הנתונים שלו כך שיתאימו לנתונים במכשיר. לדוגמה, אם המשתמש קורא הודעה קולית, היא מסומנת כנקראה בשרת; אם משתמש מוחק דואר קולי, הוא נמחק בשרת.
  • סנכרון הורדה מתרחש כאשר לקוח VVM מקבל הודעת SYNC "MBU" (עדכון תיבת דואר) SYNC מהספק. הודעת SYNC מכילה את המטא נתונים של הודעה חדשה כך שניתן לאחסן אותה בספק התוכן של הדואר הקולי.

הערה : ערכי מכסת תיבת הדואר הקולי מאוחזרים במהלך כל סנכרון.

הורדת תא קולי

כאשר משתמש לוחץ על הפעל כדי להאזין לדואר קולי, קובץ האודיו המתאים מוורד. אם המשתמש בוחר להאזין לתא הקולי, החייגן יכול לשדר VoicemailContract.ACTION_FETCH_VOICEMAIL , אותו יקבל לקוח הדואר הקולי, ליזום את הורדת התוכן ולעדכן את הרשומה בספק התוכן של הדואר הקולי של הפלטפורמה.

השבתת VVM

ניתן להשבית או לבטל את שירות ה-VVM על ידי אינטראקציה של המשתמש, הסרת SIM חוקי או החלפה על ידי אפליקציית VVM של הספק. מושבת פירושו שהמכשיר המקומי כבר לא מציג דואר קולי חזותי. מושבת פירושו שהשירות כבוי עבור המנוי. אינטראקציה עם המשתמש יכולה להשבית את השירות, הסרת SIM משביתה את השירות באופן זמני מכיוון שהוא אינו קיים יותר, והחלפת VVM של הספק משביתה את לקוח ה-AOSP VVM.

אינטראקציה עם המשתמש

המשתמש רשאי להפעיל או להשבית באופן ידני את הדואר הקולי החזותי. אם משתמש משבית את הדואר הקולי החזותי, הוא גם משבית את השירות שלו. כאשר הם משביתים את הדואר הקולי החזותי, נשלח SMS של DEACTIVATE, מקור הדואר הקולי אינו רשום מקומי, וכרטיסיית הדואר הקולי נעלמת. אם הם מפעילים מחדש את הדואר הקולי החזותי, השירות שלהם יופעל מחדש גם כן.

הסרת סים

אם יש שינויים במצב ה-SIM של המכשיר ( ACTION_SIM_STATE_CHANGED ) או בערכי תצורת הספק ( ACTION_CARRIER_CONFIG_CHANGED ), ותצורה חוקית עבור ה-SIM הנתון כבר לא קיימת, אז מקור הדואר הקולי לא נרשם באופן מקומי וכרטיסיית הדואר הקולי נעלמת. אם ה-SIM יוחלף, VVM יופעל מחדש.

הוחלף על ידי הספק VVM

אפליקציית דואר קולי ויזואלית של ספק, אם מותקנת במכשיר, יכולה להשבית את לקוח AOSP VVM. זה מושג על ידי בדיקה אם מותקנת חבילה עם שם התואם לפרמטר KEY_CARRIER_VVM_PACKAGE_NAME_STRING .

עדיין ניתן להפעיל את לקוח VVM באמצעות אינטראקציה עם המשתמש.

בדיקה

קיימת קבוצה קיימת (מאז אנדרואיד 4.0) של מבחני CTS עבור ה-API של VoicemailProvider המאפשרים לאפליקציה להכניס/לשאול/למחוק הודעות קוליות לפלטפורמה. אלו הם אותם ממשקי API ש-VVM משתמש בהם כדי להוסיף/למחוק הודעות קוליות כך שכל אפליקציית חייגן תוכל להציג אותם בממשק המשתמש.

כדי לבדוק שאפליקציית התצורה שלך עוברת את תצורת ה-OMTP בצורה נכונה, תוכל לבדוק את הקוד שלך באמצעות:

  • SIM המכיל חתימת תעודה תקפה
  • מכשיר המריץ אנדרואיד 6.0 עם גרסה ללא שינוי של מסגרת הטלפון AOSP