SIP Message ตามมาตรฐานของ SIP นั้นประกอบไปด้วย 2 แบบคือ
- SIP Request เป็นข้อความหรือแพ็กเก็ตหรือ Message ที่ SIP Device ต้นทางส่งไปยังปลายทางเพื่อร้องขอบริการอะไรสักอย่างหนึ่งที่มันคิดว่าจะมีอยู่ใน SIP device ปลายทาง
- SIP Response เป็นข้อความหรือแพ็กเก็ตหรือ Message ที่ SIP Device ปลายทางส่งกลับคืนมาเพื่อบอกว่าตัวมันมีบริการอย่างที่ต้องการหรือไม่ มีหรือไม่มีก็ต้องส่งคำตอบกลับมาครับ
สนใจอยากศึกษามาตรฐาน SIP เชิญที่กระทู้นี้นะครับ RFC 3261
มาดูรายชื่อ SIP Messages ประเภท Request กันดีกว่าครับว่ามีอะไรบ้าง แต่ละแบบมีไว้ทำอะไร
INVITE
เพื่อแจ้งไคลเอนท์ว่าขอเปิดคอลเซสชั่น (มาตรฐาน RFC 3261)
ACK
เพื่อเป็นการยืนยันว่าได้รับคำขอที่ส่งมาแล้ว เช่นยืนยันว่าได้รับ INVITE แล้ว (มาตรฐาน RFC 3261)
BYE
เพื่อแจ้งว่าขอวางสาย ฝั่งไหนตรวจพบการวางสายก่อนฝั่งนั้นจะส่ง BYE ออกมา (มาตรฐาน RFC 3261)
CANCEL
เพื่อแจ้งว่าขอยกเลิกคำขอที่ส่งมาก่อนหน้านี้ (มาตรฐาน RFC 3261)
OPTIONS
เพื่อสอบถามความสามารถของเซอร์เวอร์ (มาตรฐาน RFC 3261) ซึ่งโดยทั่วไป SIP Server เช่น Asterisk จะใช้ OPTOINS เพื่อส่งไปสอบถาม Client ว่ายังอยู่หรือไม่
REGISTER
เพื่อขอลงทะเบียน (รีจิสเตอร์) กับเซอร์เวอร์ (มาตรฐาน RFC 3261)
PRACK
ย่อมาจาก Provisional Acknowledgement เพื่อรับทราบการ Provision (ทำอะไรก็ไม่รู้) (มาตรฐาน RFC 3262)
SUBSCRIBE
เพื่อรับทราบการแจ้งเตือนเหตุการณ์ต่างๆซึ่งส่งมาจากตัวแจ้งเตือน (มาตรฐาน RFC 3265)
NOTIFY
เพื่อแจ้งเตือนให้ทราบว่ามีเหตุการณ์ใหม่ๆเกิดขึ้น เช่นมีวอยส์เมล์ฝากไว้ (มาตรฐาน RFC 3265)
PUBLISH
เพื่อแจ้งเหตุการณ์ต่างๆไปยังเซอร์เวอร์ (มาตรฐาน RFC 3903)
INFO
เพื่อส่ง mid-session information แต่ไม่ได้เป็นการดัดแปลงแก้ไขสถานะของเซสชั่น (มาตรฐาน RFC 2976)
REFER
ขอให้ผู้รับยอมรับ SIP Request เช่นการโอนสาย (มาตรฐาน RFC 3515)
MESSAGE
รับส่งข้อความโดยใช้โปรโตคอล SIP (มาตรฐาน RFC 3428)
UPDATE
ดัดแปลงสถานะของเซสชั่นโดยไม่ได้เปลี่ยนสถานะของไดอะล๊อก (มาตรฐาน RFC 3311)