Normalização de número de telefone: existem bibliotecas pré-existentes?

Eu tenho um sistema que está usando números de telefone como identificadores exclusivos. Por esse motivo, desejo formatar todos os números de telefone conforme eles chegam usando um formato normalizado. Como não tenho controle sobre meus dados de origem, preciso analisar esses números e formatá-los antes de adicioná-los ao meu banco de dados.

Estou prestes a escrever um analisador que pode ler números de telefone e gerar um formato de telefone normalizado, mas antes disso eu queria saber se alguém sabia de alguma biblioteca pré-existente que eu poderia usar para formatar números de telefone.

Se não houver bibliotecas pré-existentes, o que devo ter em mente ao criar esse recurso que pode não ser óbvio?

Embora meu sistema esteja lidando apenas com números dos EUA no momento, planejo tentar incluir suporte para números internacionais, apenas no caso, pois há uma chance de que seja necessário.

Editar Esqueci de mencionar que estou usando o C # .NET 2.0.

questionAnswers(5)

yourAnswerToTheQuestion