Multiple outbound Caller ID from each extension. Outbound routes?

FreePBX Distro Asterisk

I want to be able to place a call from my extension and have the caller ID show up based on a prefix. Example:
3NXXNXXXXXX should report “Name1” <4442221111>
9NXXNXXXXXX should report “Name2” <7776661111>

I thought I could do this in outbound routes using the 3 and 9 prefixes combined with the Override Extension checkbox but it doesn’t work. My provider allows any Caller ID and indeed I can use any listed on my extension and that works.

It’s my understanding that the extension overrides the route which overrides the trunk but since there’s an Override extension box I’d guess that reverses the priority of the first two.

I’ve tried having no caller ID on the extension but that had no effect.

Here’s what happens when I try a call. When calling with the 9+AC+number it works just fine and shows Name1

When I try a call with 3+AC+number there is about a 30 second wait and then the call completes but it’s showing the Caller ID as Out of Area regardless of what’s in the extension or the outbound route.

Both outbound routes 3 and 9 both use the same trunk.

Any idea why 1) there’s a huge delay before the call is completed with the 3 prefix? and 2) why the caller ID gets totally lost with the 3 prefix?