סקירה כללית #
VoIP הוא ראשי תיבות של Voice Over Internet Protocol , המכסים כל שיחת טלפון המבוצעת דרך האינטרנט, אך כדי להפוך זאת למציאותי הוגדר פרוטוקול SIP .
SIP או Session Initiation Protocol הוא הפרוטוקול שמנהל שיחות תקשורת מולטימדיה כולל שיחות (קול ווידאו), כך שניתן לומר ש- SIP הוא אחד הפרוטוקולים הספציפיים שעליהם מסתמך VoIP .
בתקשורת מדיה, פרוטוקול SIP אחראי על פעולות האיתות, כגון התחלה וסיום של שיחות קוליות או וידאו. התקשורת ש- SIP יכול ליצור היא חד-שידור, עם שני צדדים, או שידור מרובה, מספר צדדים. באמצעות פרוטוקול SIP , ניתן לשנות שיחות קיימות, לדוגמה, להזמין חבר אחר. ה- SIP מתוכנן באופן שאינו תלוי בפרוטוקול שכבת התעבורה הבסיסי, וניתן להשתמש בו עם UDP , TCP ו- SCTP ( Stream Control Transmission Protocol ). SIP יכול גם לעבוד יחד עם פרוטוקולים אחרים, שיכולים לציין את פורמט המדיה, ולשאת את המדיה לאחר ש- SIP מבצע את השיחה. ניתוב שיחות טלפון אפשרי גם ממערכת טלפון PBX לרשת החיצונית, כאשר PBX ( Private Branch Exchange ) היא מערכת מיתוג טלפונים המותקנת בארגון פרטי עם מספר התקנים פנימיים.
מדריך זה שימושי להגדרת שירותי SIP פופולריים כגון Asterisk , Websphere SIP proxy , SIP Foundry , Elastix , FreeSWITCH , OpenPBX by Voicetronix , PBXInAFlash , FreePBX , OpenSIPs , Kamailio , 3CX , Office SIP Server וכו', כולם בזמינות גבוהה ומוכנים להרחבה.
כיצד פועל פרוטוקול SIP? #
נניח שיש לנו שני מתקשרים, בוני וקלייד. בוני מתקשרת לקלייד. קודם כל, גם הטלפונים של בוני וגם קלייד צריכים להיות רשומים בשרת SIP. תהליך הרישום בין הלקוחות לשירות הרשם הוא:
1. לקוח Softphone שולח להירשם הודעה לשרת SIP.
2. שרת SIP מגיב עם 401 לא מורשה כולל כותרת WWW- אימות.
3. הלקוח ואז לשלוח שוב את להירשם בקשה לשרת SIP כולל הרשאה כותרת.
4. אם האימות נכון, שרת ה- SIP מחזיר a 200 אישור תגובה ללקוח. בשלב זה, הלקוח מסוגל לקבל וליזום שיחות.
תהליך רישום זה יהיה זמין מאוד גם באמצעות איזון עומסי ה- proxy שאנו מציעים במאמר זה.
כדי להבין טוב יותר כיצד מתבצעת שיחה בין בוני וקלייד, ראה להלן את השלבים שהוגדרו בפרוטוקול.
1. בוני מתחילה שיחה לקלייד על ידי שליחת מזמינים הודעה
2. שרת SIP A מעביר את מזמינים הודעה לשרת SIP הנמען - - B
3. בינתיים, שרת SIP A תגובות 100 TRYING הודעה לבוני
4. שרת SIP B מעביר את מזמינים הודעה לקלייד
5. בינתיים, 100 TRYING הודעה לשרת SIP A
6. המכשיר של קלייד נמצא עכשיו טבעת 180 ומעביר אותו לשרת SIP B
7. שרת SIP B שולח את זה טבעת 180 לשרת SIP A
8. שרת SIP A מעבירה את זה טבעת 180 לבוני
9. קלייד מקבל את השיחה ושולח 200 אישור הודעה
10. וזה מעביר את זה 200 אישור הודעה לשרת SIP B
11. שרת SIP A מעבירה את זה 200 אישור הודעה לבוני
12. נוצר קשר בין בוני לקלייד, שם בוני שולחת ישירות ACK אל קלייד, וגם בוני וקלייד מתקשרים זה עם זה ישירות
13. כל צד מתנתק מהשיחה עם a BYE
14. הצד השני שולח בחזרה את ההכרה 200 אישור
SIP איזון עומס הסביבה #
לדעת את הפרטים בפרוטוקול SIP, התרחיש שאנחנו רוצים להשיג במאמר זה היא להיות מסוגל בקנה מידה של שרתי SIP על מנת להיות מסוגל להתמודד עם מספר גדול יותר של רמקולים רשומים ולנהל מספר גבוה יותר של שיחות. התרשים שלהלן מציג את ארכיטקטורת השירות במרכז נתונים.
בואו נראה בהמשך כיצד להגדיר אותו.
SIP איזון עומס תצורה #
לפני הגדרת השירות הווירטואלי, עלינו ליצור כתובת IP וירטואלית ייעודית , מכיוון שכתובת IP זו תוכל לקבל מסגרות TCP או UDP . לשם כך, עבור אל רשת > ממשקים וירטואליים . לאחר מכן לחץ על פעולה > צור ממשק וירטואלי.
לאחר מכן, בחר ממשק אב , שם הממשק וכתובת ה-IP שלו :
כעת הגיע הזמן להגדיר בקלות את שירות ה-SIP הווירטואלי בפורטים הסטנדרטיים המשמשים את שירותי SIP TCP ו/או UDP 5060 או 5061. פורט 5060 משמש בדרך כלל לתעבורת איתות לא מוצפנת ופורט 5061 משמש בדרך כלל לתעבורה מוצפנת באמצעות TLS ( Transport Layer Security ).
עם RELIANOID Load Balancer, אנו משיגים תצורה זו ויוצרים א LSLB פרופיל המשק L4xNAT עם יציאות 5060 or 5061. בשירות הווירטואלי, הן תקשורת מוצפנת והן לא מוצפנת נתמכות בו-זמנית, אם היציאות מופיעות בשירות הווירטואלי.
לשם כך, עבור אל LSLB > חוות וצרו חוות חדשה כפי שמוצג למטה.
לאחר היצירה, לחצו על מתקדם , בחרו SIP כסוג פרוטוקול . בשלב זה, פרוקסי SIP בשכבה 4 יופעל בשירות הווירטואלי הנוכחי על מנת לאזן כראוי את העומס בין ההרשמה והשיחות מהמשתמשים. כמו כן, אנו ממליצים על NAT כסוג NAT , אך ניתן להשתמש גם ב-DNAT כדי לקבל את כתובת ה-IP המקורית של הלקוח. לבסוף, לחצו על עדכון כדי להחיל את השינויים.
לבסוף, הגדירו את ה-backends, לחצו על Services (שירותים) , ותחת הקטע Backends לחצו על Action (פעולה) > Add backend (הוסף backend).
מלא את ה-IP , הפורט והמשקל ולחץ על פעולת השמירה כדי להחיל את השינויים.
הוסף כמה שרתי SIP שאתה צריך כדי להרחיב את השירות שלך. כעת תוכל להשתמש ב- IP הווירטואלי כשירות SIP וירטואלי בטלפונים הניידים ובלקוחות שלך בצורה זמינה, אמינה וניתנת להרחבה.
מתקדם SIP בריאות המחאות #
לאחרונה RELIANOID מהדורות, אתה יכול להשתמש בבדיקת תקינות מתקדמת במיוחד עבור שירותי SIP שבהם מאזן העומס מבצע שיחות SIP דמה לכל שרתי SIP המוגדרים כ-backends על מנת להבטיח ששירותי הקריאה של SIP פועלים כהלכה.
במקרה שלא נוצרה כבר פקודה check_sip Farm Guardian, צור אותה בקטע ניטור> Farmguardian כפי שמוצג להלן.
כדי להבין טוב יותר את האפשרויות הכלולות בפקודת check_sip , אנא עיין בעזרה של בודק התקינות.
שימוש: ./check_sip [ אפשרויות ] FROM TO מבצע שיחת SIP מ-FROM ל-TO, שולח קול ממספר קבצים לעמית. התוכן בקבצים צריך להיות PCMU/8000 וניתן להקליט אותו עם samples/invite_and_recv.pl אפשרויות: -d|--debug אפשר איתור באגים -h|--help עזרה (מידע זה) -P|--proxy host[:port ] השתמש ב-proxy יוצא, הירשם שם אלא אם הרשם נתן -R|--registrar host[:port] להירשם בכתובת נתונה -S|--שלח שם קובץ שלח תוכן של קובץ, ניתן לתת מספר פעמים -L|--leg ip[ :port] השתמש ב-IP מקומי נתון[:port] עבור רגל יוצאת -T|--פסק זמן T פסק זמן ובטל הזמנה לאחר T שניות, ברירת מחדל 30 --שם משתמש שם משתמש להרשאה --סיסמה סיסמת סיסמה להרשאה דוגמאות: ./check_sip -T 10 -S welcome.data -S announce.data sip:30@192.168.178.4 sip:31@192.168.178.1 ./check_sip --username 30 --password secret --proxy=192.168.178.3 -S holy.data sip:30@example.com 31
בהינתן הדוגמה שלנו, נוכל להגדיר את בודק הבריאות שלנו במקטע Farm Guardian כפי שמוצג להלן.
./check_sip -T 9 -S welcome.data -S announce.data sip:Bonnie@192.168.56.201 sip:Clyde@HOST
שים לב כי HOST האסימון ישונה בזמן ריצה עם כל SIP backend מוגדר בחווה.
SIP יישום אשכולות #
RELIANOID מספק גם את היכולת להגדיר את שירות המשלוח הניתן להרחבה SIP בזמינות גבוהה באמצעות שירות אשכולות בין שתי יחידות מיותרות. נא לפרוס אחר RELIANOID יחידה ועיין ב מערכת> אשכול כדי להגדיר אותו בזמינות גבוהה.
שיפור האבטחה SIP #
החלת שכבת אבטחה על שירות SIP ציבורי היא די קלה באמצעות מודול IPDS המאפשר יצירת רשימות שחורות, רשימות חורים שחורים בזמן אמת והגנה מפני DoS בין היתר. אנא עיינו בסעיף IPDS בתפריט הראשי לקבלת פרטים נוספים על ההגנה של שירות SIP ציבורי.
טלפון VoIP לקוחות תצורה #
לאחר ששירות ה-SIP שלנו מוכן להרחבה, עם הגדרת זמינות גבוהה ועם אבטחה משופרת, הגיע הזמן להגדיר את השירות החדש בטלפונים הניידים ובלקוחות. במקרה זה, אנו ממליצים להגדיר ערך DNS המתייחס לכתובת VIP או לכתובת IP ציבורית עבור השירות הווירטואלי. שם DNS או FQDN כזה עבור שירות ה-SIP הווירטואלי שלנו יהיה זה שישמש בצד הלקוח, במקום שתוגדר כתובת IP אמיתית של SIP. תצורה זו מספקת את הגמישות לאיזון עומסים על הלקוחות בקלות ובאופן אוטומטי.
מצד שני, אנו ממליצים להגדיר את הזמן הקצוב על מנת לשמור על הזמן בצד הלקוח כדי לכפות את ההרשמה בדרך כלל יותר, כמו במקרה של כל שרת SIP מזוהה למטה, הלקוח להבחין כי ונסה שוב להתחבר במהירות כדי עוד אחד.
עכשיו, פשוט ליהנות SIP שלך שירות scalable!







