在多租户 JSON 配置中配置租户

虽然在概念上类似,但是使用 JSON 配置属性来配置 Voice Gateway 环境与单租户配置在实施上不同,因为租户配置与服务器配置会分隔开来。

使用 JSON 配置属性来配置 Voice Gateway 时,只能连接面向指定租户的呼叫,从而有效地将已配置的租户列入白名单。要使呼叫能够连接,SIP INVITE 请求中启动呼叫的 SIP To 头字段或 Request-URI 值必须包含整个电话 号码,或定义 JSON 文件中的 tenantURI 的其他值。如果某人尝试呼叫未定义的租户,那么 Voice Gateway 会拒绝呼叫。

在 V1.0.0.2 和更高版本中支持使用 JSON 属性来配置多租户。

配置租户

  1. 创建包含一个或多个租户的配置的 JSON 文件。

    提示:要快速入门,将 tenantConfig.json 样本文件的内容复制并粘贴到空的 JSON 文件中。然后,编辑文件并添加每个租户的配置。

    在主 tenants 对象中,指定 tenant 对象的列表。每个租户可以包含以下键:

    • tenantURI:唯一租户标识,例如电话号码。必须与用于启动呼叫的 SIP INVITE 请求中的 SIP To URI 匹配。必需。
    • description:租户的描述,例如其使用方式。可选,但建议使用。
    • 用于定义特定租户的设置的其他可选租户配置属性
    • conversation:Watson Assistant 的配置属性的 JSON 对象。可选。
    • stt:Speech to Text Adapter 启用的 IBM Speech to Text 服务或第三方语音识别服务的配置属性的 JSON 对象。可选。
    • tts:IBM Text to Speech 服务的配置属性的 JSON 对象。可选。
    • reporting:用于发布报告事件的配置属性的 JSON 对象。可选。
    • SMSpipe:用于集成对 Voice Gateway 的 SMS Gateway 支持的配置属性的 JSON 对象。可选。

    conversationwvasttttsreporting 对象中,您可以进一步配置相关服务或报告事件。有关属性和样本 JSON 配置文件的完整列表,请参阅高级 JSON 配置属性

    例如,以下 JSON 将号码为 234-555-6789 的租户配置为自助服务代理程序,并且配置 myhost.com 主机上未显示其详细信息的号码为 234-555-7890 的另一个租户。

    {
     "tenants": [
       {
         "tenantURI": "2345556789",
         "description": "Voice Gateway Demo US",
         "whitelistFromUri" : "8765554321",
         "putCallerOnHoldOnTransfer" : "false",
         "conversation": {
           "url": "https://gateway.watsonplatform.net/conversation/api",
           "workspaceID": "a23de67h-e527-40d5-a867-5c0ce9e72d0d",
           "password": "InWtiUpYhF1Z",
           "username": "9h7f54cb-d9ed-46b3-8492-e9a9bf555021"
         },
       },
       {
         "tenantURI":"2345557890@myhost.com"
         ...
       }
     ]
    }
    
  2. 将租户配置添加到 Voice Gateway 配置,然后部署环境。有关更多信息,请参阅部署多租户 JSON 配置

租户配置属性

您可以在高级 JSON 配置属性中查找有关租户配置属性的信息。