Alexa Skill not recognized when tested on Echo
Have you enabled testing with your device for your skill?
Once you have this enabled, you can check if it is properly associated with your device by going to the Skills section of the Alexa app and hitting "Your Skills" to see the list of skills that your Echo recognizes. You should see your skill with a little green dev tag on it.
Your device language and the language you are using in developer account for creating custom skills should be same. If your device is registered in English India then you have to add English india language in your custom skill.
Check language on your alexa app settings -> Your Echo device -> Language
For your Echo / Dot / Tap device to correctly invoke your custom skill, the Language of your Interaction Model needs to match the region your lambda resource is deployed in. I had this issue, as I deployed lambda in EU-West1 (Ireland) but the default alnguage for the Interaction model is English (US). In the interaction model I added a new language of English (UK) and copied over my intents and utterances, then deleted the English US language, and my Echo Dot now correctly invoked my custom skill intents
I was developing in default en-US language with North Virginia region (for Lambda function) but was based in India. I even tried using US address in Alexa app, but it didn't worked.
At the end I added all the english languages(en-IN, en-CA, en-GB, en-EU) and copied the model JSON file which was created for en-US. Build each one of them separately and fill the Description -> Skill Preview
details for each of them. This worked.