ผลต่างระหว่างรุ่นของ "Session Initiation Protocol"
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Nullzerobot (คุย | ส่วนร่วม) ล เก็บกวาด |
Nullzerobot (คุย | ส่วนร่วม) ล เก็บกวาด |
||
บรรทัด 1:
{{โปร}}
'''Session Initiation Protocol''' (SIP) คือ [[โพรโทคอล]]หรือเกณฑ์วิธีเพื่อใช้งานด้าน[[มัลติมีเดีย]] เช่น การส่งข้อมูลเสียงหรือวีดีโอบนเครือข่าย [[IP]] ได้รับการพัฒนาโดย [[IETF]] และ SIP ถือว่าเป็นโพรโทคอลที่เหนือกว่าโพรโทคอลอื่นในแง่ของการที่สามารถปรับใช้และนำไปพัฒนาได้ง่ายกว่า โดยตัว[[โพรโทคอล]]เองมีความสามารถในการสร้าง (create) , ปรับ (modify) และ ยกเลิก (terminate) การติดต่อสื่อสารระหว่างโหนดที่เป็นแบบหนึ่งต่อหนึ่ง (unicast) หรือแบบกลุ่ม (multicast) ได้
SIP ถูกออกแบบโดยนาย Henning Schulzrinne และนาย Mark Handly ตั้งแต่ปี ค.ศ. 1996
[[โพรโทคอล]] SIP ทำงานอยู่บน Application Layer และถูกออกแบบโดยไม่คำนึงถึงชนิดของ Transport Layer ที่ใช้ในการส่งข้อมูล SIP สามารถทำงานบน Transmission Control Protocol (TCP), User Datagram Protocol (UDP), หรือ Stream Control Transmission Protocol (SCTP) ได้ โพรโทคอล SIP ทำงานในลักษณะ text-based ซึ่งมีลักษณะการทำงานคล้าย
== การออกแบบโพรโทคอล ==
[[โพรโทคอล]] SIP ถูกออกแบบมาคล้ายกับ[[โพรโทคอล]] HTTP ในส่วนของการร้องขอและการตอบรับ (request/response) ระหว่างลูกข่าย (client) ซึ่งเป็นผู้เริ่มต้นการเชื่อมต่อ โดยส่งการร้องขอ (request) การทำงานบางอย่างกับเครื่องแม่ข่าย (server) และ SIP ยังใช้ข้อมูล header, กฎการเข้ารหัส และหมายเลขสถานะ (status codes) เหมือนกับ HTTP อีกด้วย
ในการส่งสัญญาณมีเดีย SIP จะต้องทำงานร่วมกับ[[โพรโทคอล]]อื่นๆในการส่งสัญญาณ แต่ SIP เท่านั้นที่จะถูกใช้เป็นตัวเริ่มต้นการสื่อสาร (communication session) โดยปกติ SIP ฝั่งลูกข่าย (client) จะใช้[[โพรโทคอล]] TCP หรือ UDP พอร์ตหมายเลข 5060 หรือ 5061 ในการเชื่อมต่อกับเครื่องแม่ข่าย (server) หรือ SIP endpoint โดยพอร์ตหมายเลข 5060 จะใช้ในการส่งสัญญาณแบบไม่เข้ารหัส (non-encrypted signaling traffic) ส่วนพอร์ตหมายเลข 5061
เป้าหมายในการออกแบบ[[โพรโทคอล]] SIP ก็เพื่อใช้เป็นมาตราฐานในการเริ่มต้นการส่งสัญญาณโทรศัพท์ (signaling and call setup protocol) บนเครือข่ายแบบ IP-based และสามารถทำงานร่วมกับ public switched telephone network (PSTN) ที่มีอยู่เดิมได้ทันที
[[โพรโทคอล]] SIP ยังเพิ่มความสามารถพิเศษให้กับ[[โพรโทคอล]] Signaling System 7 (SS7) อีกด้วย ถึงแม้ทั้งสอง[[โพรโทคอล]]จะทำงานแตกต่างกันมาก เพราะ SS7 เป็น[[โพรโทคอล]]ที่ทำงานอยู่บนแกนกลางของระบบเครือข่ายที่เชื่อมต่อกับเครื่องลูกข่ายจำนวนมาก ซึ่งจะแตกต่างกับ SIP ที่เป็น[[โพรโทคอล]]ที่ทำงานแบบ peer-to-peer ที่ทำงานระหว่าง endpoint กับ endpoint
ถึงแม้ว่าจะมี[[โพรโทคอล]]หลากหลายที่ใช้งานบน
เอกสารการทำงานของ SIP เวอร์ชัน 2.0 ประกาศครั้งแรกใน [http://tools.ietf.org/html/rfc2543 RFC 2543] และถูกปรับปรุงอีกครั้งใน
== ส่วนประกอบเครือข่าย SIP ==
บรรทัด 30:
# Redirect server จะทำหน้าที่รับ SIP request จากไคลเอนต์ จากนั้นจะส่งผลลัพธ์เป็นที่อยู่ของเครื่องแม่ข่ายถัดไปไปยังเครื่องไคลเอนต์ โดยที่ Redirect server จะไม่มีการส่งต่อข้อมูล SIP messages ไปยังเครื่องแม่ข่ายอื่นๆเหมือน Proxy server
* การกำหนดที่อยู่ของผู้รับและผู้ส่ง (Addressing)
บรรทัด 59:
*
บรรทัด 137:
! Code !! Description !! References
|-
| 200 || OK. ||
|-
| 202 || Accepted. || RFC 3265
|-
| 204 || No Notification. ||
|}
บรรทัด 152:
| 300 || Multiple choices. || RFC 3261
|-
| 301 || Moved permanently. ||
|-
| 302 || Moved temporarily. ||
|-
| 305 || Use proxy. ||
|-
| 380 || Alternative service. ||
|}
บรรทัด 167:
! Code !! Description !! References
|-
| 400 || Bad request. ||
|-
| 401 || Unauthorized. ||
|-
| 402 || Payment required. ||
|-
| 403 || Forbidden. ||
|-
| 404 || Not found. ||
|-
| 405 || Bad request. ||
|-
| 406 || Not acceptable. ||
|-
| 407 || Proxy authentication required. ||
|-
| 408 || Request timeout. ||
|-
| 410 || Gone. ||
|-
| 412 || Conditional request failed. || RFC 3903
|-
| 413 || Request entity too large. ||
|-
| 414 || Request-URI too long. ||
|-
| 415 || Unsupported media type. ||
|-
| 416 || Unsupported URI scheme. ||
|-
| 417 || Unknown Resource-Priority. || RFC 4412
|-
| 420 || Bad extension. ||
|-
| 421 || Extension required. ||
|-
| 422 || Session Interval too small. || RFC 4028
|-
| 423 || Interval too brief. ||
|-
| 428 || Use Identity Header. || RFC 4474
บรรทัด 225:
| 470 || Consent needed. || RFC 5360
|-
| 480 || Temporarily unavailable. ||
|-
| 481 || Call/Transaction does not exist. ||
|-
| 482 || Loop detected. ||
|-
| 483 || Too many hops. ||
|-
| 484 || Address incomplete. ||
|-
| 485 || Ambiguous. ||
|-
| 486 || Busy here. ||
|-
| 487 || Request terminated. ||
|-
| 488 || Not acceptable here. ||
|-
| 489 || Bad event. || RFC 3265
|-
| 491 || Request pending. ||
|-
| 493 || Undecipherable. ||
|-
| 494 || Security agreement required. || RFC 3329
บรรทัด 261:
| 500 || Server internal error. || RFC 3261
|-
| 501 || Not implemented. ||
|-
| 502 || Bad gateway. ||
|-
| 503 || Service unavailable. || RFC 3261
|-
| 504 || Server timeout. ||
|-
| 505 || Version not supported. ||
|-
| 513 || Message too large. ||
|-
| 580 || Precondition Failure. || RFC 3312
บรรทัด 282:
! Code !! Description !! References
|-
| 600 || Busy everywhere. ||
|-
| 603 || Decline. ||
|-
| 604 || Does not exist anywhere. ||
|-
| 606 || Not acceptable. ||
|}
|