INT(10) não significa um número de 10 dígitos, significa um inteiro com uma largura de exibição de 10 dígitos. Se você colocar INT(2) ou INT(10), o MySQL ainda armazena apenas um INT (não assinado, neste caso) que tem um valor máximo de 4294967295.
Você pode usar um BIGINT em vez de INT para armazená-lo como um numérico. Eu não recomendaria isso, no entanto, porque não permite números internacionais. Se você tiver certeza de que seu aplicativo usará apenas números dos EUA, o uso de BIGINT economizará 3 bytes por linha em VARCHAR(10) - se esse tipo de coisa lhe interessar.
Como é um número de telefone (e, portanto, você não fará cálculos numéricos), tente usar um VARCHAR(20). Isso permite que você armazene números de telefone internacionais adequadamente, caso seja necessário.