When an overlay expires it is not deallocated from the destination. It is simply marked as available, so future overlay requests can use the number. If a call, or an overlay request with the same reference string, is made before the number is reassigned then the original overlay will be honoured. Usually this is useful as it reduces the chance of a user getting a wrong number, however you may wish to insist that an overlay can only be called within a certain timeframe.
Restrictions of an external system mean that we only want to allow users to call a certain destination for the next hour. We can provide the 'expires' parameter to allow the overlay to expire after this time, but later calls could still be put through. As we don't want that to happen, we will also provide the enforceExpiry flag so that later calls are rejected.
Note, by default the life of an overlay is automatically extended when it is called. If you are setting this flag, you will probably be interested in the calledExtension parameter.