From abc UE to the P-CSCF
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Route: <sip:[5555::a:b:c:d]:7531;lr>
Contact: sip:[5555::1:2:3:4]:1357
<=
手机abc向它自身的P-CSCF发送INVITE消息
Request-URI是对端手机
xyz
的URI
Route header表示这个消息要强制的通过列表中的2个代理。
P-CSCF: sip:[5555::a:b:c:d]:7531;lr
=>
From abc P-CSCF to the S-CSCF
Via: SIP/2.0/UDP pcscf1.visited1.fi;branch=9pctb
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Record-Route: <sip:pcscf1.visited1.fi;lr>
Contact: <sip:[5555::1:2:3:4]:1357>
<=
手机abc的P-CSCF向S-CSCF发送INVITE消息
abc的 P-CSCF 增加了一个
Via header
,表示该INVITE消息已经经过了P-CSCF
abc的 P-CSCF 增加了一个
Record-Route header
: 表示
abc的 P-CSCF 去掉了 Route header中它自己的地址
P-CSCF: sip:[5555::a:b:c:d]:7531;lr 删除
=>
From abc S-CSCF to Theresa’s (I-CSCF)
Via: SIP/2.0/UDP scscf1.home1.fr;branch=asctb
Via: SIP/2.0/UDP pcscf1.visited1.fi;branch=9pctb
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Record-Route: <sip:scscf1.home1.fr;lr>
Record-Route: <sip:pcscf1.visited1.fi;lr>
Contact: <sip:[5555::1:2:3:4]:1357>
<=
手机
abc
的S-CSCF向手机
xyz
的I-CSCF发送INVITE消息
abc的 S-CSCF 增加了一个
Via header
,表示该INVITE消息已经经过了S-CSCF
abc的 S-CSCF 增加了一个
Record-Route header
: 表示
abc的 S-CSCF 去掉了 Route header中它自己的地址
=>
From the I-CSCF to xyz S-CSCF
Via: SIP/2.0/UDP icscf1.home2.hu;branch=bicth
Via: SIP/2.0/UDP scscf1.home1.fr;branch=asctb
Via: SIP/2.0/UDP pcscf1.visited1.fi;branch=9pctb
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Route: <sip:scscf2.home2.hu;lr>
Record-Route: <sip:scscf1.home1.fr;lr>
Record-Route: <sip:pcscf1.visited1.fi;lr>
Contact: <sip:[5555::1:2:3:4]:1357>
<=
手机
xyz
的I-CSCF向
S-CSCF发送INVITE消息
xyz 的 I-CSCF 增加了一个
Via header
,表示该INVITE消息已经经过了I-CSCF
xyz 的
I
-CSCF
没有
增加
Record-Route header
,因为后面的消息转发中并不需要xyz的I-CSCF进行参与了
xyz 的 I-CSCF 增加 Route header中xyz对应的
S-CSCF
的
地址,要求消息转发一定要经过这个地址
xyz的S-CSCF: Route: <sip:scscf2.home2.hu;lr>
=>
From xyz S-CSCF to the P-CSCF
INVITE sip:[5555::5:6:7:8]:1006 SIP/2.0
Via: SIP/2.0/UDP scscf2.home2.hu;branch=cscth
Via: SIP/2.0/UDP icscf1.home2.hu;branch=bicth
Via: SIP/2.0/UDP scscf1.home1.fr;branch=asctb
Via: SIP/2.0/UDP pcscf1.visited1.fi;branch=9pctb
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Route: <sip:pcscf2.home2.hu;lr>
Record-Route: <sip:scscf2.home2.hu;lr>
Record-Route: <sip:scscf1.home1.fr;lr>
Record-Route: <sip:pcscf1.visited1.fi;lr>
Contact: <sip:[5555::1:2:3:4]:1357>
<=
手机
xyz
的S-CSCF向
P-CSCF发送INVITE消息
xyz 的 S-CSCF 增加了一个
Via header
,表示该INVITE消息已经经过了S-CSCF
xyz 的
S
-CSCF
增加
Record-Route header的记录,将它自己的地址放在了最上面
xyz 的 S-CSCF 增加 Route header中xyz对应的
P
-CSCF
的
地址,要求消息转发一定要经过这个地址
删除了Route header中它自身的地址
xyz的P-CSCF: Route: <sip:pcscf2.home2.hu;lr> 新增
xyz的S-CSCF: Route: <sip:scscf2.home2.hu;lr> 删除
=>
From the P-CSCF to xyz UE
INVITE sip:[5555::5:6:7:8]:1006 SIP/2.0
Via: SIP/2.0/UDP pcscf2.home2.hu:1511;branch=dpcth
Via: SIP/2.0/UDP scscf2.home2.hu;branch=cscth
Via: SIP/2.0/UDP icscf1.home2.hu;branch=bicth
Via: SIP/2.0/UDP scscf1.home1.fr;branch=asctb
Via: SIP/2.0/UDP pcscf1.visited1.fi;branch=9pctb
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Route: <sip:pcscf2.home2.hu:1511;lr>
Record-Route: <sip:scscf2.home2.hu;lr>
Record-Route: <sip:scscf1.home1.fr;lr>
Record-Route: <sip:pcscf1.visited1.fi;lr>
Contact: <sip:[5555::1:2:3:4]:1357>
<=
手机
xyz
的P-CSCF向
手机
xyz
发送INVITE消息
xyz 的 P-CSCF 增加了一个
Via header
,表示该INVITE消息已经经过了P-CSCF
xyz 的 P-CSCF 修改了 Route header中xyz对应的
P
-CSCF
的
地址,要求消息转发一定要经过这个地址
xyz的P-CSCF: Route: <sip:pcscf2.home2.hu:1511;lr> 修改
=>
Routing of the first response
From xyz UE to the P-CSCF
SIP/2.0 183 Session in Progress
Via: SIP/2.0/UDP pcscf2.home2.hu:1511;branch=dpcth
Via: SIP/2.0/UDP scscf2.home2.hu;branch=cscth
Via: SIP/2.0/UDP icscf1.home2.hu;branch=bicth
Via: SIP/2.0/UDP scscf1.home1.fr;branch=asctb
Via: SIP/2.0/UDP pcscf1.visited1.fi;branch=9pctb
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Record-Route: <sip:pcscf2.home2.hu:1511;lr>
Record-Route: <sip:scscf2.home2.hu;lr>
Record-Route: <sip:scscf1.home1.fr;lr>
Record-Route: <sip:pcscf1.visited1.fi;lr>
Contact: <sip:[5555::5:6:7:8]:1006>
From xyz P-CSCF onward to abc P-CSCF via xyz and abc S-CSCFs
SIP/2.0 183 Session in Progress
Via: SIP/2.0/UDP scscf2.home2.hu;branch=cscth
Via: SIP/2.0/UDP icscf1.home2.hu;branch=bicth
Via: SIP/2.0/UDP scscf1.home1.fr;branch=asctb
Via: SIP/2.0/UDP pcscf1.visited1.fi;branch=9pctb
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Record-Route: <sip:pcscf2.home2.hu;lr>
Record-Route: <sip:scscf2.home2.hu;lr>
Record-Route: <sip:scscf1.home1.fr;lr>
Record-Route: <sip:pcscf1.visited1.fi;lr>
Contact: <sip:[5555::5:6:7:8]:1006>
From abc P-CSCF to his UE
SIP/2.0 183 Session in Progress
Via: SIP/2.0/UDP [5555::1:2:3:4]:1357;branch=8uetb
Record-Route: <sip:pcscf2.home2.hu;lr>
Record-Route: <sip:scscf2.home2.hu;lr>
Record-Route: <sip:scscf1.home1.fr;lr>
Record-Route: <sip:pcscf1.visited1.fi:7531;lr>
Contact: <sip:[5555::5:6:7:8]:1006>