Reputation: 3
I'm working on an Alexa skill using the Alexa Skills Kit, and when the user says an invalid utterance, it replies with 'There was a problem with the requested skill's response'.
I've tried using the AMAZON.Fallback intent, but looking at the json output in the test window shows that it hasn't been triggered.
My backend is python 2.7 in Lambda and I'm using the locale en-gb (I've tried copying the interaction model into en-us but had the same results).
Is fallback intent the right thing to use to handle invalid utterances, or is there another way to achieve similar results?
Here is the Json input:
{
"version": "1.0",
"session": {
"new": false,
"sessionId": "amzn1.echo-api.session.bb6cd858-2128-44d2-8c43-ed6c501e0be4",
"application": {
"applicationId": "amzn1.ask.skill.0fbcbd10-17ee-49ea-9f7a-30401dc26a56"
},
"user": {
"userId": "amzn1.ask.account.AHL5Q4YLTSH3CHSILRWTE6FBK3XLKFE3XR6D6KY45IW6QVKJOW6ZWUAWMVS23YRY6EVWM45DKXPJSOXFP5AJ47TJTFD3JRHGEMUVAMKVZ4GGFJZ35JGAJV22RRDKP534OKVE46QPI32H5T6IJFHDVPP4TC3W6QXDJ2XPTYUL3U2MLQ2NYSG63UE2Q3MJZGJ7GEA5MIKSJCWUPEQ"
}
},
"context": {
"System": {
"application": {
"applicationId": "amzn1.ask.skill.0fbcbd10-17ee-49ea-9f7a-30401dc26a56"
},
"user": {
"userId": "amzn1.ask.account.AHL5Q4YLTSH3CHSILRWTE6FBK3XLKFE3XR6D6KY45IW6QVKJOW6ZWUAWMVS23YRY6EVWM45DKXPJSOXFP5AJ47TJTFD3JRHGEMUVAMKVZ4GGFJZ35JGAJV22RRDKP534OKVE46QPI32H5T6IJFHDVPP4TC3W6QXDJ2XPTYUL3U2MLQ2NYSG63UE2Q3MJZGJ7GEA5MIKSJCWUPEQ"
},
"device": {
"deviceId": "amzn1.ask.device.AGBUICDG5CR3PRTAM43NOEG3QDWUIIPF723CFMXHZILFXJY4CNAUNFVQGH33BL6VRU4DXG667KBEIE66XIO4ZW44DL2O67ALKIJDVV2YF7JPPAZAUZRGI2EHH34KVEHSPZRM3TMLPIAREL4LSTWFSI3MU2JA",
"supportedInterfaces": {}
},
"apiEndpoint": "https://api.eu.amazonalexa.com",
"apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjBmYmNiZDEwLTE3ZWUtNDllYS05ZjdhLTMwNDAxZGMyNmE1NiIsImV4cCI6MTU1MDU5Nzg5OCwiaWF0IjoxNTUwNTk3NTk4LCJuYmYiOjE1NTA1OTc1OTgsInByaXZhdGVDbGFpbXMiOnsiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUdCVUlDREc1Q1IzUFJUQU00M05PRUczUURXVUlJUEY3MjNDRk1YSFpJTEZYSlk0Q05BVU5GVlFHSDMzQkw2VlJVNERYRzY2N0tCRUlFNjZYSU80Wlc0NERMMk82N0FMS0lKRFZWMllGN0pQUEFaQVVaUkdJMkVISDM0S1ZFSFNQWlJNM1RNTFBJQVJFTDRMU1RXRlNJM01VMkpBIiwidXNlcklkIjoiYW16bjEuYXNrLmFjY291bnQuQUhMNVE0WUxUU0gzQ0hTSUxSV1RFNkZCSzNYTEtGRTNYUjZENktZNDVJVzZRVktKT1c2WldVQVdNVlMyM1lSWTZFVldNNDVES1hQSlNPWEZQNUFKNDdUSlRGRDNKUkhHRU1VVkFNS1ZaNEdHRkpaMzVKR0FKVjIyUlJES1A1MzRPS1ZFNDZRUEkzMkg1VDZJSkZIRFZQUDRUQzNXNlFYREoyWFBUWVVMM1UyTUxRMk5ZU0c2M1VFMlEzTUpaR0o3R0VBNU1JS1NKQ1dVUEVRIn19.d7N14qfFSfWL41vR6xkYpQFM_88giqltFbj_e1UTJLYR6amkifNnqX91uNqksGukWoGs6Jnync_wLG6WDddTKS2UOUJo2ZriUTN4xs7tM0hq_j-taezLV86d-J7Azq_sDWMDiuQs9pm-Y5kOU4x2HJbVqmkVj_xJHQQivM8_juK-hX_9FqDgYrnNmUz3erehtd7P_Euf9uiMXQgN5uF1NCwh0GscxnD_XPQ6b98I3hJnze-OHIFfEkla1THH180Op6O4Q47vlMHZWgl4cDQJneATUSOcHXOq8NnN9vfP_z2Q33g7n3BJmPvz-6vWsgbSrEajX-3xHs8rjIcdxvnc-w"
},
"Viewport": {
"experiences": [
{
"arcMinuteWidth": 246,
"arcMinuteHeight": 144,
"canRotate": false,
"canResize": false
}
],
"shape": "RECTANGLE",
"pixelWidth": 1024,
"pixelHeight": 600,
"dpi": 160,
"currentPixelWidth": 1024,
"currentPixelHeight": 600,
"touch": [
"SINGLE"
]
}
},
"request": {
"type": "SessionEndedRequest",
"requestId": "amzn1.echo-api.request.33d7948c-e4de-4ec9-9490-8e66c460d8f7",
"timestamp": "2019-02-19T17:33:18Z",
"locale": "en-GB",
"reason": "ERROR",
"error": {
"type": "INVALID_RESPONSE",
"message": "Invalid SSML Output Speech for requestId amzn1.echo-api.request.14165ddf-86dc-4cd2-b636-94df1ddfd835. Error: Fatal error occurred when processing SSML content. This usually happens when the SSML is not well formed. Error: Unexpected character 'T' (code 84) in prolog; expected '<'\n at [row,col {unknown-source}]: [1,1]"
}
}
}
Upvotes: 0
Views: 729
Reputation: 10402
If you're working with a skill that in English or German yes, you should use fallback intent. Other locales do not support it yet.
For en-GB or en-US you need to make sure that AMAZON.FallbackIntent
is defined in your voice interaction model (front-end) and that you have an handler in the back-end (eg lambda) to catch intent requests named AMAZON.FallbackIntent
This definitely sound like a problem in your backen-end processiong the fallback intent (you might not be catching it properly)
Upvotes: 0