יום שישי, אפריל 29, 2016

VoLTE בקוד חופשי

כשאני חושב על האפשרוית שיש היום לגולן לצאת מהבעיה אליה נכנסה החברה אני חושב על פריסת נתבים  (או שימוש בנתבים של חברה מסויימת) ושימוש בנתבים כנקודות גישה ל LTE באמצעות מה שמכונה כ Offloading.

מדוע זה יענה על הצורך משרד התקשורת ? מכיוון ש EGAN מגדיר את ה WiFI כתשתית הרדיו שלו לאספקת שירות (RAN). הדרישה של משרד התקשורת לכיסויי ולאחזקה של אנטנות תענה. ועל הדרך גולן יקבל פריסת דור 4 ואפילו תמיכה ב VoLTE (שאני לא חושב שיש מישהוא שמספק את זה בארץ).

VoLTE הוא דרך (שיטה?) להעביר את המידע שבדר"כ עבר דרך circuit switch תחת תקשורת IP. כלומר דברים כמו קול , SMS ו הודעות broadcast עוברים באפיק הנתונים. כאשר עוברים להשתמש באפיק נתונים מקצה אל קצה הדבר מאפשר לתמוך באיכות קול גבוהה יותר (במקום להשתמש ב 3.5 קילו הרץ אנו משתמשים ב 16), לספק יותר שירותים חכמים ולייצר רווח על שירותים בהשקעה נמוכה.

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

לשם ההתחלה ספק הטלפוניה יצטרך להקים תמיכה ב VoLTE בצד השרת, להקים שרתי דיאמטר,שרתי DNS ,  SIP ו XCAP.

לקוחות הקצה יוכלו לרכוש מכשירי סלולאר שתומכים ב VoLTE וגיקים כמוני ינסו להשתמש בזה דרך הכלים הפתוחים שיש ברשותינו.

מה שנזדקק לו זה:

  1. משהוא שיודע לבצע EAP-AKA לקוח ההזדהות שאנו משתמשים לו wifi הידוע כ wpa_supplicant יודע לבצע את זה בלי שום בעייה.

    קובץ ההגדרות יכול את ההגדרה הבאה עבור הרשת GolanOverWifi אם היא תתמוך בהזדהות EAP-AKA:

    #this may be added into /etc/wpa_supplicant.conf
    network={
     ssid="GolanOverWifi"
     key_mgmt=WPA-EAP
     eap=AKA
     pin="1234"
     pcsc="" # define as empty to allow pcsc usage (you are allowed to add args inside)
    }
    

  2. רכיב תוכנה שיודע לבצע זיהוי על גבי UICC - שד ברירת המחדל pcscd יודע לעשות זאת מצויין.

    מה שיהיה צריך לעשות זה לקחת קורא כרטיסים שנתמך בלינוקס ולהשתמש ב pcscd לקרוא את הנתונים ממנו.

    לאחר שחיברנו את קורא הכרטיסים למחשב והפעלת pcsc_scan נוודא שהכרטיס זוהה (פלט לדוגמא) :

  3. PC/SC device scanner
    V 1.4.26 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
    Compiled with PC/SC lite version: 1.8.15
    Scanning present readers...
    0: Gemalto PC Twin Reader (70D7E2EE) 00 00
    
    Fri Apl 29 11:47:42 2016
    Reader 0: Gemalto PC Twin Reader (70D7E2EE) 00 00
      Card state: Card inserted, 
      ATR: 3B 7E 13 00 00 00 6A 11 63 54 05 48 05 02 C6 01 22 90 00
    ATR: 3B 7E 13 00 00 00 6A 11 63 54 05 48 05 02 C6 01 22 90 00
    + TS = 3B --> Direct Convention
    + T0 = 7E, Y(1): 0111, K: 14 (historical bytes)
      TA(1) = 13 --> Fi=372, Di=4, 93 cycles/ETU
        43010 bits/s at 4 MHz, fMax for Fi = 5 MHz => 53763 bits/s
      TB(1) = 00 --> VPP is not electrically connected
      TC(1) = 00 --> Extra guard time: 0
    + Historical bytes: 00 6A 11 63 54 05 48 05 02 C6 01 22 90 00
      Category indicator byte: 00 (compact TLV data object)
        Tag: 6, len: A (pre-issuing data)
          Data: 11 63 54 05 48 05 02 C6 01
        Mandatory status indicator (3 last bytes)
          LCS (life card cycle): 22 (Proprietary)
          SW: 9000 (Normal processing.)
    
    Possibly identified card (using /home/user/.cache/smartcard_list.txt):
    3B 7E 13 00 00 00 6A 11 63 54 05 48 05 02 C6 01 22 90 00
    3B 7E 13 00 00 00 6A 11 63 54 05 48 .. .. .. 01 22 90 00
    




  4. לקוח SIP בעל הדרישות הבאות  :

    • לתמוך ב IPv4 ו IPv6
    • להחזיק לקוח XCAP  - לצערי linphone ו yate-qt אינם יודעים אבל jitsi יודע.
    • לקוח ה XCAP צריך לדעת לעבוד ללא chalange (לא יודע jitsi יודע או לא ) , לקוח ה SIP צריך לדעת להחליף את הזהות לזהות אותה קיבל לאחר ביצוע ה Register.

    • צריך לדעת לבצע register מחדש לאחר איבוד תקשורת (לא ראיתי את זה קורה ב yate-qt).
    • צריך לדעת לתמוך ב SIMPLE ו הודעות SM-IP  (למעשה מדובר על מקרה פרטי של 3428) )
    • צריך לדעת להוסיף את הכותרות  הבאות:

      phone-context  ו P-Aasserted-Identity ו P-Called-Party-ID. ולדעת להקים שיחה עם SIP-URI בצורה של MSISDN או של TEL.

      דוגמאות:

      sip:alphanumericusername@operator.tld

      sip:+33123456@free.fr;user=phone

      tel:+33123456;phone-context=free.fr

    • צריך לדעת להוסיף את ערך ה ICSI לשדה ה contact עם הכתובת הנגישה לרשת הסלולאר.דוגמא:

      Contact:sip:<+33123456@172.16.10.1:5060&gt
      ;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gppservice.ims.icsi.mmtel"
      


    • צריך לדעת לתמוך בשירותים הבאים (מינימום) :

      Originating Identification Presentation 3GPP TS 24.607 [23]
      Terminating Identification Presentation 3GPP TS 24.608 [24]
      Originating Identification Restriction 3GPP TS 24.607 [23] (Note 1)
      Terminating Identification Restriction 3GPP TS 24.608 [24] (Note 1)
      Communication Forwarding Unconditional 3GPP TS 24.604 [20] (Note 1)
      Communication Forwarding on not Logged in 3GPP TS 24.604 [20] (Note 1)
      Communication Forwarding on Busy 3GPP TS 24.604 [20] (Note 1)
      Communication Forwarding on not Reachable 3GPP TS 24.604 [20] (Note 1)
      Communication Forwarding on No Reply 3GPP TS 24.604 [20] (Note 1)
      Barring of All Incoming Calls 3GPP TS 24.611 [26] (Note 1)
      Barring of All Outgoing Calls 3GPP TS 24.611 [26] (Note 1)
      Barring of Outgoing International Calls 3GPP TS 24.611 [26] (Note 2)
      Barring of Outgoing International Calls – ex Home Country 3GPP TS 24.611 [26] (Note 2)
      Barring of Incoming Calls - When Roaming 3GPP TS 24.611 [26] (Note 1)
      Communication Hold 3GPP TS 24.610 [25]
      Message Waiting Indication 3GPP TS 24.606 [22] (Note 1)
      Communication Waiting 3GPP TS 24.615 [27] (Note 1)
      Ad-Hoc Multi Party Conference 3GPP TS 24.605 [21] (Note 1)
      

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

    • לקוח ה SIP צריך לדעת לתמוך בזימון אנשים להוסיף לשיחת וועידה (כבר קיים היום ) ב yate-qt לא יודע לגבי אחרים.

    • לקוח ה SIP רצוי שיידע לבצע פעולות כמו העברת שיחה ו History-Info.

    • לקוח ה SIP צריך לדעת לתמוך ב DTMF לפי נספח G
    • לקוח SIP שיודע לעבוד עם הקודקים AMR (כולל wideband).

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

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


שיטת ההזדהות לא שונה ממה שיש כיום והיא תראה בערך כך :



UE                   Bezeq Free Access Point     Bezeq Radius server              Translator        GT HSS
|<----WLAN registration--->|                            |                              |                 |
|                          |                            |                              |                 |
| --------EAP-AKA-------------------------------------->|                              |                 |
|                          |                            | ---Radius proxy the request->|                 |
|                          |                            |                              | ---Rad2Diam---->|
|                          |                            |                              |<--USIM register-|
|                          |                            |<--- USIM registration request|                 |
| <-------EAP-AKA---AUTH ACTIONs----------------------> |                              |                 |


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

הסיבה שצריך מתרגם , היא שככל הנראה פפקי תשתית הויפי מפעילים רדיוס אבל ב LTE אנו משתמשים בדיאמטר. ועל מנת להפוך הודעות מרדיוס ל דיאמטר צריך להשתמש ביישות שנקראת Diameter Translator.

אין תגובות:

הוסף רשומת תגובה