并行SIP事务

并行SIP事务,sip,rfc,Sip,Rfc,对于一个UA和另外两个UA,是否可以并行执行多个SIP事务?FPOR示例,如果UA1处于邀请的中间,UA1可以响应来自UA3的传入邀请吗?独立事务呢?标准中没有任何内容阻止SIP设备处理多个并发事务,事实上SIP服务器需要这样做才能处理任何类型的负载 至于SIP用户代理应该如何处理并发SIP事务,这是另一个需要考虑的问题。如果UA1已经在通话中,并且有一个新的INVITE请求来自UA3,那么处理该请求的典型方式是使用某种呼叫等待指示。对于软电话,指示可以是可视的,而对于ATA,指示通常通过向UA

对于一个UA和另外两个UA,是否可以并行执行多个SIP事务?FPOR示例,如果UA1处于邀请的中间,UA1可以响应来自UA3的传入邀请吗?独立事务呢?

标准中没有任何内容阻止SIP设备处理多个并发事务,事实上SIP服务器需要这样做才能处理任何类型的负载

至于SIP用户代理应该如何处理并发SIP事务,这是另一个需要考虑的问题。如果UA1已经在通话中,并且有一个新的INVITE请求来自UA3,那么处理该请求的典型方式是使用某种呼叫等待指示。对于软电话,指示可以是可视的,而对于ATA,指示通常通过向UA的音频流中注入一些音调在音频通道上


对于非邀请事务,它通常会简单得多,因为大多数事务不需要任何用户操作。例如,UA可以在不同的SIP服务器上维护六个不同的注册,以及各种注册和/或订阅事务。在这种情况下,事务只是请求和响应的组合,可以同时运行。

标准中没有任何内容阻止SIP设备处理为了能够处理任何类型的负载,多个并发事务和实际上的SIP服务器都需要这样做

至于SIP用户代理应该如何处理并发SIP事务,这是另一个需要考虑的问题。如果UA1已经在通话中,并且有一个新的INVITE请求来自UA3,那么处理该请求的典型方式是使用某种呼叫等待指示。对于软电话,指示可以是可视的,而对于ATA,指示通常通过向UA的音频流中注入一些音调在音频通道上


对于非邀请事务,它通常会简单得多,因为大多数事务不需要任何用户操作。例如,UA可以在不同的SIP服务器上维护六个不同的注册,以及各种注册和/或订阅事务。在这种情况下,事务只是请求和响应的组合,可以同时运行。

还有另一个SIP并行事务需要关注

在sip对话框中,如果在短时间内~0.5s内启动了多个UAC事务,并且您的传输采用不可靠的UDP,则如果初始请求数据包丢失,则可能会出现问题

序列号为CSeq“n”的丢失数据包未到达,但下一个数据包到达,其中包含CSeq n+1

这在接收UAS端是可接受的,它将其对远程cseq的了解更新为“n+1”

然后重新发送初始请求,但CSeq“n”现在低于远程CSeq,因此必须丢弃,UAS会以500服务器内部错误响应

可能不是预期的那样


这样,如果您的传输不可靠,则需要考虑使用对话框进行序列化请求。

< P>还有另一个SIP并行事务GothCA要注意……/P> 在sip对话框中,如果在短时间内~0.5s内启动了多个UAC事务,并且您的传输采用不可靠的UDP,则如果初始请求数据包丢失,则可能会出现问题

序列号为CSeq“n”的丢失数据包未到达,但下一个数据包到达,其中包含CSeq n+1

这在接收UAS端是可接受的,它将其对远程cseq的了解更新为“n+1”

然后重新发送初始请求,但CSeq“n”现在低于远程CSeq,因此必须丢弃,UAS会以500服务器内部错误响应

可能不是预期的那样


<> >如果你的传输不可靠,你需要考虑一个对话框的序列化请求。例如,假设UA1将一个重新邀请发送到UA2进行会话刷新,UA3正在调用UA1。你是说UA1不需要等待UA2的20 OK,对吗?谢谢,没错。SIP标准中没有确定处理无关事务的顺序。必须按顺序处理事务的地方是,在UA1或UA2可以为同一会话发送后续invite事务之前,必须完成来自UA2的原始invite。SIP标准仅定义如何处理同一对话呼叫/会话中的事务。如果您的UA与一台服务器/UA有一个对话,则该会话/对话之外的任何请求都是完全独立的,并且不会对另一个会话产生影响,除非您对系统进行编程,否则您通常只需通知用户,以便他可以采取适当的操作。例如,假设UA1向UA2发送重新邀请以进行会话刷新,UA3正在呼叫UA1。你是说UA1不需要等待UA2的20 OK,对吗?谢谢,没错。SI中没有任何内容
P确定处理不相关事务的顺序的标准。必须按顺序处理事务的地方是,在UA1或UA2可以为同一会话发送后续invite事务之前,必须完成来自UA2的原始invite。SIP标准仅定义如何处理同一对话呼叫/会话中的事务。如果您的UA与一台服务器/UA有一个对话,则该会话/对话之外的任何请求都是完全独立的,并且不会对另一个会话产生影响,除非您对系统进行编程,否则您通常只需通知用户,以便他可以采取适当的操作