据我所知,UAC被定义为创建新请求的实体,UAS定义为响应该请求的实体。
在UAS为现有会话创建和发送重新邀请的情况下,它是否接管了UAC的角色?
发布于 2022-11-13 07:00:22
TL;DR,是的,SIP端点可以是用户代理客户机/服务器,角色在INVITE事务( the请求-响应)期间承担。
关于您的示例,(re-)INVITE只是在一个已存在的对话框中调用的一个INVITE,该对话框由一个退出对话框/初始INVITE创建;顺便说一下,这两个方法都是INVITE方法,因此客户机是INVITE的发射体,然后是服务器。
另一个常见的例子是telephone;电话是一个UAC,当它发送一个INVITE,创建一个新的对话框,但也是一个UAS,因为它接受INVITE请求来拨打电话。可以说SIP电话本质上是一个用户代理客户端服务器- UACS.
一般和更抽象的定义围绕着这些行,如果用户代理具有UAS和UAC的双重角色,则角色在共同响应事务期间从一个角色切换到另一个角色。在SIP协议方面,UAC和UAS角色是逻辑的,在当前事务中,实体角色是相关的。
然而,只有UAC或UAS的SIP实体是可能的,一个用例是一个实体发送NOTIFY (UAC)的通知,另一个只接收NOTIFY (UAS)。
在这一点上,我们可以得出结论,客户机/服务器角色仅在事务期间有效。从协议的角度来看,完全正确,但在B2BUA的实际情况下,两个UAC/UAS同时对相同的被调用方法执行操作,但对两个分离的事务执行操作。公平地说,B2BUA不是SIP的一部分。
https://stackoverflow.com/questions/74403210
复制相似问题