I love hangup handlers, they are awesome, but … I’ve run into a pretty big issue (for us at least) on attended transfers, here’s a simplified example:
exten => 100,1,Set(CHANNEL(hangup_handler_push)=hangup,s,1)
So if I do a remove attended transfer to this extension 100, the final channel does not contain the hangup handler. It’s lost somewhere in the bridging of the original channel and the final, post-attended transfer channel.
Also, the ‘h’ extension in the context of that final, post-attended transfer channel, never gets executed either.
Any advice appreciated!