Difference between End Task and Disconnect blocks in task flows

I am modifying a complex task flow and I’m really confused by the difference between the ‘End Task’ block and the ‘Disconnect’ block.

I keep accidentally hanging up on customers when I just wanted to send them back to the main menu. I think I’m using the wrong one. What is the actual difference?

The distinction is critical for maintaining the interaction lifecycle.

The Disconnect action explicitly terminates the SIP call leg entirely. The interaction is over.

The End Task action simply concludes the current logical task loop and returns control to the parent flow or the state that initially invoked the task. If you want to return the caller to the main menu, use End Task and ensure your parent flow has a path leading back to the initial Menu block.