Different routing for externally & internally initiated calls

Hello there,
Is this doable in FreePBX(Asterisk)? If so how can we accomplish it?

  1. Direct all external calls (from outside the phone system) to extension 111 to first ring 222.
  2. If 222 does not pick up, then it can ring 111. User 111 get SPAM calls so this will allow 222 to screen them.
  3. Internal calls (from other extensions) to 111 should go directly to 111, bypassing 222.
    Please help.

Ring Group would be the first thing I’d try.