הסבר על SIP ועל יכולות ה VOIP בגירסת ה Gingerbread החדשה לאנדרואיד

אפליקציות, מערכות הפעלה של גוגל אנדרויד - ginger bread, ice cream sandwich, froyo, jelly bean
שלח תגובה
osherov פותח השרשור
סמל אישי של משתמש
גורו Android
גורו Android
תגובות: 15029
הצטרף: אפריל 2007
נתן תודות: 201 פעמים
קיבל תודות: 513 פעמים

שליחה #1 

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

הנה הסבר קצר על כל מה שרצית (אני מקווה) לדעת על SIP וכל יכולות ה VOIP באנדרואיד:
ראשית הכוונה היא שבאופן מובנה יש בגירסה החדשה באנדרואיד, תמיכה מובנית (דרך SDK) ביכולות SIP Client. בקצרה אני אומר ש SIP זה תקן (הנפוץ ביותר כיום בעולם) ליצירה ושליטה על שיחה (מולטימדייה) בין שנים או יותר משתתפים (יצירת session) מעל האינטרנט (מעל פרוטוקול IP).

הרעיון הוא שתיהיה יכולת מובנית באנדרואיד לחייג ממכשיר הסלולאר שלך לקליינט SIP אחר מעל האינטרנט, ה IP* (זה יכול להיות לסמארטפון SIP קליינט אחר כמו חלק ממכשירי נוקיה, זה יכול להיות מחשב PC שמריץ קליינט SIP, זה יכול להיות טלפון IP (נניח של סיסקו) וזה גם יכול להיות למספר טלפון רגיל (בחיבור לשירותי SIP שמכילים גם שרתי SIP gateways))

לכל קליינט SIP יש משהו שנקרא SIP Address. הכתובת הזאת (שהפורמט שלה נראה מאוד דומה לפורמט E-Mail) מייצגת אדם אחד (Person) ולא מכשיר אחד. כלומר אתה יכול להגדיר מספר SIP Devices לכתובת ה-SIP שלך, ככה שכל מי שירצה להשיג אותך, צריך לחייג רק לכתובת SIP אחת. משם, בעזרת חוקים על אחד או יותר משרתי ה SIP (ה Call Center וה SIP Presence), השרת ידע להתקשר למכשיר בו אתה רוצה לקבל את השיחה. יותר מזה, ניתן גם לקבל את השיחה בכל המכשירים בו זמנית ואז ברגע שאתה עונה עלייה במכשיר אחד, הצלצול ייפסק בשאר המכשירים שלך (נניח ברגע שמישהו מצלצל אלייך לכתובת ה SIP שלך אז מכשיר הטלפון SIP שלך יצלצל, מכשיר הטלפון הרגיל שלך בבית ונניח הקליינט שמותקן אצלך על המחשב יצלצלו). כל זה הוא רק טעימה קטנה ביכולות ה SIP (שוב, כיום זה התקן דה פקטו על ה IP. תקן שהשאיר את תקן H.323 הרחק מאחור)

הערות:
-יש תמיכה מובנית באנדרואיד ב SDK ליצירת SIP קליינט (נקודת התחלה למפתחים היא SipManager)
-לא ברור האם גוגל עצמה תממש קליינט SIP מובנה בחלק מה Gingerbread. כלומר האם ניתן להגדיר באופן מובנה שמתוך רשימת אנשי הקשר תהיה לי גם כתובת SIP של איש הקשר שתומך בכך ושלחיצה על חיוג דרך כתובת זאת תייצר שיחת SIP (שאגב, לא מוגבל לשיחת אודיו בלבד)
-לא ברור האם תהיה תמיכה מובנית ב Gingerbread לבצע שיחת SIP גם דרך שימוש בחיבוריות דור 3 (דרך Wi-Fi בטוח יהיה, אבל דרך דור 3 זה שירות שיכול לפגוע באופן לא פשוט בספקיות עצמן)
-בהמשך לסעיף הקודם, גוגל דיווחה שהספקים יוכלו לחסום את היכולת הזאת
-בהמשך לסעיף הקודם, כל היופי באנדרואיד הוא שכל מי שיפתח את המכשיר שלו להרשאות רוט יוכל לעקוף את החסימה של המפעילה במידה והיא הכניסה אותה כחלק מהגירסה שהיא מספקת במכשיר האנדרואיד שלה ללקוחות
-בהמשך לסעיף הקודם, המפעילה יכולה לחסום את יכולות ה SIP דרך הרשת שלה (דור 3) ברמת הרשת (ע"י חסימת הפורטים שנמצאים בשימוש ה SIP)
-בהמשך לסעיף הקודם, בארץ, בדיוק יצאה תקנה חדשה ממשרד התקשורת שאוסרת על המפעילים לבצע חסימה כזאת:
http://www.hometheater.co.il/vt129133.% ... 7%99%D7%94
-קליינט של Skype הוא לא קליינט של SIP (סקייפ השתמשו בטכנולוגיה קניינית לבצע VOIP), למרות שיש אפשרות לייצר חיבור לקליינט סקייפ דרך SIP זה דורש שימוש בחומרה נוספת (לא רלוונטי לרובנו)
-גוגל רכשו לפני שנה חברה שהתעסקה בשיחות VOIP בשם Gizmo5. החברה הזאת השתלבה בתוך שירות ה Google TALK של החברה. כנראה מתוך מטרה סופית לקרוא תיגר על מול כל ספקיות ה VOIP בעולם (כמו סקייפ)
-לא נכנסתי כאן לנושא הקודקים (שבעצם הוא אחראי מרכזי הקובע את איכות השיחה) ולא נכנסתי כאן להסבר מעמיק יותר על SIP עצמו (שמחולק ל signal (ניהול השיחה) ול media (שמתעסק בתקשורת עצמה שבדרך נעשית ע"י פרוטוקול RTP))...נעשה את זה אולי בפעם אחרת
-ממש לא מובטח שכל מכשיר שיריץ את מערכת ה Gingerbread יקבל את יכלות ה SIP האלה. אחד הפונקציות הבסיסיות נקראת ()isApiSupported....אני מניח שאין צורך להסביר את תפקידה של הפונקיצייה הזאת (לכן לא בהכרח הגלקסי S יתמוך ביכולות הזאת))

drorar
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 652
הצטרף: יוני 2009
נתן תודות: 4 פעמים
קיבל תודות: 13 פעמים

שליחה #2 

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

osherov פותח השרשור
סמל אישי של משתמש
גורו Android
גורו Android
תגובות: 15029
הצטרף: אפריל 2007
נתן תודות: 201 פעמים
קיבל תודות: 513 פעמים

שליחה #3 

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

inmann
חבר שרק התחיל
חבר שרק התחיל
תגובות: 2
הצטרף: ינואר 2011
נתן תודות: 0
קיבל תודות: 0

טלפון עם אנדרואיד 2.1 מול מרכזיית IP

שליחה #4 

שלום
ברשותי מוטורולה מיילסטון XT720 שרכשתי אצל ספק פרטי ולא דרך חברת סלולר. כיום אני לא בטוח שזה היה נכון ולא אפרט כאן. בקיבוץ בו אני נמצא הותקנה מרכזיה חדשה עם יכולות IP. אני לא מוצא בטלפון או אפליקציה חיצונית שנותנת לי להגדיר את הגדרות ה-SIP. בטלפון הקודם שהיה לי נוקיה N95 היתה אפשרות ואפילו התחברתי למיזם שיחות IP. להתחבר למרכזיה שלנו זה יתרון של טלפון בחינם לכל מנויי המרכזיה וחיוג דרך המרכזיה בעלויות בזק ובעלויות מאוד זולות לחו"ל.
האם למישהו מידע היכול לעזור לי. אני לא מתכוון לפתוח את הראוט או כל שינוי ברמת הרום. למרות שעסקתי במחשבים (טכנאי) ואף עבדתי עם תיכנות, אני לא בחור צעיר (מעל 60) ואני לא מתכוון ללמוד תכנות לאנדרואיד או להתעסק בדברים מתחת למכסה המנוע.

drorar
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 652
הצטרף: יוני 2009
נתן תודות: 4 פעמים
קיבל תודות: 13 פעמים

שליחה #5 

יש כמה קליינטים לsip, נסה את sipdroid או אפילו עם פרינג'

אריה,
האם ידועים לך עוד פרטים על מימוש הSIP? אם הם יממשו SIP "קלאסי" זה לא ממש יעבוד דרך 3G בגלל הnat שהלקוחות עוברים

tomerhd
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 751
הצטרף: יוני 2007
נתן תודות: 20 פעמים
קיבל תודות: 16 פעמים

שליחה #6 

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

osherov פותח השרשור
סמל אישי של משתמש
גורו Android
גורו Android
תגובות: 15029
הצטרף: אפריל 2007
נתן תודות: 201 פעמים
קיבל תודות: 513 פעמים

שליחה #7 

drorar,
לפי הידוע לי יש תמיכה רק בחיבוריות SIP דרך Wi-Fi. אני לא יודע באיזה רמה נעשית החסימה לביצוע שיחת SIP דרך ה 3G (אם בכלל קיימת חסימה כזאת). בקשר ל NAT, אז רוב שירותי ה SIP יודעים להתמודד עם מכשירים מאחורי NAT (אגב, גם מכשיר שמוחבר דרך Wi-Fi בדר"כ יושב על כתובת פנימית). יש מנגנונים שיודעים להמיר את ה SIP Header בשדות המתאימים לקליינט שמגיע עם כתובת הפנימית (יש גם אפשרות לעיתים להשתמש בפרוטוקול TCP ולא ב UDP ויש גם טיפול במצבים שרק אחד הצדדים מאוחרי NAT וכו). החסימה היותר בעיתית היא ה port-ים שהמפעילה יכולה לחסום בקלות וזה על מנת לכבות את היכולת הזאת בשימוש רשת 3G

הנה הסבר פשוט של גוגל ביצוע שיחה בקליינט SIP במכשיר :

drorar
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 652
הצטרף: יוני 2009
נתן תודות: 4 פעמים
קיבל תודות: 13 פעמים

שליחה #8 

זה לא מדויק.
לראוטר "ביתי" אין בעיה להחזיק טבלת UDP SESSIONS של המעט מכשירים שהוא מנהל לאורך זמן ולכן לא מרגישים את זה שם, אך ברשת סלולרית הNAT traversal לא יחזיק למשך יותר מכמה דקות של idle (ואז תהיה "מחובר" אבל לא תוכל לקבל invites אלא רק ליזום שיחות.

נכון שיש דרכים לעקוף את זה, בין אם ע"י keep-alive במרווחים קצרים או שימוש בטכנולוגיה כמו של fring שעושה סוג של טרמינציה לSIP ומשאיר tunnel בינך לבין השרת שלו.

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

osherov פותח השרשור
סמל אישי של משתמש
גורו Android
גורו Android
תגובות: 15029
הצטרף: אפריל 2007
נתן תודות: 201 פעמים
קיבל תודות: 513 פעמים

שליחה #9 

drorar,
אבל איך ראוטר יכול להחזיק טבלת Sessions כאשר המכשיר שלך לא מוציא שיחה אלא מצפה לקבל שיחה? (הוא זה שמקבל את ה INVITE)

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

המימוש של ה SIP קליינט באנדרואיד מייצר מנגנון Keep Alive במידה ובחרת שאתה מעוניין לקבל שיחות SIP (וכן...סוללה זאת הבעייה כאן). צריך שוב להדגיש שכרגע הספק שלהם מדבר רק על תמיכה ב Wi-Fi:
[left]By default, your phone is configured to make Internet calls, but not to ensure that you
will receive them. But you can configure your phone to listen for Internet calls made to
an Internet calling account you added to your phone. Because this requires the phone
to maintain a connection with a Wi-Fi data network, it reduces the life of your phone’s
battery between charges.
[/left]
...
פול אובריאן (MoDaCo), כבר דיווח שהוא מצא את השדה אותו צריך לשנות על מנת לבצע ולקבל שיחות SIP דרך 3G. הקובץ הוא ה framework-res והשדה הוא

קוד: בחירת הכל

<bool name="config_sip_wifi_only">false</bool>
(נחשו מה צריך לשנות כאן)...רק להדגיש שיש צורך בהרשאות רוט על מנת לערוך קובץ זה

בקשר למימוש ה stack Sip באנדרואיד. אז ספק ה VOIP בשם OnSIP ביצע Sniffing להודעות ה SIP שיוצאות מהקליינט באנדרואיד (מהנקסוס S) על מנת להבין את המימוש שם: http://www.onsip.com/blog/leo/2011/01/0 ... he-nexus-s
בעיקר מעניינת לדעתי החסימה שיש אצלם להוציא שיחות ל PSTN (מסקרן האם זה משהו מכוון של גוגל)

אגב, איזה מפעיל בארה"ב מחלק כתובות אינטרנט חוקיות?

drorar
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 652
הצטרף: יוני 2009
נתן תודות: 4 פעמים
קיבל תודות: 13 פעמים

שליחה #10 

ראוטר מחזיק טבלת UDP SESSIONS, ככל שהוא מחזיק אותה לזמן רב יותר, אתה תהיה "זמין" זמן רב יותר.
מן הסתם ראוטר ביתי יכול להחזיק טבלה כזו גם ליומיים

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

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

אם אני לא טועה Verizon מחלקת חוקיות.

inmann
חבר שרק התחיל
חבר שרק התחיל
תגובות: 2
הצטרף: ינואר 2011
נתן תודות: 0
קיבל תודות: 0

הצלחתי להתחבר עם SIPDROID

שליחה #11 

שלום
ב-18 לחודש כתבתי שאני מחפש דרך להתחברות SIP עם מוטורולה מיילסטון XT720.
אין בטלפון תוכנה מובנת והתקנתי את ה-SIPDROID. שמתי את השם והסיסמה שקיבלתי ממפעיל המרכזיה שלנו וזה עובד. אין לי עדיין תובנות לגבי איכות הקול ואיך זה עובד. כרגע אני בגלל מגבלות DATA מתחבר רק ב-wi-fi ולא ניסיתי את האפשרויות האחרות שאותם אנסה בתחילת החודש הבא.

שלח תגובה

חזור אל “Android - אנדרויד”