Behaviour of Invalid Dial Message in IVR definition is (in my opinion) wrong!

I have a working FreePBX/Asterisk box.
In FreePBX (2.7.0) I would like to have a custom invalid choice message to be played when the caller dials a wrong key/extension while listening to an IVR message, the invalid choice message should interrupt the playing IVR message, play till its end and then go back to the IVR message that was playing when interrupted (starting from the beginning).
In FreePBX interface I found 3 relevant settings:

  • Loop Before i-dest.
  • Repeat Loops.
  • Invalid Message.
  • Invalid Destination (i-dest) option for the IVR itself.
    Selecting the custom message in the Invalid message drop menu has the result of playing the custom message for any invalid typing, so this is correct, unfortunately at the end of the custom message the IVR takes the route to the t-destination, doesn’t play back again the IVR that was interrupted.
    Ok, so I check the i-dest checkbox, this would result in playing back the interrupted IVR at least the number of times that appears on the Repeat Loops drop down selection option, unfortunately, when i-dest is checked all key pressed by the caller is completely IGNORED: if they are correct the call isn’t diverted to the new desired extension, if they are wrong the IVR message goes on playing till its end and the IVR flow goes to t-dest!
    I also tried to clear the Invalid Message selection and using the i-dest by associating to the i-dest IVR the invalid choice message, this works, but then I could not find a way to go back to the previous IVR message (because the invalid choice message could start playing from more than one IVR message, something similar to RETURN from subroutine) the Return to IVR checkbox seems not working for this purpose!

What I’m doing wrong?
Any help would be greatly appreciated!