לדלג לתוכן

Session Initiation Protocol

מתוך ויקיפדיה, האנציקלופדיה החופשית
Session Initiation Protocol
אין תמונה חופשית
אין תמונה חופשית
סוג signaling protocol עריכת הנתון בוויקינתונים
מבנה Media Server Control Markup Language עריכת הנתון בוויקינתונים
שכבה שכבת היישום של מודל ה-OSI עריכת הנתון בוויקינתונים
פורט 5,060 (TCP), 5,060 (UDP), 5,060 (SCTP) עריכת הנתון בוויקינתונים
מקור
  • RFC 3261: SIP: Session Initiation Protocol
  • RFC 4508: Conveying Feature Tags with the Session Initiation Protocol (SIP) REFER Method
  • RFC 3892: The Session Initiation Protocol (SIP) Referred-By Mechanism
  • RFC 5002: The Session Initiation Protocol (SIP) P-Profile-Key Private Header (P-Header)
  • RFC 5360: A Framework for Consent-Based Communications in the Session Initiation Protocol (SIP)
  • RFC 5318: The Session Initiation Protocol (SIP) P-Refused-URI-List Private-Header (P-Header)
  • RFC 5502: The SIP P-Served-User Private-Header (P-Header) for the 3GPP IP Multimedia (IM) Core Network (CN) Subsystem
  • RFC 3515: The Session Initiation Protocol (SIP) Refer Method
  • RFC 3325: Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks
  • RFC 7463: Shared Appearances of a Session Initiation Protocol (SIP) Address of Record (AOR)
  • RFC 5876: Updates to Asserted Identity in the Session Initiation Protocol (SIP)
  • RFC 4235: An INVITE-Initiated Dialog Event Package for the Session Initiation Protocol (SIP)
  • RFC 8217: Clarifications for When to Use the name-addr Production in SIP Messages
  • RFC 7462: URNs for the Alert-Info Header Field of the Session Initiation Protocol (SIP)
  • RFC 3262: Reliability of Provisional Responses in Session Initiation Protocol (SIP)
  • RFC 7984: Locating Session Initiation Protocol (SIP) Servers in a Dual-Stack IP Network
  • RFC 3351: User Requirements for the Session Initiation Protocol (SIP) in Support of Deaf, Hard of Hearing and Speech-impaired Individuals
  • RFC 3329: Security Mechanism Agreement for the Session Initiation Protocol (SIP)
  • RFC 3455: Private Header (P-Header) Extensions to the Session Initiation Protocol (SIP) for the 3rd-Generation Partnership Project (3GPP)
  • RFC 3485: The Session Initiation Protocol (SIP) and Session Description Protocol (SDP) Static Dictionary for Signaling Compression (SigComp)
  • RFC 3263: Session Initiation Protocol (SIP): Locating SIP Servers
  • RFC 3326: The Reason Header Field for the Session Initiation Protocol (SIP)
  • RFC 3313: Private Session Initiation Protocol (SIP) Extensions for Media Authorization
  • RFC 2976: The SIP INFO Method
  • RFC 3323: A Privacy Mechanism for the Session Initiation Protocol (SIP)
  • RFC 3311: The Session Initiation Protocol (SIP) UPDATE Method
  • RFC 3312: Integration of Resource Management and Session Initiation Protocol (SIP)
  • RFC 3486: Compressing the Session Initiation Protocol (SIP)
  • RFC 6878: IANA Registry for the Session Initiation Protocol (SIP) "Priority" Header Field
  • RFC 6026: Correct Transaction Handling for 2xx Responses to Session Initiation Protocol (SIP) INVITE Requests
  • RFC 3427: Change Process for the Session Initiation Protocol (SIP)
  • RFC 3969: The Internet Assigned Number Authority (IANA) Uniform Resource Identifier (URI) Parameter Registry for the Session Initiation Protocol (SIP)
  • RFC 3968: The Internet Assigned Number Authority (IANA) Header Field Parameter Registry for the Session Initiation Protocol (SIP)
  • RFC 7957: DISPATCH-Style Working Groups and the SIP Change Process
  • RFC 6446: Session Initiation Protocol (SIP) Event Notification Extension for Notification Rate Control
  • RFC 5727: Change Process for the Session Initiation Protocol (SIP) and the Real-time Applications and Infrastructure Area
  • RFC 7621: A Clarification on the Use of Globally Routable User Agent URIs (GRUUs) in the SIP Event Notification Framework
  • RFC 2543: SIP: Session Initiation Protocol
  • RFC 5367: Subscriptions to Request-Contained Resource Lists in the Session Initiation Protocol (SIP)
  • RFC 3265: Session Initiation Protocol (SIP)-Specific Event Notification
  • RFC 6665: SIP-Specific Event Notification
  • RFC 6141: Re-INVITE and Target-Refresh Request Handling in the Session Initiation Protocol (SIP)
  • RFC 3853: S/MIME Advanced Encryption Standard (AES) Requirement for the Session Initiation Protocol (SIP)
  • RFC 4916: Connected Identity in the Session Initiation Protocol (SIP)
  • RFC 5630: The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP)
  • RFC 3327: Session Initiation Protocol (SIP) Extension Header Field for Registering Non-Adjacent Contacts
  • RFC 3608: Session Initiation Protocol (SIP) Extension Header Field for Service Route Discovery During Registration
  • RFC 5922: Domain Certificates in the Session Initiation Protocol (SIP)
  • RFC 4320: Actions Addressing Identified Issues with the Session Initiation Protocol's (SIP) Non-INVITE Transaction
  • RFC 5626: Managing Client-Initiated Connections in the Session Initiation Protocol (SIP)
  • RFC 5368: Referring to Multiple Resources in the Session Initiation Protocol (SIP)
  • RFC 5393: Addressing an Amplification Vulnerability in Session Initiation Protocol (SIP) Forking Proxies
  • RFC 6442: Location Conveyance for the Session Initiation Protocol
  • RFC 5621: Message Body Handling in the Session Initiation Protocol (SIP)
  • RFC 8262: Content-ID Header Field in the Session Initiation Protocol (SIP)
  • RFC 3487: Requirements for Resource Priority Mechanisms for the Session Initiation Protocol (SIP) עריכת הנתון בוויקינתונים
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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 משמש להעברת השמע עצמו.

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

[עריכת קוד מקור | עריכה]
  • גישה לספרי הפרוטוקלים של SIP (באנגלית)
  • RFC 3261



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