VoIP OTT – על קוצו של קידוד ואיתות: תיאור בניית פתרון SDK משופר

דף הבית >> חדשות עולם המרכזיות ומוקדי השירות >> VoIP OTT – על קוצו של קידוד ואיתות: תיאור בניית פתרון SDK משופר
VoIP OTT – על קוצו של קידוד ואיתות: תיאור בניית פתרון SDK משופר
מאת: ניר סמיונוביץ, 8.3.15, 17:30ניר סמיונוביץ
 
במאי תיערך סדנה לפיתוח אפליקציות VoIP OTT באנדרואיד, שתועבר בחינם לעד 6 משתתפים ב-40 שעות, בה יילמדו עקרונות בסיס בכתיבת אפליקציות VoIP OTT. היא מיועדת לבעלי ניסיון בפיתוח אפליקציות או בעלי ניסיון בשפת JAVA.
 
אחד הנושאים החמים ביותר בתחום המחשוב הארגוני הוא BYODBring Your Own Device. מצד אחד, עולם ה-IT רואה ב-BYOD אמצעי לגיטימי להורדת עלויות המחשוב בארגון (דרך Desktop Virtualization וכו'), ומצד שני קיימות בעיות הנוגעות לאבטחת מידע.
 
אחד המקומות בהם BYOD היה קיים, הרבה לפני שהמושג היה בכלל שגור בפינו, היה עולם הטלפוניה הארגונית. ב-2006 הוציאה חברת נוקיה מכשיר מדהים – הנוקיה E61. לנוקיה E61, וכך כמעט לכל מכשירי סידרת ה-E, היה משולב Sip Client מובנה. כמעט כל אדם, שהתקין באותו זמן מרכזיית IP, רצה לחבר את הטלפון דרך רשת ה-Data של הארגון או דרך חיבור 3G למרכזיה הארגונית. הרי זה היה הפתרון לנושאי ה-Roaming הכל כך כואבים. אבל יחד עם זאת, שהמכשיר נתן את היכולות, עדיין הקידודים הנתמכים בטלפון לא איפשרו שירות הולם. כך, עולם זה נדם לו.
 
נתקדם קדימה בזמן 9 שנים ל-2015 ולמרבה הפלא, עדיין יש פתרונות למכביר בנושא, אבל עושה רושם, שכולם נופלים באותם מקומות. עדיין נושאי האינטגרציה בעיתיים, יש אפליקציות למכביר אבל אף אחת לא נותנת מענה מלא בצורה אינטגרטיבית. התוצאה ברורה: שלל אפשרויות כאשר לאף לא אחת מהן יש יתרון ברור אחת על השנייה.
 
מול עולם האפליקציות קיים עולם שלם המניע את העולם הזה - עולם ה-SDK. עולם שלם של ערכות פיתוח שונות המספקות את היכולת לכתוב אפליקציית OTT משלכם לכאורה במאמץ יחסית קטן. אבל, כמו כל עניין שיווקי, בין הפרסום לבין המציאות יש הרבה מאוד הבדל. לדוגמא, מרבית החברות בוחרות ב-PJSIP בתור ערכת הפיתוח הראשונה שלהם. הסיבה ברורה, מנוע בקוד פתוח, עלויות כניסה יחסית נמוכות ואפשרויות רישוי כלכליות וסבירות.
 
מול PJSIP, יש מנועי SDK נוספים של חברות כגון ZOIPER, COUNTERPATH, VAXVOIP, ACROBITS ועוד רבים וטובים.
 
אולם, לכל אחד מאלה יש מודל רישוי זה או אחר, חלק בנויים על מודל של עלות רישוי שנתית, חלק על עלות רישוי לכל תוכנה מורדת ולחלק מודל כל כך דרקוני, שאי אפשר אפילו לשנות את העיצוב של האפליקציה שלכם (במקרה שבחרתם ב-CSIPSIMPLE בתור הבסיס שלכם).
 
אז למה אני כותב על זה? לפני כשנתיים וחצי פנתה אלינו חברה וביקשה מאיתנו לבצע מחקר: האם קיים כלי המאפשר לכתוב Mobile SIP Phone בצורה יעילה, שתאפשר למפתחים להתרכז בשימושיות של האפליקציה, בלי צורך להתחיל להתעסק בכל מיני ענייני ,Sip שהם לא כל כך מכירים.
 
האמת הייתה, שלא מצאנו שום ,SDK שעשה את זה בצורה מספקת. כל SDK סיפק הרבה מאוד יכולות בתחום ה-SIP, אבל כאשר הגענו לנושא האינטגרציה, נאלצנו תמיד לעשות שמיניות באוויר כדי שהאפליקציה תעשה את מה שהיא צריכה לעשות, וגם זה לרוב היה צריך להיעשות ע"י העתקה של דוגמאות, שלא ממש התאימו, ובזבוז זמן בשינויי קוד, כאשר בחלק ניכר מהמקרים כל אלה לא היו ברורים למתכנתים כי הם אינם מגיעים מהעולם הזה.
 
לקחנו על עצמנו משימה, שמעט מאוד היו לוקחים: פיתוח SDK פשוט, שייתן גם איכות קוד גבוהה, גם יכולת אינטגרציה פשוטה, גם איכות קול משופרת ביחס למה שקיים והכי חשוב מבחינתנו, יכולת לתמוך בפלטפורמות שונות בצורה דומה. לקחנו לעצמנו פסק זמן של כמעט 3 חודשים מכל מה שעשינו באותה תקופה, ועבדנו על זה כעל אתגר מחשבתי. אחרי 3 חודשים קיבלנו תוצאה, שהייתה קרובה מאוד למה שרצינו.
 
על מה בנינו את הפתרון שלנו?
ידענו, שאנו רוצים לבנות את הפתרון שלנו על פתרונות מוכחים, אלמנטים טכנולוגיים העובדים בצורה ברורה עם יכולות ברורות, מדודות והכי חשוב - ניתנות לחיזוי ושליטה.
הכלים שנבחרו היו:
  • שכבת איתותים מבוססת PJSIP – אין מה לעשות, כשזה מגיע לספק שכבת SIP STACK מלאה, ללא מדיה, אבל עם כל האלמנטים הדרושים לבניית אפליקציה, ל-PJSIP יש מענה מלא. כמו כן, מודל הרישוי המאוד ברור של PJSIP איפשר אינטגרציה לאפליקציות צד ג' בצורה נוחה (כן, בשביל להכניס את PJSIP לאפליקציה שלכם, צריך לשלם למנהלי הפרויקט רישוי חד פעמי).
     
  • שכבת מדיה מבוססת WebRTC – מי שמכיר את PJSIP יודע, שיש לו שכבת MEDIA הנקראת PJMEDIA. הבעיה העקרונית הייתה, ש-PJMEDIA לא סיפק את הביצועים שרצינו, במיוחד בזמן עבודה ברשת תקשורת דור 3 או דור 2.5. אי לכך, בחרנו להשתמש בספריית ה-WebRTC של גוגל, שמספקת תמיכת Cross Platform באנדרואיד, iOS, PC ואפילו MacOS (כבר שמענו על יישום של הספרייה במכשירי Windows Mobile גם כן).
למרות שידענו והכרנו כל כלי בפני עצמו, החיבור ביניהם לא היה טריוויאלי, במיוחד בנושאי מיפוי הקידודים השונים ותמיכה בקידודים מתקדמים כגון OPUS ו-VP8.
 
מה ה-SDK בעצם עושה?
מי שמכיר SIP יודע, שכל דבר מתנהל לפי משהו הנקרא DIALOG. המטרה של ה-DIALOG היא לספק לנו מאין סדר הגיוני בתוך כל בלאגן האיתותים האפשרי של SIP. מימוש של DIALOG יכול להתבצע בכל מיני צורות. אולם, לנו, היה הכי הגיוני לבנות סט של מכונות מצבים שונות בתוך ה-SDK, שמממש את כל התרחישים הדרושים לצורך בנייה של אפליקציה. מתרחיש רישום, דרך חיוג ועד החלפת רשתות תקשורת בזמן אמת – לכל אלה חייב להיות משהו בתוך ה-SDK המטפל בהם בצורה שקופה.
 
בזמן הפיתוח היינו בקשר עם מפתחים מחברות שונות, שפיתחו מוצרי OTT שונים מסוגים שונים. גילינו, שלכולם היה מכנה משותף: היו להם מפתחי Mobile מעולים, שמבינים איך מערכות ההפעלה השונות מתפקדות. אולם, כשזה הגיע להבנת SIP, הם פשוט לא רצו להתעמק בנושא. בעבר, חברות בתחום ה-SMS וה-VoIP היו מתמקדות בטכנולוגיה אך ההתמקדות היום היא במוצר.

אחד הנושאים, שמרבית המפתחים העלו, היה עקומת הלימוד. עקומת הלימוד של PJSIP או של כלים אחרים הייתה פשוט גדולה מדי, לפעמים עד 3 חודשים. נתקלנו אפילו בחברה, שבנתה את האפליקציה שלה בתוך 9 חודשים 4 פעמים מחדש, כיוון שכל פעם התגלה משהו חדש, שדרש ממנה לשכתב חלקים ניכרים באפליקציה העוטפת שלה.
 
תפקיד ה-SDK הוא לשמש קופסה שחורה למפתח, רכיב תוכנתי כמעט הומוגני לחלוטין, שניתן לשלב אותו לקוד קיים, בלי צורך להתחיל לעשות שמיניות באוויר כדי לגרום לו לעבוד. כלומר, בניגוד לעבודה רגילה עם PJSUA הדורשת מהמפתח להסביר לאפליקציה מה קורה אחרי INVITE, ה-SDK יעטוף את הנושא לפונקציה אחת פשוטה וקריאה.
 
המבנה הכללי של ה-SDK תואם לתרשים המופיע מטה:
תרשים VoIP SDK
 
סוף דבר ומסקנות
לאחר כמעט 18 חודשים של פיתוח שלחנו את ה-SDK שלנו לכמה מפתחים כדי לקבל ביקורת על מה שנעשה. התגובות לא איחרו לבוא: כן, זה עבד, כן זה סיפק את הסחורה, אבל יש עוד עבודה לעשות כדי שזה יהיה מושלם. המשכנו לעבוד עוד 6 חודשים נוספים עד שהגענו לגרסה סופית, שסיפקה את הסחורה.
 
מקצת היכולות, שבנינו לתוך ה-SDK:
  • תמיכה בתנאי רשת מחמירים (יכולת עבודה אפילו ב-15% PACKET LOSS ועדיין אספקת שמע באיכות טובה).
  • תמיכה בקידודים משתני רוחב פס ומשתני קצב דגימה (VBR).
  • תמיכה בשינוי רשתות בזמן אמת (מעבר מ-WiFi לסלולר וחזרה).
  • תמיכה בשיחות ועידה (לא קיים במנוע המדיה של WebRTC).
  • ממשק פיתוח פשוט וברור בלי צורך לבצע הגדרות מיותרות ובניית תרחישים מיוחדים.
 
מאז השקת הגרסה הראשונה של ה-SDK לפני כשנתיים, ה-SDK הוטמע במספר אפליקציות שונות. כיום, מעל 150,000 משתמשי קצה משתמשים ב-SDK. מבדיקות, שערכנו עם מפתחים הרואים את ה-SDK פעם ראשונה, הם עוברים ממצב של "אין כלום" למצב של "בדיקות אינטגרציה בסיסיות" בזמן של 2 ימי עבודה.
 
בחודש מאי הקרוב, נפתח סדנה לפיתוח אפליקציות VoIP OTT באנדרואיד. הסדנה תועבר חינם לעד 6 משתתפים במשרדי החברה בנתניה. הסדנה תהיה במסגרת של 40 שעות אקדמיות, בה המשתתפים ילמדו את עקרונות הבסיס בכתיבת אפליקציות VoIP OTT. הסדנה מיועדת למפתחים בעלי ניסיון בפיתוח אפליקציות או בעלי ניסיון בשפת JAVA. לפרטים נוספים על הסדנה, ניתן לפנות בטלפון 073-2557799.
 
מאתניר סמיונוביץ,  מרץ 2015.
מנכ"ל  GreenfieldTech 
www.greenfieldtech.net
nirs@greenfieldtech.net
VoIP Picture



 
 
Bookmark and Share


 


לוח מודעות
יזמים? יש לכם רעיון מבריק? נמשכת ההרשמה למחזור הבא של TLV Generator. ההרשמה - כאן

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

חנות המוצרים המובילה מסין -Chinabuy בעברית ובמחירי מבצע מטורפים

ניוזלטר שלישי של האתר הופץ לנרשמים לאתר - ניתן לצפייה כאן.

ניוזלטר שני של האתר הופץ לנרשמים לאתר - ניתן לצפייה כאן.

ניוזלטר ראשון של האתר הופץ לנרשמים לאתר - ניתן לצפייה כאן.

מחפש מחקרים? מאות מחקרים עדכניים מהשנה האחרונה מצויים כאן

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


מעוניין לבנות ולתפעל אתר אישי או עסקי מקצועי? לחץ כאן.

לוח אירועים וכנסים של עולם ההיי-טק - כאן.
 




לוח האירועים המלא לגולשים מצוי כאן.

22.3.17 - GEMIC - TLV  

28/3/17 - Community Interfacing Technologies  

29/3/17 - Telco2017 - תערוכת מוקדים טלפוניים  

4/4/17 -  Israel AdTech 2017

18/5/17 - Israel's Annual Programmatic Video conference

25-29/6/17 - Cyber Week 2017  

 

הכי ניצפים 

דירוג הסמאטרפונים הטובים ביותר בעולם לפברואר 2017 עפ"י Business Insider - כאן

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

כל מה שלא מספרים לכם בתחום "השוק הסיטונאי" - פרק א': בזק - כאן

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

כמה מפסידים בביצועים של הפס הרחב במעבר ל"שוק הסיטונאי"? - הרבה - כאן

מה שלא מספרים לכם: כיצד בזק תמרנה את מחירי השוק הסיטונאי עד 2018 - כאן

למה מבלבלים את המוח לציבור בנושא המכונה "שוק סיטונאי"? - כאן

למה בכלל צריך להחליף / לרכוש נתב במעבר ל"שוק סיטונאי"? - כאן

התרגיל לחיסול "השוק הסיטונאי" כבר כמעט מוכן, קוראים לו Vectoring - כאן

כל מי שכביכול "נטש את בזק" ב"שוק סיטונאי" יחזור לבזק תוך שנה-שנתיים - כאן

הפלופ הבא של "השוק הסיטונאי" שירות SLU (שבלעדיו הנוטשים יחזרו לבזק) - כאן

ביבי נתניהו הקשיב לקריאת Telecom News: פיטר לאלתר את אבי ברגר - כאן

חי בסרט: סמנכ"ל הכלכלה במש' התקשורת בטוח שהתכנית שחיבר תצא לפועל - כאן

מכרז התדרים ל-LTE הסתיים (בחלוקת תדרים) בדיוק כמו שהחל: בפלופ - כאן

חשיפת המספרים מאחורי משבר האנטנות: בשנה האחרונה פורקו 721 אנטנות - כאן

איך אני יודע כמה מגהרץ יש בחיבור LTE? מי ספק הסלולר המהיר בישראל? - כאן

חשיפת המחדל המדהים המוסתר מהציבור של הרס רשתות הסלולר - כאן

חשיפת מה שאילנה דיין לא פרסמה ב"ערוץ 2" על תעלולי השר משה כחלון - כאן

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

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

ההגנה המושלמת על הגלישה ניידת והנייחת ועל הפרטיות מפני כל תוקף - כאן

מבחן דרך: חיבור VPN - האם זו ההגנה המושלמת על הגלישה ועל הפרטיות? - כאן

TLV Generator נולד - התכנית שהופכת כל רעיון למוצר (MVP) תוך 120 יום - כאן

20 המובילים ומקבלי הצל"ש בשנת 2016 בעולם התקשורת וההייטק הישראלי - כאן
 
זרקור חברות
 
TLV-Generator
 
TLV-Generator
 
 
טלקום אקספרטס
 
NordVPN
 
עדן אימון עסקי
 
כמה זה? השוואת מחירים
 
TLV-Generator
 
ChinaBuy
 
טלי וייס
 
 
 
Slideshare Linkedin Twitter
Youtube Instagram Facebook
Google+ live Zappix
Bitly Vimeo Pinterest
אנדרואידאנדרואיד-ברקוד אפל ברקודאפל

 
 מפת הביטקוין   מהירות גלישה Your IP שירותנט
לייבסיטי - בניית אתרים