Timer event not stopping on message boundary event

In the model above, I want to stop the timer (wait here) inside sub-process , when I receive the message on “process started” on message boundary event , and when I receive another message “process ended”, it should start the sub-process again ? Is this is the correct way of modelling the expected behaviour ? The timer is not stopping when when the message “process ended” is received. Can you please provide the suggestion for this ?

When the process started message is triggered it should interrupt the timer. How do you know it’s not interrupted?

The process instance still shows waiting at timer event only, even after receiving the message. That’s how I can identify.

Could it be that it is the second loop already? Did you send both messages processes started and process ended? Or did you just send the first message?