RFC3261: SIP:8.1.2发送请求

本文详细描述了HTTP/2请求中如何计算目的地,包括DNS查找、路由头的使用,以及如何处理SIPS资源和出站代理。UAC按照规定的步骤进行有状态连接尝试,确保请求流程的透明性。
8.1.2 Sending the Request
8.1.2发送请求

   The destination for the request is then computed.  Unless there is local policy specifying otherwise, the destination MUST be determined by applying the DNS procedures described in [4] as follows.  If the first element in the route set indicated a strict router (resulting in forming the request as described in Section 12.2.1.1), the procedures MUST be applied to the Request-URI of the request. Otherwise, the procedures are applied to the first Route header field value in the request (if one exists), or to the request's Request-URI if there is no Route header field present.  These procedures yield an ordered set of address, port, and transports to attempt.  Independent of which URI is used as input to the procedures of [4], if the Request-URI specifies a SIPS resource, the UAC MUST follow the procedures of [4] as if the input URI were a SIPS URI.

​然后计算请求的目的地。除非本地策略另有规定,否则必须通过应用[4]中描述的DNS过程来确定目的地,如下所示。如果路由集中的第一个元素指示一个严格的路由器(导致形成第12.2.1.1节所述的请求),则该程序必须应用于请求的请求URI。否则,过程将应用于请求中的第一个Route报头字段值(如果存在),或者应用于请求的Request-URI(如果不存在Route报头字段)。这些过程会产生一组有序的地址、端口和传输来尝试。无论哪一个URI被用作[4]过程的输入,如果请求URI指定SIPS资源,UAC必须遵循[4]的过程,就像输入URI是SIPS URI一样。

   Local policy MAY specify an alternate set of destinations to attempt. If the Request-URI contains a SIPS URI, any alternate destinations MUST be contacted with TLS.  Beyond that, there are no restrictions on the alternate destinations if the request contains no Route header field.  This provides a simple alternative to a pre-existing route set as a way to specify an outbound proxy.  However, that approach for configuring an outbound proxy is NOT RECOMMENDED; a pre-existing route set with a single URI SHOULD be used instead.  If the request contains a Route header field, the request SHOULD be sent to the locations derived from its topmost value, but MAY be sent to any server that the UA is certain will honor the Route and Request-URI policies specified in this document (as opposed to those in RFC 2543).  In particular, a UAC configured with an outbound proxy SHOULD attempt to send the request to the location indicated in the first Route header field value instead of adopting the policy of sending all messages to the outbound proxy.

​本地策略可能指定要尝试的备用目的地集。如果请求URI包含SIPS URI,则必须使用TLS联系任何备用目的地。除此之外,如果请求不包含Route报头字段,则对备用目的地没有限制。这为预先存在的路由集提供了一个简单的替代方案,作为指定出站代理的一种方式。但是,不建议使用这种配置出站代理的方法;应该使用具有单个URI的预先存在的路由集。如果请求包含路由头字段,则应将请求发送到从其最高值派生的位置,但可以发送到UA确信将遵守本文档中指定的路由和请求URI策略(与RFC 2543中的策略相反)的任何服务器。特别地,配置有出站代理的UAC应该尝试将请求发送到第一个路由报头字段值中指示的位置,而不是采用将所有消息发送到出站代理。

      This ensures that outbound proxies that do not add Record-Route header field values will drop out of the path of subsequent requests.  It allows endpoints that cannot resolve the first Route URI to delegate that task to an outbound proxy.

这样可以确保不添加记录路由头字段值的出站代理将退出后续请求的路径。它允许无法解析第一个路由URI的端点将该任务委托给出站代理。

   The UAC SHOULD follow the procedures defined in [4] for stateful elements, trying each address until a server is contacted.  Each try constitutes a new transaction, and therefore each carries a different topmost Via header field value with a new branch parameter. Furthermore, the transport value in the Via header field is set to whatever transport was determined for the target server.

​UAC应该遵循[4]中为有状态元素定义的过程,尝试每个地址,直到联系到服务器。每个尝试都构成一个新的事务,因此每个尝试都携带一个不同的最顶端的Via报头字段值和一个新分支参数。此外,Via报头字段中的传输值被设置为为目标服务器确定的任何传输。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值