1、概念
SIP(Session Initiation Protocol,会话初始协议)是一种用于创建、修改和终止实时通信会话(如语音、视频通话)的应用层协议。
1.1 架构
SIP架构分为客户端和服务器端
1)客户端:发起或接收会话请求,例如:手机上的 VoIP 应用、pjsua 程序
2)服务端:存储客户端注册的信息,比如IP、端口等
注册服务器(Registrar Server):存储用户的当前位置信息(IP + 端口),用于后续呼叫路由
代理服务器(Proxy Server):转发 SIP 消息,类似 “中转站”,可修改消息头(如添加路由信息)
重定向服务器(Redirect Server):返回目标用户的路由地址,让客户端直接通信(减少代理转发)
1.2 流程
1)注册流程
客户端将自己的信息注册到服务器中,
客户端发送 REGISTER 消息到注册服务器,携带用户身份(如 sip:[email protected])和当前 IP 端口。
服务器验证身份(如通过 Digest 认证),成功后存储位置信息,返回 200 OK。
注册信息有有效期(Expires),需定期刷新(重发 REGISTER),否则会过期。
2)呼叫建立流程
客户端 A 呼叫 客户端 B,中间通过代理服务器转发:
假设客户端 A 呼叫客户端 B
- 客户端A(UAC)构造 INVITE 消息,目标URI为 sip:[email protected]
INV