当 Alice 向 Bob 拨打电话时,Bob 向 Alice 发送 180 振铃消息。那么为什么 from 字段包含 Alice 的 uri,to 字段包含 Bob 的 uri?我指的是 RFC 3261。
F2 180 响铃鲍勃 -> 爱丽丝
SIP/2.0 180振铃
通过:SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9 ;收到=192.0.2.101
来自:爱丽丝;标签=9fxced76sl
致:鲍勃;标签=8321234356
呼叫 ID:[email protected]
CSeq:1 次邀请
联系方式:
内容长度:0
同一个 RFC 包含答案
8.2.6.2 标头和标签
响应的 From 字段必须等于 请求。响应的 Call-ID 头字段必须等于 请求的 Call-ID 标头字段。 Cseq 头字段 响应必须等于请求的 CSeq 字段。 Via 标头 响应中的字段值必须等于 Via 标头字段值 在请求中并且必须保持相同的顺序。
如果请求中包含 To 标记,则 To 标头字段 响应中的内容必须等于请求中的内容。但是,如果要 请求中的标头字段不包含标记,To 中的 URI 响应中的标头字段必须等于 To 标头中的 URI 场地;此外,UAS 必须在 To 头字段中添加一个标签 响应(100(尝试)响应除外) 可能存在标签)。这用于识别 UAS 响应,可能会产生对话 ID 的组成部分。这 对该请求的所有响应必须使用相同的标签,无论是最终的 和临时的(同样除了 100(尝试))。程序 标签的生成在第 19.3 节中定义。
根据 RFC 3261, From 标头标识了REQUEST的发起者。 To 标头指示REQUEST 的接收者。 因此,在收到响应时,From 和 To 标头不会发生任何变化。
我不是专家,但我的理解是,180 个响铃消息头包含 Alice 的 from 和 Bob 的 to,因为它是回铃,即如果我们给 x 打电话,首先我们会看到有一个尝试(信号搜索/找到被叫方),一旦被叫方在信号范围内,您就会听到铃声,根据我的说法,这是被叫方信号发送给我们通知的 180 回铃音。
如果我的回答有误,请指正。