51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 895|回复: 1
打印 上一主题 下一主题

S-CSCF在200ok(invite)后又收到了update会怎样处理?

[复制链接]
  • TA的每日心情
    开心
    2022-5-19 16:04
  • 10

    主题

    20

    帖子

    9175

    积分

    高级会员

    Rank: 4

    积分
    9175
    跳转到指定楼层
    楼主
    发表于 2022-9-24 22:23:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    如果S-CSCF在已经收到了200ok(invite)后,又收到了主叫侧发了update过来,请问从规范上应该怎样处理才对?直接丢弃,还是回报错呢?个人觉得应该回报错合理一些,因为收到了200ok(invite)时,其实表示初始invite事务已经完成,后续的可以通过re-invite来协商,但S-CSCF此时却收到了update,是否可认为违反协议了呢?谢谢!
    回复

    使用道具 举报

     成长值: 14041

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    沙发
    发表于 2022-9-25 00:09:34 | 只看该作者
    UPDATE有一个单独的RFC3311,查了下。很遗憾,摘机之后用update来更新会话严格来说,并不违规。

    规范角度看,re-INVITE只能是会话建立也就是摘机后用,update却理论上摘机前后都可以用。

    但规范建议在摘机后用re-INVITE,而不要用update来更新会话。但这个并不是强制的。

    附上原文,供参考:
    - 5 UPDATE Handling
    5.1 Sending an UPDATE
       The UPDATE request is constructed as would any other request within an existing dialog, as described in Section 12.2.1 of RFC 3261.  It MAY be sent for both early and confirmed dialogs, and MAY be sent by either caller or callee.  Although UPDATE can be used on confirmed dialogs, it is RECOMMENDED that a re-INVITE be used instead.  This is  because an UPDATE needs to be answered immediately, ruling out the possibility of user approval.  Such approval will frequently be needed, and is possible with a re-INVITE.
    【加粗的部分和大意就是尽管UPDATE可用于confiremed dialog也就是收到了200 OK for invite之后,但建立用re-INVITE来代替。
    原因是UPDATE需要立即应该,排除了用户同意(批准)的可能性。但这种用户同意(的场景)是比较常见的,这就需要用re-INVITE来做。但我不太确认这个用户同意是什么含义或场景。】

    另外,RFC3311里对"MUST", "MUST NOT", "REQUIRED",   "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",   and "OPTIONAL"这些有严格的定义。
    只有MUST、REQUIRED和SHALL没有满足,才是违反规范的。
    【MUST This word, or the terms "REQUIRED" or "SHALL", mean that the definition is an absolute requirement of the specification.】

    但RECOMMENDED和SHOULD是等价的,只是个建议,没按这个做,也不算违反规范。
    【SHOULD This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.】

    最后,因为这个是UE发出的,且大都是定制机,建议看下运营商的volte终端规范,如果运营商规范里明确提到了摘机后要用reinvite,那就是违规。否则就没有直接证据。

    还有一些相关的原文,也附上,供参考:
    UPDATE:
    In that sense, it is like a re-INVITE, but unlike re-INVITE, it can be sent before the initial INVITE has been completed.  This makes it very useful for updating session parameters within early dialogs.【这段说了和re-invite的区别】

    As a result, a solution is needed that allows the caller or callee to provide updated session information before a final response to the initial INVITE request is generated.  The UPDATE method, defined here, fulfills that need.  It can be sent by a UA within a dialog (early or confirmed) to update session parameters without impacting the dialog state itself.
    【update在early-dialog中使用时,不影响dialog自身的状态。但reinvite会有影响。】

    Operation of this extension is straightforward.  The caller begins with an INVITE transaction, which proceeds normally.  Once a dialog is established, either early or confirmed, the caller can generate an UPDATE method that contains an SDP offer [3] for the purposes of updating the session.  The response to the UPDATE method contains the answer.  Similarly, once a dialog is established, the callee can send an UPDATE with an offer, and the caller places its answer in the 2xx to the UPDATE.

    【主被叫都能发update,且都可以在early或者confired后发。】

    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2024-5-14 07:01 , Processed in 0.544404 second(s), 30 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表