some time ago I faced with a problem calling Citibank's toll-free number which is 1-888-CITIBANK. It turns so that, unlike PSTN, VoIP providers can't properly terminate calls to phone numbers longer than 7 digits ("CITIBANK" is 8-digit number). Regular telephone network just takes first 7 digits and ignores the rest.
This is true for both URI returned by ENUMLookup and VSP (at least, my VSP, Future-Nine, failed to connect this call).
I ended up "rounding" US phone numbers to 7 digits after area code. Corresponding Ruby:
Code: Select all
when /(^1([2-9]\d\d)\d{7,7})/ # North America
@num = $1 # ignore everything after 7-dig phone number