1

假设我有一个 IN-AE、IN-CSE 和 MN-CSE。MN-CSE 具有在 IN-CSE 中公布的容器资源。IN-AE 通过通告资源中的链接在 MN-CSE 中的容器上创建订阅,该订阅的 notificationURI 是 IN-AE 的 POA。

MN-CSE 能够通过什么机制将通知通过 IN-CSE 路由回 IN-AE?

例如,假设我的 MN-CSE 中有一个容器,/mn-cse/ae1/container并且我的 IN-AE 发布了对 IN-CSE 的以下订阅:

POST http://in-cse-host/mn-cse/ae1/container?rcn=2 HTTP/1.1
X-M2M-Origin: ae
X-M2M-RI: ri1

{
  "sub": {
    "enc": {
      "net": [
        3
      ]
    },
    "nu": [
      "http://in-ae-host/notify"
    ],
    "nct": 1
  }
}

注意:nu有 IN-AE 的 POA,这是 IN-CSE 与 IN-AE 对话的方式。

但是,假设 MN-CSE 不使用 HTTP,或者无法路由到in-ae-host. MN-CSE 如何知道如何将通知路由nu回正确的 AE?

4

1 回答 1

0

CSE 必须将其不是目标的任何请求转发到目标/目的地 CSE(中转请求)。参见 TS-0001,表 8.2.1.0-1“访问不同 CSE 中的资源,从 Registree 到 Registrar CSE”,详细描述无跳(目标 CSE 是相同的 CSE)、1 跳(直接注册商或直接CSE 的注册者 CSE)和多跳(不是直接注册者或注册者 CSE)通信。

回答更新的问题

但是,假设 MN-CSE 不使用 HTTP,或者无法路由到 in-ae-host。MN-CSE 如何知道如何将带有该 nu 的通知路由回正确的 AE?

发生的情况是这样的:MN-CSE 开始在容器/mn-cse/ae1/container下创建订阅。该过程中的步骤之一涉及对nu中所有通知 URI 的验证请求。由于此失败(MN-CSE 出于任何原因无法到达目标)验证请求失败并且未创建订阅。

于 2020-08-24T21:41:24.267 回答