‏הצגת רשומות עם תוויות UMTS. הצג את כל הרשומות
‏הצגת רשומות עם תוויות UMTS. הצג את כל הרשומות

יום שני, דצמבר 06, 2021

אל תסמכו על berilios / github או sourceforge ועשו fork עצמאי

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

הסיפור הוא בספריית GPL בשם OpenBlox, הספרייה הייתה קיימת בשנת 2008 ב sourceforge , עם השנים הפרוייקט נסגר וככל הנראה נמכר לחברה אחרת (F5), הפרוייקט המקורי והפתוח נסגר והוחלף בפרוייקט בשם אחר. 

במונחי אינטרנט מדובר כמעט בארכיולוגיה, במציאות אני לא מצליח למצוא את הקוד המקורי. 
קבצי קוד המקור הארוזים בzip יפה אינם , waybackmachine אינו מכיל את המידע שאני צריך (יש את דף הפרוייקט אבל לא את קוד המקור לצערי). 
 
הצלחתי בדרך לא דרך להשיג כמות גדולה של קבצי מקור (אבל רק קבצי header) של הפרוייקט אבל עדיין חסר לי את הרכיב שמייצר את tgl.lib (אם למישהוא יש את גרסת ה GPL באזור גירסה 2.7 יויכול לשתף אני אודה לו מאוד).

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

יום רביעי, דצמבר 20, 2017

כיסוי אינטרנט

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

ניקח למשל את מקרה ה LTE-M, בגדול מדובר על חברה בשם PHI (פרטנטר-הוט) שתספק תשתיות שיאפשרו תעבורת LTE-M. ע"פ דיווחים בתקשורת רכיבי תקשורת שיתחברו כ IoT (אם אני מבין נכון ככל הנראה לפי הקצאת מספרי טלפון ולא דווקא בדיקה של IMEI או בדיקת יכולת ) יקבלו תעדוף.

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

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

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

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

כאשר יש לנו שימוש בחומרה מהסוג הזה יש לנו סיכוי מאוד גדול שנוכל להשתמש בכלים פתוחים וחופשים ע"ג מערכות AT/QMI/MBIM (תלויי בממשק) מה שבתלות בקודם יאפשר לנו ממשקים כמו ppp/qmi/mbim.

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

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

בנוגע למערכי חיישנים - אני לא אומר שצריך לעבור להשתמש ב E-Sim ונגזרות ה LTE (לא נתקלתי עדיין במימוש שעובד חלק עם E-Sim בדביאן) אבל כן ניתן היה להשתמש בשיטות כיסויי "פתוחות" שיאפשרו חיבור של הציוד למערכת מרכזית שיכולה לדבר עם מגוון רכב של כלים במקרה הצורך (הכל ב LORA דרך Wi-Fi ועד LTE רגיל ).

כאשר מדובר על ציוד קצה שנמצא ב"אתרים" (רדיוס קטן מ 50 מטר )  אני חושב שזה יהיה יותר בטוח להשתמש בדברים כמו  zigbee , וי-פי, SigFox מכיוון שמדובר על פתורונות פתוחים (חלק אפילו קוד חופשי) שימנעו נעילת ספק תשתי,כאשר הציוד שלנו מדבר בפרוטוקול / תוכנה חופשית זה מאפשר לנו להחליף ספקים ואף להיות ספק עצמי בעלות יחסית נמוכה.

פתרונות מבוססי תדר מורשה (LTE/3G/4G) בד"כ נועלים את המשתמש לספק כזה או אחר, ואם אתה כחברה צריך כיסוי אתה פונה לספק תקשורת ומדבר איתו באמצעות מודם כל שהוא.

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

יום שלישי, מרץ 21, 2017

כל הכבוד לספק הטלפוניה שלי

כתבתי בעבר הסתייגות לגבי השימוש בערוץ הנתונים בשעת חירום, אבל זכרתי שהודעות בערוץ ה CB אמורות עדיין לעבוד גם אם יש שימוש בערוץ הנתונים.

שנים האמנתי שלא שניתן לשבור Cell Broadcast וגם ערוץ נתונים בזמן חירום, אבל אני חייב להגיד לספק הטלפוניה תודה שלימדתם אותי שזה אפשרי - מתברר שיש אנשים שיכולים להרוס Public Warning System שעובדת שנים.

זה התחיל מזה שבזמן שבדקו את מערכבת ה PWS לא היתה הודעת CB, גם אפליקציות התראות מצב חירום שתקו. מזל שזה היה בדיקה ולא מצב חירום אמיתי.

בהתחלה האשמתי את systemd שהוא לא הפעיל נכון, או לא הפעיל כלל את ה timer והservice.

לכן בדקתי שהקבצים במקומות הנכונים ושהכל תקין מבחינתו:

find /etc/systemd/system/  -name *pws* -print
/etc/systemd/system/pws.timer
/etc/systemd/system/timers.target.wants/pws.timer
/etc/systemd/system/pws.service

$cat /etc/systemd/system/pws.timer 
[Unit]
Description=Public Warning System Timer

[Timer]
OnUnitActiveSec=5s
OnBootSec=100s

[Install]
WantedBy=timers.target

$cat /etc/systemd/system/pws.service
[Unit]
Description=Public Warning System Alert

[Service]
Type=oneshot
ExecStart=/bin/bash /usr/local/bin/parse_alerts.sh http://pws/WarningMessages/Alert/alerts.json

$systenctl status pws.timer
● pws.timer - Timed alert check
   Loaded: loaded (/etc/systemd/system/pws.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Tue 2017-03-21 11:06:50 IST; 1s ago

Mar 21 11:06:01 pc systemd[1]: Started Public Warning System Timer


אילו היה דבר קורה במכשיר סלולאר אחד הייתי מאמין שהדבר במכשיר אחד, אבל בגלל שלא היו התראות בשני קווים שונים התחלתי לחשוד.


הקו שאני מדבר עליו מתחבר ב UMTS תחת דור ה "3.5G".
התחברות מבוצעת ע"י wvdial.

ביצעתי מספר בדיקות להבין מהיכן מגיעה הבעיה בערוץ הנתונים :

ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.255.238 icmp_seq=17 Packet filtered
^C
--- 8.8.8.8 ping statistics ---
157 packets transmitted, 0 received, +1 errors, 100% packet loss, time 159696ms

חשוב לזכור שהכתובות אצל ספק הטלפוניה שלי הן תחת 10.144.0.0/16 המשכתי לראות מאיפה זה מגיעה וקיבלתי :
mtr --report-wide --show-ips 8.8.8.8
Start: Tue Mar 21 11:46:45 2017
HOST: pc        Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- ???            100.0    10    0.0   0.0   0.0   0.0   0.0
  2.|-- 10.192.192.149  0.0%    10   49.7  59.7  46.8  92.0  16.7
  3.|-- 10.192.192.150  0.0%    10   48.5  64.9  47.0  92.7  18.7
  4.|-- ???            100.0    10    0.0   0.0   0.0   0.0   0.0


ping 192.168.255.238
PING 192.168.255.238 (192.168.255.238) 56(84) bytes of data.
64 bytes from 192.168.255.238: icmp_seq=1 ttl=253 time=285 ms
64 bytes from 192.168.255.238: icmp_seq=2 ttl=253 time=303 ms
64 bytes from 192.168.255.238: icmp_seq=3 ttl=253 time=272 ms

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.6.6.6        0.0.0.0         UG    0      0        0 ppp0
10.6.6.6        0.0.0.0         255.255.255.255 UH    0      0        0 ppp0

mtr --report-wide --show-ips 192.168.255.238
Start: Tue Mar 21 11:40:55 2017
HOST: pc         Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- ???             100.0    10    0.0   0.0   0.0   0.0   0.0
  2.|-- 10.192.192.149   0.0%    10   51.1  52.2  48.7  55.9   2.4
  3.|-- 192.168.255.238  0.0%    10   57.2  63.5  50.1  93.7  16.0

sudo nmap -sV 192.168.255.238 

Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-21 11:37 IST
Nmap scan report for 192.168.255.238
Host is up (0.064s latency).
Not shown: 999 closed ports
PORT     STATE    SERVICE     VERSION
5222/tcp filtered xmpp-client

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 294.32 seconds


חמוש במידע הזה שהבעיה היא על קו אחד לפחות , לקחתי קו של חברה מתחרה ובדקתי אם אני יכול להרים חיבור ppp או לא, לא הייתה שום בעייה.

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

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

לא משנה ששלחתי קובץ pcap  ויש לי כתובת IP (שמגיבה כמו גדולה בתוך הרשת שלהם)

צילום מסך :




לאחר שלא הסתדרתי עם ספק הטלפוניה התחלתי לגגל לגבי CB.

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

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

יום ראשון, אוקטובר 16, 2016

Wi-Fi calling

אז מה זה Wi-Fi Calling ולמה לנו כאנשי תוכנה חופשית זה כה חשוב  ?

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


הרעיון אומר שרכיב התקשורת שלכם (UE) מתחבר לרשת הוי-פי ומשתמש בה כרכיב גישת הרדיו שלה. הדבר מאפשר למכשירי הקצה לקבל תמיכה ברכבות , תעלות, בנייני משרדים וכל מיני מקומות בהם כיסוי הרדיו הרגיל מתקשה ודורש התקנת רכיבים אחרים (GSM-R ברכבות , משדרים מיוחדים בנקודות גישה וכו').

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

הדבר היחיד שאינו ממוש כמו שצריך ברכיבי הסלולאר הוא לקוח ה ipsec שיתאים בצורה טובה לדרישות ה VoWiFi.

השוני העיקר עבורנו המשתמשים של VoWi-Fi (או VoWiFi) מ VoLTE הוא הרמה בה מתחברים לרשת, לנו כלקוחות קצה קל יותר להשתמש ב VoWiFi בגלל הגישה בה כל לקוח (תאורתית) יוכל להפעיל נתב שמאפשר לטלפון הסלולארי שלו להתחבר לרשת במידה וספק השירות אישר את השיטה.


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

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

אז איך זה עובד ?

לרעיון שימוש ב WiFi כרכיב התעבורה היו מספר גילגולים, הנושא הוצג גם ע"י GSMA וגם קיימים RFCים בדבר.

בגרסאות הישנות של הפתרון (לדוגמה ב WISPr) היו מגדירים שהטלפון שלכם יתחבר לרשתות בהם ה SSID הוא קבוע מראש (לדוגמה T-Mobile או tmobile) ואז מבצעים אימות EAP-SIM ומתקשרים ע"י SIP-IMS.

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

ה RFCים מדברים על שלושה גישות :

גישת ה Trusted - בה אנו סומכים על הרשת המארחת (שלנו ), במצב כזה חברת השירות היא בעלת תשתיות ה AP. היא מבצעת את האימות קרוב לנתבים (היא גם יכולה לספק שירותי ANDSQ בשביל לגרום למערכת להתחבר בצורה פשוטה יותר).


                                                             +-------+
                                                             |  IMS  |
                                                             | Core  |
            +-------------+              +-----------+       +-------+
            |             |              |           |           |
            | +--------+  | Flow mapped  |           |           |
            | |IMS APN |  | to VMAC-01   |           |       +-------+
            | |        +-----------------+           |       |IMS APN|
            | |Client  |  |              |           +-------+ P-GW  |
            | +--------+  |              |           |       +-------+
            |             |              |           |
            |             |              |Release 12 |
            |             |              |  TWAG     |
            |             |              |           |       +-------+
            |             |              |           |       |Default|
            |             |              |           +-------+ APN   |
            | +--------+  | Flow mapped  |           |       | P-GW  |
            | |Default |  | to VMAC-02   |           |       +-------+
            | | APN    +-----------------+           |           |
            | |Client  |  |              |           |           |
            | +--------+  |              |           |           |
            +-------------+              +-----------+           |
                                                               XXXXXX
                                                             XX     XXX
                                                            XX        XX
                                                           X           X
                                                          X            X
                                                          X Internet   X
                                                          X            X
                                                          X           XX
                                                           X         XX
                                                            XX    XXXX
                                                             XXXXXX

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

      +--------------+            +----------+          +-------+
      | +----------+ |  IMS-APN   |          |          |       |
      | |    SWu   | |  Traffic   |          |          |       |
      | |  Client  +------------------------------------+       |
      | |          | | Other APN  |          |          | ePDG  |
      | |          | |  traffic   |          |          |       |
      | |          +------------------------------------+       |
      | |          | |            |          |          +-------+
      | +----------+ |            |          |            |  |
      |              |            |          |         S2b|  |S2b
      |     UE       |            |  WLAN    |            |  +---+
      |              |            | Access   |            |      |
      | +----------+ |  LBO       |          |    +-------+   +-------+
      | | Native   | |  Traffic   |          |    |IMS APN|   | Other |
      | |          | |            |          |    |  PGW  |   |  APN  |
      | | Client   +-------------------+     |    |       |   |  PGW  |
      | |          | |            |    |     |    +-------+   +-------+
      | +----------+ |            |    |     |         |          |
      +--------------+            +----------+         |          |
                                       |               |          |
                                       |           +-------+   +-------+
                                       |           |  IMS  |   |  App  |
                                       |           |       |   | Server|
                                       v           +-------+   +-------+


וגישה היברידת המשלבת את שני הדברים:

                                                  +------+   +---------+
                                                  | IMS  |   |  Other  |
                                                  | Core |   |Services |
                                                  +------+   +---------+
                                                     |           |
                                                  +------+   +-------+
       +--------------+      +-----------+        |IMS   |   | Other |
       | +----------+ |      |           |        |P-GW  |   | P-GW  |
       | |    SWu   | |      | +-------+ |        +------+   +-------+
       | |  Client  | |      | |SIPTO  | |           |           |
       | |          | |      | ++NAT   | |           |  +--------+
       | +----------+ |      | +-------+ |           |  |
       |              |      |           |        +------+
       |     UE       +------+   TWAG    |  S2b   | ePDG |
       |              |      |           +--------+      |
       | +----------+ |      |           |        +------+
       | | Native   | |      |           |
       | | Client   | |      |           |
       | |          | |      |           |  S2a   +-------+
       | +----------+ |      |           +--------+Default|
       +--------------+      +-----------+        | PGW   |
                                                  +-------+
                                                    |
                                                    |
                                                    +
                                                 XXXXXXXX
                                                XX      XX
                                                X        X
                                                XInternetX
                                                X        X
                                                XX      XX
                                                 XXXXXXX


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

בצורה כזאת חברות שמספקות MVNO (או ספקי תקשורת רגילים) יכולות להצהיר על הרשת שלהם תחת כתובות DNS, שמות השירותים מוגדרים מראש (כמו במקרה הENUM ).

GSMA הכריז על מספר שירותים אליהם ניתן להתחבר בשביל לקבל גישה לשירותים :

http://epdg.epc.mnc$(MNC).mcc$(MCC).pub.3gppnetwork.org

http://ss.epdg.epc.mnc$(MNC).mcc$(MCC).pub.3gppnetwork.org

http://rcs.mnc$(MNC).mcc$(MCC).pub.3gppnetwork.org

http://mnc$(MNC).mcc$(MCC).pub.3gppnetwork.org

http://bsf.ims.mnc$(MNC).mcc$(MCC).pub.3gppnetwork.org

http://xcap.ims.mnc$(MNC).mcc$(MCC).pub.3gppnetwork.org

http://andsf.ims.mnc$(MNC).mcc$(MCC).pub.3gppnetwork.org


כל אחת מהכתובת בעת משמעות משלה שמאפשרת שימוש במשאבים נוספים.

במהלך החיבור יקבל את המאפיינים של ה Evolved Packet Data Gateway  (ePDG)  שאיתם צריך להתחבר.

במקרה של רשת שאינה בטוחה נפתח ערוץ ipsec :

לקוח הקצה יפתח ערוץ IPSEC/IKEv2 ( 5996 ו 3GPP TS 33.402)   לשרת בשביל שנוכל להשתמש במשאבי הרשת. ההזדהות (NAI) תהיה במבנה של IMSI@Realm (או מזהה מכשיר תחת realm) וזה ימולא תחת ה IDi בשדה ה IDr נמלא את ה APN שצריך להתחבר בתוך ה ePDG .

לאחר שיבוצע אימות כלפי ה ePDG ונקבל אישור לפתיחת session לאחר מכן לקוח ה SIP-IMS שלנו יבצע invite לקבל שירות.

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

במקרה של רשת מאובטחת לא מקימים תעלה, האימות מתבצע קרוב ל חיבור ל AP ע"י אחד מאפשרויות האימות מבוססי ה EAP, לבסוף לקוח הסיפ יבצע register בשביל להתחיל להשתמש במשאבי הרשת.


הכתובת config.rcs.pub.3gppnetwork.org מאפשר ממשק HTTP לקבל את מאפייני החיבור (זה rcs רגיל) , xcap הוא אותו ה xcap שאנו משתמשים ברכיבי ה SIP כאשר אנו מדברים עם רשתות LTE ו 3G. לצערי הרב ktp ו linphone לא מציגים דרך קלה לעבוד עם xcap.


בצד הלקוח -

בשביל שנוכל להשתמש באפשרויות האלה אנו נצטרך לקוח wpa_suppliant עדכני , לקוח SIP ולקוח ipsec איתו נוכל להתחבר לרשת רכיב חומרה שיודע לקרוא כרטיסי SIM או פשוט מכשיר סלולאר שיודע לתמוך ב WiFi Calling ו LTE.

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

אני מאמין ש linphone ידע להתמודד טוב עם SIP-IMS  ב VoWiFi עם המגבלות הבאות :

אני חושב שהתמיכה ב SMS over IP תהיה לוקה בחסר (יש תמיכה ב 3428 ונראה לי גם ב 4976 אבל לא בטוח שיש תמיכה בכל מה שתחת TS.2431) , הודעות חירום לא יעבדו (כי זה לא מוגדר) אבל פעולות של USSD ככל הנראה כי יעבדו.

מפתחי אפליקציות קצה  יכולים לראות את דרישות ה IMS בRFC ולממש את IR.92 (מה שיאפשר לעבוד גם ב VoLTE וגם ב VoWifi).

בגלל קיום שלושת הגישות להודעות מיידיות ככל הנראה יהיו בעיות אבל אני מאוד מקווה שהכל יממוש.

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

רכיב התקשורת (UE) שלנו יחפש קודם כל רשתות שהוא מכיר (ויודע שניתן להתחבר אליהם אם הם trusted), יבצע זאת ע"י מעבר שמות או יחפש רשתות שמאשרות ביצוע הזדהות סים (EAP-AKA/SIM וכו'). אם זה לא עבר יעבור למוד ה untrstursted בו יחפש את הנקודה אליה צריך להתחבר (לפי רשת הסלולאר שלנו כמו t-mobile.com או לפי הכתובות הרשומות תחת 3gppnetwork).

האימות נכון להיום (שמאפשר את שימוש) כולל דברים מבוססי סים (EAP-AKA) אבל גם דברים שאינם דורשים סים (מה שמאפשר לטאבלט ולדביאן שלנו להתחבר לרשת האלחוט באמצעי EAP-TTLS ו EAP-TLS).

במידה וה AP שלנו דורש הזדהות (hybrid mode או Trusted Mode) את חותמות הלקוח שקיבלנו יש לשמור תחת etc/ssl/certs/  ולהתאים את wpa_supplicant והדפדנים לקרוא משם דוגמאות (כמובן לשנות את הערכים לפי מה שקיבלתם מהספק).


network={
      ssid="TRUSTED-GSM-SSID"
      scan_ssid=1
      key_mgmt=WPA-EAP
      pairwise=CCMP TKIP
      group=CCMP TKIP
      eap=TLS
      identity="$(nonuiccid)@blablagsm.tld"
      ca_cert="/etc/certs/cacert.pem"
      client_cert="/etc/certs/client_blablagsm.pem"
      #or 
      #private_key="client_blablagsm.pem"
      #private_key_passwd="secretuserpassword"
   }
או במקרה של TTLS :
network={
      ssid="UNTRUSTED-GSM-SSID"
      key_mgmt=WPA-EAP
      eap=TTLS
      scan_ssid=1
      pairwise=CCMP TKIP
      group=CCMP TKIP 
      anonymous_identity="anon@blablagsm.tld"
      identity="$(nonuiccid)@blablagsm.tld"
      ca_cert="/etc/certs/ca.pem"
      phase2="autheap=TLS"
      ca_cert2="/etc/certs/cacert.pem"
      client_cert2="/etc/certs/client_blablagsm.pem"
      private_key2="key_client_blablagsm.pem"
      private_key2_passwd="secretuserpassword"
   }


בדביאן על מנת לאפשר את האימות מחדש נצטרך להפעיל ע"י בנייה מחדש עם דגלי ה internetworking מופעלים.

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


אבל אני מאמין שלאחר שהשירות כבר קיים בארבעת הספקים הגדולים בארה"ב  ואורנג' העולמית משהוא כבר יתאים את אפליקציות ה GUI הקיימות היום.

בצד השרת -

בצד הePDG נוכל להשתמש במחשבי דביאן רגילים, שמריץ שירותים סטאנדרטיים כמו שרת דיאמטר, שירות DNS, שרת ipsec, שרת xcap, שרת איכון גאוגרפי, שירותי SIP ומחבר לשירותי ה IMS של הרשת או משתמש ב OpenIMSCore (או דומה לו) בשביל לספק את היכולות הנדרשות.


הרשתות שבוחרות בשיטת ה untrusted כמובן חשופות להתקופות רגילות (דוגמה T-Mobile) אבל ההוזלה והיכולת להשתמש בצד שלישי בקלות בשביל לספק שירות פותחת אפשרויות שעולות על הסכנה בהתקפות.

יום חמישי, אפריל 28, 2016

offloading

שמתי לב למשהוא יחסית מעניין, למרות שהביקוש לגלישה גדל ואף חלק מחברות נותנות חבילות של 2-4 ג"ב /לחודש כמעט ולא נתקלתי בספקים שנתנו תמיכה ב Offloading (פרט לצרפת אבל שם זה מקרה מיוחד).

בשונה מ3G/UMTS קלאסי, הקמה של רשתות אלחוט על  בסיס WLan זול בסדר גודל (פשוט תשוו מחיר של נתב  (כ 100 דולר) כעמדת שידור לעומת BSS (כ 4000-5000 אלף דולר להקמה) .

הרעיון של ה I-Wlan מציע העברת צרכני Data ל שימוש ברשתות האלחוט וחיבור בו זמני גם לאספקת שיחות / SMS וגם לגלישת נתונים. פרוטוקול נוסף ה EGAN (specs) מאפשר העברת כול פעולות הרשת ע"ג ה Wi-Fi ובכך לאפשר שימוש ברכיבים קיימים כספקי שירות.

ההבדלים העיקרים  (שאני חושב לציין ) בין EGAN ל I-Wlan הוא שב EGAN יש Tight coupling ורשת ה WiFi משמשת כ RAN, בעוד ב I-Wlan יש loose coupling ותקשורת הנתונים יכולה (אבל לא חייבת) לעבור דרך רשת ה WiFi אבל יש חיבור לשני ההתקנים בו זמנית.

נניח ואני חברת תשתית ואני רוצה לחסוך הקמת אנטנות, שימוש ב EGAN ו I-Wlan יאפשר לי להשתמש בפריסת הנתבים שלי אצל המשתמשים (אהם .. bezeqfree אהםם ... ) בשביל לספק תשתית לכל המשתמשים.  מכיוון שעמדות Wi-Fi אינו דורש התרי בנייה הדבר הופך לפתרון זמין לחברות. חשוב לציין שאם חברות שפרשו רשתות אלחוט היו דואגות לשים התקן נוסף בנתבים הם היו יכולות לקבל femocells בחינם אבל מכיוון שהם לא עשו זאת ולבקש מהלקוחות להחליף נתב זה לא אופציה אני לא מכסה את האפשרות הזאת פה.

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

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

נכון להיום איתור התמיכה בשיטות (Access network discovery and selection function) קיים כבר במספר מימושים (כולל תכונות קוד פתוח ). הרעיון ב ANDSF לצורתיו מתכונן ע"י ה TSים הבאים : 
TS-23402
TS-24302
TS-24312

מאוד בגודל ANDSF מאפשר לרכיב הלקוח (UE), לאתר יכולת רשת חיצוניות ולרשת לספק יכולות אלו.
צורת העבודה היא שה UE ניגש לספקANDSF ומדבר ב S14. וזה עונה לו עם מיקום (או אף מקשר ) של ספקי השירות אותם הוא צריך (לדוגמה ע"י SMS). אחת השיטות שה UE מגלה התקן ANDSF היא באמצעות בקשת DHCP (6153) מיוחדת.

לאחר איתור המזההים ההתקן מתחבר לספקי השרות לקבלת השירות.

אחת הצורות לעבודה ב I-WLAN נראת בערך כך :
 
UE                            Acess Point (WiFi)     Network Core (AAA) 
<----EAP-SIM (ipsec tunnel) -------><-----Operator tunnel------------->


אני הפשטתי את הדיאגרמה (והסרתי נושאים כמו GTP ו GRE ואימות בצד הרשת כי הם מחוץ לסקופ של הפוסט) .

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

לדוגמה קובץ ההגדרות עבור Free Telecom נראה כך :
network={
    ssid="FreeWifi_secure"
    key_mgmt=WPA-EAP IEEE8021X
    eap=SIM
    priority=1
    pin="9999"
}

מרבית הכרטיסים יתמכו ע"י libccid ואחרים (יהיה צריך לכוון את קורה ה SIMים שלך להתקן ttyusb הנכון).

מפה עולה השאלה האם נוכל באמצעי תוכנה חופשית להשתמש בשני המסלולים בו זמנית  (WiFi ו LTE) ?
לצערי נכון להיות הפתרון הידוע בשם MAPCON רשום כפטנט ולכן ככל הנראה לא נוכל להשתמש בו.

כמה מילים על AuC

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

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

בעולם ה 3G יש לנו מספר ישיות מרכזיות ברשת האלחוט שמספקת תשתית.

מכרז האימות - Authtication Server (AuC)

ה AuC הוא מערכת ששומרת העתק של המפתח הפרטי של כל כרטיס חכם, המערכת מחזיקה מפתח מסטר K וSeed מידע (נקרא לו RAND) באמצעות שילוב של השנים נוצר מזהה איתו נבצע פעולות אימות ואישור ברשת התקשורת.

בGSM יש לנו שלשה של RAND  , תוצאה צפוייה (XRES) ומפתח הצפנה איתו נעבוד (CK)

צורת העבודה של שימוש במפתח סימטרי איפשרה לבצע אימות דו צדדי של הלקוח (הכרטיס החכם) ומערכת הזיהוו שאמורה להיות ברשת הביתית (HE). שני הצדדים גם שומרים על שני מזהיים SQNMS ו  SQNHE שנועדו לביצוע אימות הרשת ואימות תחנת הממסר (Mobile Station = MS).

יש הבדל באלגורתמי הזיהויי בין UMTS לבין 3G גם בגודל וגם באלגירתם עצמו,המפתחות הם בדרך כלל בגודל של 64 ביט (GSM) ו 128 ביט (UMTS).

ב UMTS זה יתנהג בערך כך -

הרשת המאחרת (היכן שנמצא ה MS) שולחת בקשה לווקטור (מערך) של אמצעי הזדהות ל AuC ברשת הביתית. כאשר כל תא בווקטור מכיל: מספר שרירותי, תוצאה צפוייה , מפתח הצפנה(CK) , בדיקת שלמות IK (אין קשר ל IK שלנו :) ) ו תוקן הזדהות (AUTN).

הרשת הביתית מייצרת ווקטור של N ומעבירה את המידע לרשת המארחת.
הרשת המאחרת בוחרת ווקטור הזדהות (i) שולחת בקשת הזדהות לציוד הקצה :
AUTN(i) || RAND(i)

ציוד הקצה מוודא את תוקן ההזדהות ושולח תשובה (RES) ומחשב CKו IK.
במידע והתוצאה של RES ו XRES זהות הרשת המארחת תאפשר שימוש במשאביה.

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

לקריאה נוספת TS 33.102 פרקים 6.3 ו 6.4

יום שני, אפריל 25, 2016

PCRF/PCEF/PCC

ב UMTS ו LTE יש לנו מספר מודלים לבצע חיוב, בחירת אופן החיוב והpolicy שלו מבוצע ע"י מה שמכונה Policy and Charing  Center (PCC).

ה PCC הוא יישות (אפשר להגיד מערכת שלמה) שיכולה לבצע החלטות ברשתות 3GPP (למשל UTMS ו LTE) וגם מערכות שהם לא בדיוק 3GPP (למשל כאשר יש שימוש ב I-WLAN).

ככל יש 5 מודלים של עבודה :
  1. חיוב לפי כמות שימוש.
  2. חיוב לפי זמן שימוש.
  3. חיוב לפי זמו וכמות שימוש.
  4. חיוב לפי אירוע.
  5. אי חיוב כלל
חיוב לפי כמות שימוש נמדד ביחידות (למשל KB ) וחיוב לפי זמן שימוש נמדד לפי זמן (לדוגמה גלשתי במשך שעה) .

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

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

כמו כן ניתן להגדיר כי כל מי שמתחבר לשירות הזרמת וידאו של Binge-On לא ישלם על השירות אבל אם יתחבר לצפות ב youtube הוא יחוייב בתשלום מלא.

המערכת יודעת לשלוח ל Policy and Charging Enforcement Function
 (PCEF) הודעות של כמה נשאר (זמן וכמות) לביצוע מעקב.

במידה ואנו עובדים במצב של חיוב בזמן אמת, ה PCEF יזהה מתי המשתמש חרג מהכמות המותרת וכאשר זה יקרה הוא ישלח הודעה ל Online Charging System (OCS) לזיהוי מחדש וקבלת משאבים (לדוגמה לשלם על עוד חבילת גלישה).

דרישות המינימום לאופן החיוב הן :

IP Connectivity Access Network  ברשת הביתית או המארחת.
מאפייני CSG של המשתמש.
QOS.
זמן ביממה.
מאפיני  IP Connectivity Access Network.



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

דוגמא קלאסית היא חיוב לשימוש בשירותי המייל של חברה מסויימת, ב uplink אנו מגדירים את שכל מה נשלח לפורט 80 ו 443 לחברה (בהתאם למשפחת כתובות מקור) וכל מה שמגיע מפורט 443 ו 80 ב downloing מהחברה.

השימוש ימדד על ידי ה Policy and Charging Rules Function (PCRF). שיקבל מידע פר משתמש ופר session זה נועד בשביל להפעיל החלטות בצורה דינאמית לפי אופן השימוש. ה PCRF שמבצע החלטות ישלח את הכמויות ה מותרות ל PCEF ו ה PCEF ישלח ל PCRF מתי משתמש מסויים הגיע לכמות שימוש מסויימת וידווח את כמות השימוש מאז הדיווח הקודם.

ה PCRF יבצע מעקב ברמת שירות , קבוצות שימושים ואף session בתוך IP-CAN.

למידע נוסף TS 23.203