

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CallAndBridge
<a name="call-and-bridge"></a>

PSTN 電話番号、または Amazon Chime SDK Voice Connector または Amazon Chime SDK Voice Connector グループとして設定された SIP トランクへの発信通話を作成し、それを既存の通話とブリッジします。電話番号に電話をかけるときは `PSTN` を使用し、SIP トランクに電話をかけるときは `AWS` を使用します。

既存の呼び出しは、 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateSipMediaApplicationCall.html) API を使用して作成されたアウトバウンド呼び出し、または`NewInboundCall`イベントで関数を AWS Lambda 呼び出す SIP ルールによって作成されたインバウンド呼び出しです。Voice Connector または Voice Connector グループのエンドポイントに `CallAndBridge` アクションを実装する場合、Voice Connector または Voice Connector グループの Amazon リソース番号 (ARN) を指定する必要があります。

アウトバウンド呼び出しと AWS Lambda 関数にカスタム SIP ヘッダーを追加することもできます。カスタムヘッダーを使用すると、フロア番号や郵便番号などの値を渡すことができます。カスタムヘッダーの詳細については、「[Amazon Chime SDK PTSN オーディオサービスでの SIP ヘッダーの使用](sip-headers.md)」を参照してください。

呼び出しとブリッジ関数を使用する場合、各呼び出しは SMA アクティブコール制限の計算に使用されるアクティブな同時呼び出し数にカウントされることに注意してください。これを念頭に置いて、通話とブリッジの SMA アクティブコール制限を管理する場合は、1 回の通話とブリッジアクションごとに 2 回の通話をカウントする必要があります。詳細については、[『』の「SIP トランキングと音声クォータ](https://docs.aws.amazon.com/general/latest/gr/chime-sdk.html#chm-sdk-pstn-quotas)」を参照してください*AWS 全般のリファレンス*。

次のコード例は、PSTN エンドポイントにブリッジする一般的なアクションを示しています。

```
{
    "SchemaVersion": "1.0",
    "Actions": [{
            "Type": "CallAndBridge",
            "Parameters": {
                "CallTimeoutSeconds": 30,
                "CallerIdNumber": "e164PhoneNumber", // required            
                "Endpoints": [{
                    "BridgeEndpointType": "PSTN", // required
                    "Uri": "e164PhoneNumber", // required                       
                }],
            }
        }
    ]
}
```

次の例は、Voice Connector または Voice Connector グループとカスタム SIP ヘッダーを使用する一般的なアクションを示しています。

```
{
   "SchemaVersion":"1.0",
   "Actions":[
      {
         "Type":"CallAndBridge",
         "Parameters":{
            "CallTimeoutSeconds":30,
            "CallerIdNumber": "e164PhoneNumber", // required
            "RingbackTone": { // optional
                    "Type": "S3",
                    "BucketName": "s3_bucket_name",
                    "Key": "audio_file_name"
                },
            "Endpoints":[
               {
                  "BridgeEndpointType":"AWS", // enum type, required                                  
                  "Arn":"arn:aws:chime:us-east-1:0123456789101:vc/abcdefg1hijklm2nopq3rs" //VC or VCG ARN, required for AWS endpoints
                  "Uri":"ValidString", // required, see description below  
               }
            ],
            "SipHeaders": { 
                "x-String":"String"
            }
         }
      }
   ]
}
```

**CallTimeoutSeconds**  
説明 - 通話がタイムアウトするまでの間隔。タイマーは通話のセットアップ時に開始されます。  
使用できる値 – 1～120 (両端を含む)  
*必須* – いいえ  
デフォルト値 – 30

**CallerIdNumber**  
説明 - 顧客の番号、または A レッグの From 番号  
使用できる値 – E.164 形式の有効な電話番号  
*必須* – はい  
*デフォルト値* – なし

**Endpoints**  
説明 - 通話のエンドポイント  
*許可される値:*   
+ `BridgeEndpointType` – Voice Connector および Voice Connector グループの場合は `AWS`、それ以外の場合は `PSTN`。
+ `Arn` – Voice Connector または Voice Connector グループの ARN。`AWS` を `BridgeEndpointType` として使用する場合にのみ必須です。
+ `Uri` – URI 値はエンドポイントのタイプによって異なります。

  `PSTN` エンドポイントの場合、URI は有効な E.164 電話番号でなければなりません。

  `AWS` エンドポイントでは、URI 値によって `Request-URI` の `user` 部分が設定されます。[拡張バッカスナウア記法を使用する必要があります](https://datatracker.ietf.org/doc/html/rfc2234)。必須の長さ: 1～36。値は `a-z, A-Z, 0-9, &, =, +, $, /, %, -, _, !, ~, *, `(`,`)、(`.`) を使用します。

  `Request-URI` のホスト値は、ターゲットの Voice Connector の着信ルートから算出されます。次の例は、`AWS` エンドポイントを使用する `CallAndBridge` アクションを示しています。

  ```
  {
     "SchemaVersion":"1.0",
     "Actions":[
        {
           "Type":"CallAndBridge",
           "Parameters":{
              "CallTimeoutSeconds":30,
              "CallerIdNumber": "+18005550122",
              "Endpoints":[
                 {
                    "BridgeEndpointType":"AWS",                                   
                    "Arn":"arn:aws:chime:us-east-1:0123456789101:vc/abcdefg1hijklm2nopq3rs", 
                    "Uri":"5550"   
                 }
              ],
              "SipHeaders": { 
                  "x-String":"String"
              }
           }
        }
     ]
  }
  ```

  着信ルートと Voice Connector の詳細については、「[Editing Amazon Chime SDK Voice Connector settings](https://docs.aws.amazon.com/chime-sdk/latest/ag/edit-voicecon.html)」を参照してください。
*必須* – はい  
*デフォルト値* – なし

**SipHeaders**  
説明 - 追加の値を渡すことができます。`AWS` エンドポイントタイプでのみ使用してください。  
使用できる値 – 有効な SIP ヘッダー  
*必須* – いいえ  
*デフォルト値* – なし

次の例は、PSTN エンドポイントを使用する成功した `CallAndBridge` アクションを示しています。

```
{
   "SchemaVersion": "1.0",
   "Sequence": 3,
   "InvocationEventType": "ACTION_SUCCESSFUL",
   "ActionData": {
      "Type": "CallAndBridge",
      "Parameters": {
         "CallTimeoutSeconds": 30,
         "CallerIdNumber": "e164PhoneNumber",
         "Endpoints":[
            {
               "BridgeEndpointType": "PSTN",
               "Uri": "e164PhoneNumber"               
            }
         ],
         "CallId": "call-id-1"
      }
   },
   "CallDetails":{
      .....
      .....
      "Participants":[
         {
            "CallId": "call-id-1",
            "ParticipantTag": "LEG-A",
            .....   
            "Status": "Connected"
         },
         {
            "CallId": "call-id-2",
            "ParticipantTag": "LEG-B",
            .....
            "Status": "Connected"
         }
      ]
   }
}
```

次の例は、失敗した `CallAndBridge` アクションを示しています。

```
{
   "SchemaVersion": "1.0",
   "Sequence":2,
   "InvocationEventType": "ACTION_FAILED",
      "ActionData":{
      "Type": "CallAndBridge",
      "Parameters":{
         "CallTimeoutSeconds": 30,
         "CallerIdNumber": "e164PhoneNumber",
         "Endpoints": [
            {
               "BridgeEndpointType": "PSTN",
               "Uri": "e164PhoneNumber"           
            }
         ],
         "CallId": "call-id-1"
      },
      "ErrorType": "CallNotAnswered",
      "ErrorMessage": "Call not answered"
   },
   "CallDetails":{
      .....
      .....
      "Participants":[
         {
            "CallId": "call-id-1",
            "ParticipantTag": "LEG-A",
            .....   
         }
      ]
   }
}
```

## 通話フロー
<a name="call-bridge-flows"></a>

`CallAndBridge` アクションは、パラメータやレッグの接続有無に応じて、既存の通話レッグとは異なる通話発信とオーディオエクスペリエンスを提供します。

次の図は、着信通話レッグ A が既に接続されている場合のさまざまなパラメータを使用した通話フローを示しています。

![\[CallAndBridge アクションを通じた応答通話のフロー。\]](http://docs.aws.amazon.com/ja_jp/chime-sdk/latest/dg/images/call-bridge-ans-2.png)


次の図は、未応答通話の通話フローを示しています。

![\[CallAndBridge アクションを通じた未応答通話のフロー。\]](http://docs.aws.amazon.com/ja_jp/chime-sdk/latest/dg/images/SMA_Bridging_NotAns.png)


**その他の詳細**  
`CallAndBridge` アクションについて、以下の点に注意してください。
+ `CallTimeoutSeconds` – このタイマーは、SIP 招待が B レッグに送信された時点で開始されます。希望するターゲット値を設定できますが、上流キャリアはこの値を無視できます。
+ `CallerIdNumber` – この電話番号は顧客に属するか、A レッグの From 番号である必要があります。
+ **切断動作とエッジケース** – 一方の通話レッグが切断しても、もう一方の通話レッグは自動的に通話を切断しません。`Hangup` イベントが AWS Lambda 関数に送信されると、残りのレッグは個別に切断する必要があります。通話レッグが保留状態のままの場合、通話は切断されるまで請求されます。例えば、次のシナリオでは予期しない料金が発生する可能性があります。
  + 宛先電話番号にブリッジしようとします。宛先が通話中であり、通話をボイスメールに直接送信します。Audio サービス側から見ると、ボイスメールへの送信は応答された通話です。A レッグは切断しますが、B レッグは引き続きボイスメールメッセージを待機します。B レッグが待機している間、請求されます。
  + ベストプラクティスとして、 AWS Lambda 関数、または通話のもう一方の側を使用して、各通話レッグを個別に切断します。
+ **請求** – `CallAndBridge` を使用すると、次の料金が請求されます。
  + PSTN に作成された各通話レッグ (A レッグ、B レッグなど) のアクティブな通話時間 (分)。
  + Audio サービスの使用時間 (分)。

GitHub での実際の例を参照してください。
+ [https://github.com/aws-samples/amazon-chime-sma-bridging](https://github.com/aws-samples/amazon-chime-sma-bridging)
+ [https://github.com/aws-samples/amazon-chime-sma-call-forwarding](https://github.com/aws-samples/amazon-chime-sma-call-forwarding)
+ [https://github.com/aws-samples/amazon-chime-sma-on-demand-recording](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)