I believe, but I don't entirely remember, that starting in one of the R.9 varients, the Associated Directory number form add the association type of "CPN Substitution". There was initially one big drawback to this for us though, it couldn't be used for SIP trunks. That has since been corrected in the 4.1 versions.