

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

# Amazon Chime SDK PSTN オーディオサービスのプログラミングモデルについて
<a name="pstn-model"></a>

PSTN オーディオサービスは、順々に AWS Lambda 関数を使用する、リクエスト/レスポンスプログラミングモデルを使用します。 AWS Lambda 関数は、着信通話と発信通話に対して自動的に呼び出されます。たとえば、新しい着信通話が到着すると、PSTN オーディオサービスは`NEW_INCOMING_CALL`イベントで AWS Lambda 関数を呼び出し、*Actions* というコマンドを待機します。例えば、アプリケーションは、音声プロンプトの再生、ディジットの収集、音声の録音、次への通話のルーティングなどのアクションを選択できます。これらの JSON 形式のアクションは、 AWS Lambda 関数からのコールバックを使用して PSTN オーディオサービスに送り返されます。

以下の例は、`PlayAudio` アクションを示しています。

```
{
    "Type": "PlayAudio",
    "Parameters": {
        "CallId": "{{call-id-1}}",
        "ParticipantTag": "LEG-A",
        "PlaybackTerminators": ["{{1}}", "{{8}}", "{{#}}"],
        "Repeat": "{{5}}",
        "AudioSource": {
            "Type": "S3",
            "BucketName": "{{valid-S3-bucket-name}}",
            "Key": "{{wave-file.wav}}"
        }
    }
}
```

以下の例は、`RecordAudio` アクションを示しています。

```
{
    "Type": "RecordAudio",
    "Parameters": {
        "CallId": "{{call-id-1}}",
        "DurationInSeconds": "{{10}}",
        "SilenceDurationInSeconds": {{3}},
        "SilenceThreshold": {{100}},
        "RecordingTerminators": [
            "{{#}}"
        ],
        "RecordingDestination": {
            "Type": "S3",
            "BucketName": "{{valid-bucket-name}}",
            "Prefix": "{{valid-prefix-name}}"
        }
    }
}
```

PSTN オーディオサービスがアクションを実行すると、成功または失敗のいずれかの表示で AWS Lambda 関数を再度呼び出します。

アプリケーションは、発信通話を行い、 AWS Lambda 関数を使用して通話フロー、発信者エクスペリエンス、通話コンテキストを制御することもできます。この場合、 [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 を呼び出し、 AWS Lambda が`NEW_OUTBOUND_CALL`イベントで呼び出されます。通話が応答されたら、音声プロンプトの再生やユーザーが入力したディジットの収集などのアクションを返すことができます。[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_UpdateSipMediaApplicationCall.html) API を使用して AWS Lambda 関数をトリガーし、タイマー、参加者のミュート、待合室を実装することもできます。