When all is said and done this sounds more like a carrier selection and routing issue. Reminds me of some of the issues I used to have before switching to Anveo Direct which gave me much more control over outbound routing.
Calls should just go through, with a good provider and proper routing they do.
I just tried with native caller ID over Anveo Direct.
One sailed through immediately on ISP Telecom OnNet. (Ironically, this was to GCI, the published support 800 number for the Alaska-based CLEC that currently owns the CID I'm spoofing on this trunk as I prepare to port my number away from them).
Another (to RAVN, a local Alaska-based regional airline carrier) did complete on IDT Platinum after a long delay--the Anveo SIP logs show 26 seconds for Anveo to respond with a 102 INVITE.
The third and fourth (both to Northern Air Cargo, a local freight cargo operations in Alaska, and both on IDT Platinum, according to the Anveo CDR) both failed with a 102 CANCEL in Anveo's SIP logs.
(I specify the callees to establish that these are decidedly local Alaska companies who most certainly get their toll-free DIDs from either ACS or GCI, the ILEC and CLEC for Anchorage, respectively--these would not be toll-free DIDs hosted out-of-state.)
I think I simply have to go back to spoofing an out-of-state number when calling TF numbers. Seemingly, ACS and/or GCI simply can't (or don't want to) properly handle billing Alaska intrastate rates if the actual carrier is a third-party--I'm guessing that ACS and GCI have negotiated fairly favorable rates with each other (as normally, TF inbound rates can hit the double-digits of cents per minute if the caller has a 907 area code, and we in Alaska in years past have had issues calling out-of-state TF numbers that block Alaskan callers), and something about the carrier being Lower-48-based but presenting a 907 area code screws something up such that ACS and/or GCI can't (or don't want to) complete the call.
Anyway,
back to the topic of this thread--the preference would be to attempt the normal, preferred trunk with the normal (actual, local-to-Alaska) CID, but if the trunk does not complete the call within a specified time, the PBX should roll onto a subsequent trunk (on which I would spoof an out-of-state CID). The default wait time before trying a subsequent trunk is too long and causes my Yealink W52P to time out and hang up before the PBX gets a chance to get to a working route. Hence my post to this thread looking to see if any solution had been devised.