Different CallerIDs for different outbound routes

I have been trying for about a week to get outbound routes working with different caller IDs, but they all still show my trunk outbound CID regarless of which route I use.

All routes are using the same trunk.

I am using the Extension Routing commercial module to limit certain extensions to certain outbound routes, and each outbound route has caller ID set with a route CID, override extension => yes, and is not set as an emergency route.

Calling out of all routes still presents my trunk CID. The trunk is outbound CallerID is set to “Block Foreign CIDs”, not to “Force Trunk CID”. The trunk “Hide CallerID” is set to “No”.

How in the world does one make this work?

This is similar to this question:
The free Extension Routes module is installed, but not registered (at the bottom) and…
Diffrent outbound route for extensions

I’m using Asterisk 13.0.59 and FreePBX Distro 10.13.66-1.