一、SIP协议中定义的路由相关字段
1. Via:当UAC发起一个SIP Request消息时,消息经过的每一跳(包含发起方)都会在SIP消息中增加一个Via字段,内容为自己的地址信息,表示此消息通过此地址发往下一跳。
为什么要增加Via字段来记录Request消息经过的地址呢?实际上这个地址信息将被作为Request消息的Response消息的路由,Response将根据Via字段中记录的地址逐级返回,直到回到Request的发起方。
2. Route:Route和Via字段正好相反,它被用来作为Request消息的路由。当一个Proxy Server收到一个Request消息时,会检查Route字段的第一个地址是否等于自己,如果是,它将从Route字段中删去自己的地址信息,并将消息转发到Route字段中指定的下个地址;如果Route字段为空,则转发到Request URI指定的地址。
3. Record-Route:Record-Route字段实际上用于帮助UA建立Route Set,当UA发送Request时会用Route Set来设置上面提到的Route字段。当一个Request消息经过Proxy Server时,如果该Proxy Server希望通知UA相关的后续消息都能通过它来转发,此时它就会在消息中添加Record-Route字段,内容为自己的地址信息。当UAS发送Resposne消息时它将复制Request中的Record-Route字段,而UAC在Response消息中检测到Record-Route字段时,它就会用该字段的路由信息更新自己的Route Set。
二、IMS协议中增加的路由相关字段
1. Service-Route:Service-Route在S-CSCF向UE发送REGISTER成功应答时设置,作用和Record-Route类似,用于帮助UE建立Route Set,这样UE注册后的消息(例如INVITE)通过设置Route字段无需经过I-CSCF可直接送达S-CSCF。
2. Path:在P-CSCF转发Register请求给S-CSCF时插入,S-CSCF通过Path字段保存一个UE所使用的P-CSCF地址,这样当S-CSCF需要主动向UE发送消息时(例如网络端发起的De-register),S-CSCF就知道实际应该发往的P-CSCF地址了
路由有关的SIP消息头的简单小结
最新推荐文章于 2024-07-17 16:27:31 发布