Telecom News - Asterisk 12 – הפתעות עם הפנים לעתיד

Asterisk 12 – הפתעות עם הפנים לעתיד

דף הבית >> חדשות עולם המרכזיות ומוקדי השירות >> Asterisk 12 – הפתעות עם הפנים לעתיד
Asterisk 12 – הפתעות עם הפנים לעתיד
מאת: ניר סמיונוביץ, 12.10.13, 21:00ניר סמיונוביץ

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

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

היה שלום chan_sip
כל מי, שעבד אי פעם עם Asterisk, מכיר את chan_sip. זה המרכיב העיקרי, שאחראי על חיבור התוכנה אל ספקי SIP וטלפוני SIP. מי, שמכיר את ההיסטוריה של Asterisk, יודע, ש-chan_sip היה תמיד אחד מאבני הנגף העיקריות של Asterisk, כי היה מדובר ב-SIP Stack ייעודי ל-Asterisk, גדול ומסועף. יתר על כן, כיוון שהיה מדובר בקוד מסועף, תחזוקתו היתה מסובכת. למעשה, היו לו כמה בעיות עקרוניות של חוסר תאימות לתקן, בייחוד בכל הקשור לתמיכה ב-Headers מאוד ארוכים, או כאלה, שיש להם יותר מדי Record-Route. 

Asterisk 12 לקחה כיוון חדש וצוות הפיתוח החליט לזנוח את chan_sip הישן (למרות שהוא עדיין קיים) לטובת פרויקט אחר הנקרא pjproject. לא מכירים את pjproject? מוזר מאוד. קיים סיכוי טוב, שאתם משתמשים בו בלי לדעת בכלל. אם אתם משתמשים באחת מאפליקציות ה-SIP לטלפון נייד, אתם משתמשים בחלקים של הפרויקט. הפרויקט מהווה את אבני הייסוד לחלק ניכר מאפליקציות ה-SIP הקיימות היום, ומהווה את אחד ה-SIP Stacks השלמים והסטנדרטיים ביותר הקיימים היום.

המעבר של Asterisk לכיוון פרויקט זה נובע מסיבות רבות, אבל לדעתי, הסיבה העקרונית למעבר היא ההכרה של הפרויקט בכך, שהוא כבר איננו מנוע טלפוניה. Asterisk 12 לוקחת עוד צעד קדימה במעבר ממערכת טלפוניה לכיוון Multimedia Application Bridging Framework. הכוונה היא, שאנחנו מתקדמים לעולם בו Asterisk לא בהכרח מקשר שיחות טלפון, אלא Streams מסוגים שונים, בטכנולוגיות שונות ובמדיומים שונים.

אחת היכולות החדשות של pjproject  בתוך הפרויקט היא היכולת לטעון חלקים מסוימים של pjproject לתוך הסביבה, ועל ידי כך לבנות אפליקציות ייעודיות ואופטימליות למשימה. לדוגמא, שימוש במודולים מסויימים יכול להפוך את Asterisk למערכת Session Border Controller יעילה, לעומת מודולים אחרים, שיהפכו את Asterisk לשרת Media Proxy יעיל מאוד.

מערך Thread Pool לניהול שיחות
Asterisk 12 לקחה צעד קדימה מול הגרסאות הקודמות. בעבר, Asterisk היתה פותחת לכל שיחת טלפון Thread ניהול נפרד – לכשעצמה פעולה לגיטימית והגיונית לתוכנה מסוג זה. אבל, זה יצר Overhead מסויים של ניהול בתוך המערכת, וגם היווה תקרת זכוכית לא ברורה בכל הקשור ליכולות הברורות של המערכת.

מטרת מערך ה-Thread Pool, שהוכנס לפרויקט, היא לתת מסגרות פעולה ידועות וברורות למערכת ניהול השיחות המתקיימות, ועל ידי כך להוביל לשיפור ניכר של ניצולת המשאבים במערכת.
 
ממשק חיצוני לפיתוח אפקליציות Flow Control - ARI
כל מי, שפיתח אי פעם  אפליקציה ל-Asterisk, יודע כמה עובדות בסיס. פיתוח אפליקציות לתחום ה-Flow Control  הוא משימה לא פשוטה. הסיבה העקרונית היא, ש-Asterisk בגרסאות הקודמות לא ממש נועדה לזה. כדי לשחק עם Flow Control נאלצנו תמיד לבצע עבודה חלקית מול ה-Asterisk Manager, עבודה ב-AGI, עבודה ב-DIALPLAN. אפילו כלים כמו AdHearsion או pyAsterisk לא סיפקו לנו את היכולות המתאימות, כי התשתית עצמה לא נועדה לזה.

Asterisk 12 מביאה איתה טכנולוגיה, שפותחה בשנה האחרונה, שנקראת ARI, ראשי תיבות של Asterisk REST Interface (בניגוד לממשק ההקלטה הקלוקל הנושא את אותו שם). ARI היא טכנולוגיה המאפשרת פיתוח של אפלקיציות Call Flow המתממשקות ישירות ליכולות הפנימיות של Asterisk, ללא צורך לשנות את קוד המקור הפנימי של המערכת. הממשק מספק יכולות כמעט בכל תחום במערכת, מיצירת שיחות, חיבור שיחות יחד לשיחת ועידה, העברות, הקלטות וכו'.

כחלק מטכנולוגיה זו, במסגרת ועידת המפתחים, הוחלט גם להוציא לפרישה אפליקציות ישנות ולהחליפן במימוש מבוסס ARI, כאשר האפליקציה הראשונה על הכוונת היא app_queue הוותיקה. יכולת השליטה של תוכנות חיצוניות במה שקורה בתוך app_queue היא מוגבלת ביותר, דבר שאיפשר לחברות רבות ליצור מנגנונים אחרים לפיתוח מוצרי ה-Call Center שלהם. המעבר ל-ARI יאפשר למפתחים לקחת את מערכת הבסיס, שתסופק בתור קוד ARI, ולפתח עליה מוצרים חדשים.
 
Asterisk בעולם של PRISM
PRISM, אחד המושגים החמים ביותר בשוק אבטחת המידע, חשף את העולם לאחת הבעיות, שכולנו העדפנו להתעלם מהן – מי מאזין לשיחות שלנו. אחת המטרות של Asterisk 12 תהיה לאפשר החדרה של טכנולוגיות הצפנה חדשות, כאשר המטרה הראשונה תהיה לאפשר יכולות הצפנה ב-AES 256 עם HMAC 80 לפחות.

כמו כן, בהתאם לשינוי התקנים ב-WebRTC, מתבצע מהלך הדרגתי, שיעביר את הטכנולוגיה הנוכחית, שהיא SDES-SRTP, שבה העברת המפתחות לצורכי הצפנת המדיה מתבצעת כחלק מתהליך ה-SDP, לטכנולוגיה של DTLS-SRTP המאובטחת יותר.

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

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

מאת: ניר סמיונוביץ,  אוקטובר 2013
מנכ"ל  GreenfieldTech
www.greenfieldtech.net
nirs@greenfieldtech.net
 
אסטריסק



 
 
Bookmark and Share