

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon Chime SDK PSTN 音频服务接收来电者输入
<a name="case-4"></a>

您可以使用 `ReceiveDigits` 操作收集入站 DTMF 数字并将其与正则表达式进行匹配。当 SIP 媒体应用程序收到与正则表达式匹配的数字时，它会调用带有`ACTION_SUCCESSFUL`事件的 AWS Lambda 函数。收集的数字显示在 `ActionData` 对象的 `ReceivedDigits` 值中。

例如：

```
{
    "SchemaVersion": "1.0",
    "Sequence": 4,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
        "ReceivedDigits": "",
        "Type": "ReceiveDigits",
        "Parameters": {
            "CallId": "{{call-id-1}}",
            "InputDigitsRegex": "{{^\d{2}#$}}",
            "InBetweenDigitsDurationInMilliseconds": {{5000}},
            "FlushDigitsDurationInMilliseconds": {{10000}}
        }
    },
    "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 函数，该函数返回以下类型的有效负载：

```
{
    "SchemaVersion": "1.0",
    "Sequence": 5,
    "InvocationEventType": "DIGITS_RECEIVED",
    "ActionData": {
        "ReceivedDigits": "{{11#}}",
        "Type": "ReceiveDigits",
        "Parameters": {
            "CallId": "{{call-id-1}}",
            "InputDigitsRegex": "{{^\d{2}#$}}",
            "InBetweenDigitsDurationInMilliseconds": {{5000}},
            "FlushDigitsDurationInMilliseconds": {{10000}}
        }
    },
    "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"
            }
        ]
    }
}
```

参见 GitHub以下方面的工作示例：[https://github.com/aws-samples/amazon-chime-sma-on-demand-recording](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)