Allow me to disagree. There are plenty of ways to add optional functionality without having to deal with providers directly. First thing that comes to mind is a web API to any willing third-party provider, i.e. Anveo, Callcentric, etc.
IMHO, considering current observable level of complexity of Obi products overall, software engineering overhead for this piece would be trivial, with an immediate ROI in form of happy customers and added marketing points to brag about.
Obi would need essentially three things.
1. Define API parameters for providers (if one doesn't exist already. Not a developer, don't have a qualified opinion here)
2. Expose an interface option to toggle a call to such an API
3. Insert CNAM info returned from the API call into call presentation
Again, this doesn't seem uber complicated to me. And this would remove a dependency on third parties such as Callcentric, which currently adds to complexity and reliability. If Callcentric is down, or balance is low, or anything else, the call flow stops, until manual intervention is performed. In the hypothetical scenario above, the only thing that would happen is lack of CID.
Just my 4.5c