好的,阿杰,我帮你整理一份 深入浅出 SIP(Session Initiation Protocol, 会话发起协议) 的教程,用大白话讲概念、组成、流程、信令和典型应用。
特点 | 说明 |
|---|---|
文本协议 | 类似 HTTP/SMTP,可读性强 |
应用层协议 | TCP/UDP 或 SCTP 上运行 |
端到端通信 | 端点直接通信,服务器只做信令转发 |
可扩展 | 支持视频、音频、即时消息、会议控制 |
方法 | 作用 |
|---|---|
INVITE | 发起会话请求 |
ACK | 确认收到最终响应 |
BYE | 结束会话 |
REGISTER | 用户注册到 SIP 服务器 |
OPTIONS | 查询对端能力 |
CANCEL | 取消尚未完成的请求 |
类别 | 说明 |
|---|---|
1xx | 临时响应(100 Trying, 180 Ringing) |
2xx | 成功响应(200 OK) |
3xx | 重定向(301 Moved Permanently) |
4xx | 客户端错误(404 Not Found, 486 Busy Here) |
5xx | 服务器错误(500 Internal Server Error) |
6xx | 全局失败(603 Decline) |
UAC --> REGISTER --> SIP服务器
SIP服务器 --> 200 OK --> UACUAC ---> INVITE ---> UAS
UAS ---> 100 Trying ---> UAC
UAS ---> 180 Ringing ---> UAC
UAS ---> 200 OK ---> UAC
UAC ---> ACK ---> UASUAC/UAS ---> BYE ---> 对端
对端 ---> 200 OK ---> 发起方INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
From: Alice <sip:alice@atlanta.com>;tag=1928301774
To: Bob <sip:bob@biloxi.com>
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
From: Alice <sip:alice@atlanta.com>;tag=1928301774
To: Bob <sip:bob@biloxi.com>;tag=314159
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@biloxi.com>
Content-Type: application/sdp
Content-Length: 131sip:alice@atlanta.comsip:用户名@域名一句话大白话总结:
SIP 就是 IP 网络中的“电话交换机协议”,告诉对方“我要和你通话、你响了没、挂掉了”,但不传声音本身。
https://www.52runoob.com/archives/6419
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。