Differentiating calls from two different Callcentric Accounts

I have two Callcentric accounts, and want incoming calls from them to have different values for dtmfmode and directmedia. I tried setting up two different SIP Trunks in FreePBX, one for each account, but its not working. Calls from either account randomly goes to one SIP Trunk or the other depending on the IP address Callcentric is sending from.

My peer details for one of the accounts look like:
context=hpk-cid-zap-custom
fromuser=1777xxxxxxx
host=callcentric.com
fromdomain=callcentric.com
insecure=port,invite
secret=yyyyyyy
type=peer
defaultuser=1777xxxxxxx
dtmfmode=inband
qualify=yes
disallow=all
allow=ulaw
nat=yes
canreinvite=no
directmedia=no
srvlookup=yes

Is there some way to get the calls directed to the correct SIP Trunk or is there some other way to do this with the configuration files in /etc/asterisk?

With most providers, I generally create SIP Aliases on my PBX and point each DID to the Alias. (The alias is generally the full phone number.) This does, however, require you to “Allow Anonymous Inbound SIP Calls” in your “Asterisk SIP Settings.” That may be an uncomfortable setting for some users.

My inbound routes are working fine. The problem is that I want different settings for dtmfmode and directmedia depending on which Callcentric account is sending an inbound call.