Feature idea - fax detect as routing destination

I have an idea to create a fax detect call destination. This would be same as currently done at inbound route configuration page for fax detection, only it would be a destination that can be selected in other places in FreePBX, and only be concerned with fax related settings. It might, arguably, be cleaner to remove this functionality from inbound route configuration and have fax detection as its own destination which can be selected as destination for inbound route or any other place in the dialplan.

I believe this would allow greater flexibility in fax handling. In particular it could serve the following use case: Send inbound route to an endpoint extension. Configure extension to have “No Answer fail over” destination to this new “fax detect”. In this new fax detect destination I’d set the following two destinations: receive fax for the specified user, or go to voice mail for that user.

This proposed approach has the benefit over the fax detection at inbound route for user extension specific fax transmissions. Fax detection requires answering the call, or at least does so on my setup with PRI ISDN trunk. After the call is answered caller gets a few seconds delay for fax detection, which is not great but ok. Then the call is offered to callee’s extension, and if the callee is not at the desk the call is wasted, yet the caller got their call answered, incurred flag charge, waited the delay for fax detection and waited for callee (who is away) on a connected line.

This means that for my example use case there would need to be as many instances of fax detect destinations as there are users who need to be able to receive fax.

This could have (debatable) improvement of removing fax-detect configuration out of inbound route, making inbound route configuration simpler/cleaner.

I’ll try looking at the code to see if I have what it takes to create this myself. I suspect most of the code I need already exists, and I’d need to look at a few modules for examples of how to do these things.