The "$" is used to indicate an unknown number of digits. So for international numbers you can use "011$" so if the number starts with "011" and is followed by any number of additional digits it matches.

The problem I see is that if you put "011$" in the OUT#REJECT then all international calls will be rejected (even if you specify other patterns in the OUT#ACCEPT). The OUT#REJECT is matched first, so if a number is rejected it cannot be allowed out the specified interface.

You could remove the "$" from the OUT#ACCEPT and put in "1-NXX-NXX-XXXX" for long distance, "0-NXX-NXX-XXXX" for toll free, and then specify the international prefixes you want to allow, such as "011-31$" and "011-41$" etc. You should also include "411" and "911" and either 7-digit or 10-digit local dialing patterns. This way if the number does not match one of the patterns specified it will be rejected (but may then be routed out a USER TERM if any of those accept "$").

The ATLAS does route based on the "most specific match" so your idea should work. International calls starting with "011-31" or "011-44" would go out the NETWORK TERM to the PSTN but any other number starting with "011" would be routed to the specified USER TERM entry (which could be a "dummy" entry so the call immediately gets a busy).