Session Initiation Protocol

Session Initiation Protocolראשי תיבות: SIP) הוא פרוטוקול איתות (Signaling Protocol) המשמש בעיקר לשליטה וניהול של שיחות זמן-אמת ברשתות IP כדוגמת טלפוניה מבוססת IP ומסרים מיידיים.

SIP, בדומה ל-HTTP הוא פרוטוקול שרת–לקוח המבוסס על הודעות בקשה ותשובה שיוצרות טרנזקציות (לדוגמה הודעת INVITE משמשת ליצירת השיחה והודעת BYE לניתוקה). על פי מודל השכבות של SIP OSI מוגדר כשייך לשכבת האפליקציה (7). התקן מסביר איך להשתמש ב-SIP מעל TCP, UDP ו- TLS, אבל גם מיפויים אחרים אפשריים (UDP הוא הנפוץ ביותר בשימוש). פורט 5060 הוקצה ל-SIP על ידי IANA.

SIP פותח על ידי ה-IETF ומפורסם כ- RFC 3261. ישנן קרוב ל־20 תוספות והרחבות שמתוארות ב-RFC והצעות להרחבות נוספות מוגשות חדשות לבקרים. בין ההרחבות הבולטות: SIMPLE - לתמיכה במסרים מיידיים ו-Presence, ו־SIP-3GPP לתמיכה ב-SIP ברשתות GSM מהדור השלישי ואילך.

נכון להיום SIP נתמך על ידי יותר מוצרים ושרותי טלפוניה אינטרנטית מכל פרוטוקול איתות אחר - למעט חריגים בודדים כל יצרני התקשורת העיקריים מציעים מוצרים או שירותים תומכי SIP. עם זאת עולם הטלפוניה האינטרנטית התפתח במקביל על בסיס מספר גדול של פרוטוקולים מתחרים ומשלימים כולל H.323, Megaco ופרוטוקולים פרטיים של חברות כמו סיסקו וסקייפ. על כן קשה לקבוע אם SIP הוא כרגע הפרוטוקול הנפוץ ביותר בשימוש, אף על פי שזאת ההערכה המקובלת. SIP/SIMPLE גם הוא זוכה להכרה רבה כפרוטוקול האוניברסלי העתידי למסרים מיידיים.

הודעות בפרוטוקול

[עריכת קוד מקור | עריכה]

ההודעות נחלקות לבקשות ששייכות לעולם ה-SIP ותגובות שרובן לקוחות מעולם ה-HTTP ב-SIP קיימות הבקשות הבאות:

  • INVITE - משמשת כבקשה לפתיחת שיחה ומכילה בתוכה את הבקשה ובדר"כ גם את פרוטוקולי התקשורת שהשולח מסוגל לתקשר בהם כהודעת SDP
  • BYE - משמשת לסיום שיחה.
  • CANCEL - משמשת לביטול בקשה קודמת.

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

התגובות מתחלקות ל-6 חלקים כשלכל חלק יש למעשה שימוש:

  • תגובות מ-100 עד 199 משמשות רק כדי להודיע על קבלה ועיבוד של בקשות בתוכם:
    • 100 TRYING
    • 180 RINGING
  • תגובות מ-200 עד 299 משמשות כתגובות "הצלחה" ובתוכם:
    • 200 OK
  • תגובות מ-300 עד 399 משמשות להעביר את השיחה לגורם שלישי ובתוכם:
    • 301 Moved Permanently
    • 302 Moved Temporarily
  • תגובות מ-400 עד 499 הם תגובות שגיאה ובתוכם:
    • 400 Bad Request
    • 401 Unauthorized
    • 403 Forbidden
  • תגובות מ-500 עד 599 משמשות להודיע על בעיות בשרת ונשלחות אך ורק על ידי השרת ובתוכם:
    • 500 Server Internal Error
    • 503 Service Unavailable
  • תגובות מ-600 עד 699 משמשות כתגובות שגיאה גלובליות ובתוכם:
    • 600 Busy Everywhere
    • 606 Not Acceptable

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

פרוטוקול SIP משתמש בשני פרוטוקולים אחרים, SDP ו־RTP, על מנת להעביר את המדיה עצמה (לדוגמה VoIP בשיחות קול, או Video over IP בשיחות וידאו).

פרוטוקול SDP משמש למשא ומתן על הקידוד של השמע ואילו RTP משמש להעברת השמע עצמו.

קישורים חיצוניים

[עריכת קוד מקור | עריכה]



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