

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

# Amazon Chime SDK PSTN オーディオサービスのテレフォニーイベントに応答してアクションを指定する
<a name="use-case-2"></a>

Audio Service では、SIP メディアアプリケーションは AWS Lambda 関数を呼び出します。これにより、Lambda 関数は、アクションと呼ばれる命令のリストを返すことができます。アクションとは、数字の送受信や会議への参加など、電話のレッグで実行する項目のことです。PSTN オーディオサービスによって呼び出されるアクションの詳細については、「[Amazon Chime SDK PSTN オーディオサービスのテレフォニーイベントについて](pstn-invocations.md)」を参照してください。

SIP メディアアプリケーションがアクションのリストを正常に実行すると、アプリケーションは呼び出しイベントタイプが の AWS Lambda 関数を呼び出します`ACTION_SUCCESSFUL`。いずれかのアクションが完了しない場合、SIP メディアアプリケーションは `ACTION_FAILED` イベントで AWS Lambda 関数を呼び出します。

リストのすべてのアクションが成功した場合、SIP メディアアプリケーションは `ACTION_SUCCESSFUL` を返すのみです。リスト内のいずれかのアクションが失敗した場合、SIP メディアアプリケーションは `ACTION_FAILED` イベントで AWS Lambda 関数を呼び出し、失敗したアクションの後にリスト内の残りのアクションをクリアします。次に、SIP メディアアプリケーションは AWS Lambda 関数によって返される次のアクションを実行します。`ActionData` キーを使用して、関数を呼び出した発信を識別します。

次のイベントは、`PlayAudioAndGetDigits` アクション後の `ACTION_SUCCESSFUL` 呼び出しイベントタイプのサンプルペイロードを示しています。

```
{
    "SchemaVersion": "1.0",
    "Sequence": {{3}},
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
        "Type": "PlayAudioAndGetDigits",
        "Parameters" : {
            "CallId": "{{call-id-1}}",
            "AudioSource": {
                "Type": "S3",
                "BucketName": "{{bucket-name}}",
                "Key": "{{failure-audio-file.wav}}"
            },
            "FailureAudioSource": {
                "Type": "S3",
                "BucketName": "{{bucket-name}}",
                "Key": "{{failure-audio-file.wav}}"
            },
            "MinNumberOfDigits": {{3}},
            "MaxNumberOfDigits": {{5}},
            "TerminatorDigits": ["{{#}}"],
            "InBetweenDigitsDurationInMilliseconds": {{5000}},
            "Repeat": 3,
            "RepeatDurationInMilliseconds": {{10000}}
        },
        "ReceivedDigits": "{{123}}"
    }
    "CallDetails": {
        "TransactionId": "{{transaction-id}}",
        "AwsAccountId": "{{aws-account-id}}",
        "AwsRegion": "{{us-east-1}}",
        "SipRuleId": "{{sip-rule-id}}",
        "SipApplicationId": "{{sip-application-id}}",
        "Participants": [
            {
                "CallId": "{{call-id-1}}",
                "ParticipantTag": "LEG-A",
                "To": "{{+12065551212}}",
                "From": "{{+15105550101}}",
                "Direction": "Inbound",
                "StartTimeInMilliseconds": "{{159700958834234}}",
                "Status": "Connected"
                }
            ]
        }
    }
}
```

リスト内のアクションが正常に完了しなかった場合、SIP メディアアプリケーションは AWS Lambda 関数を呼び出して失敗を通知し、その呼び出しで実行する新しいアクションセットを取得します。次のイベントは、`PlayAudio` アクション実行後の `ACTION_FAILED` 呼び出しイベントタイプのサンプルペイロードを示しています。

```
{
    "SchemaVersion": "1.0",
    "Sequence": {{4}},
    "InvocationEventType": "ACTION_FAILED",
    "ActionData": {
        "Type": "PlayAudio",
        "Parameters" : {
            "CallId": "{{call-id-1}}",
            "AudioSource": {
                "Type": "S3",
                "BucketName": "{{bucket-name}}",
                "Key": "{{audio-file.wav}}"            
            }
        },
        "ErrorType": "InvalidAudioSource",
        "ErrorMessage": "Audio Source parameter value is invalid."
    }
    "CallDetails": {
        "TransactionId": "{{transaction-id}}",
        "AwsAccountId": "{{aws-account-id}}",
        "AwsRegion": "{{us-east-1}}",
        "SipRuleId": "{{sip-rule-id}}",
        "SipApplicationId": "{{sip-application-id}}",
        "Participants": [
            {
                "CallId": "{{call-id-1}}",
                "ParticipantTag": "LEG-A",
                "To": "{{+12065551212}}",
                "From": "{{+15105550101}}",
                "Direction": "Inbound",
                "StartTimeInMilliseconds": "{{159700958834234}}",
                "Status": "Connected"
            }
        ]
    }
}
}
```