How to ask Freepbx/asterisk to keep dialing until it does not receive busy tone?

I would like to know if it is possible to configure FreePBX to keep trying an external call (via an external FXO trunk) until it connects (i.e. when it does not receive a busy tone), something like a human secretary/operator would do.
I appreciate any inputs or insights on this.

This is the idea:

  1. Dial an external number
  2. Receive a busy tone
  3. Press a key or use a feature code to instruct FreePBX to keep retrying the call
  4. When FreePBX gets a ring tone, it will ring my SIP extension and connect the call automatically

The feature is called “Camp On” and is pretty much deprecated. There were some old Asterisk modules that supported it, but they weren’t very “working correctly” friendly.