MSISDN: É um dado do cartão SIM? Por que toda a função fornecida (do Blackberry e Android) para buscar MSISDN não é confiável?

Eu tenho várias perguntas sobre MSISDNs. Compreendo:

MSISDN é basicamente o número de telefoneNão é IMSI

O que eu preciso saber é:

O número MSISDN está gravado (armazenado) no cartão SIM? Se for sim, todos os provedores se certificam de que existe informação MSISDN no cartão SIM? Se for não, para ser esclarecido, Nenhum código de programação pode buscar o número MSISDN?

Algumas pessoas sugerem buscar o MSISDN como abaixo. Mas o código retorna null se "My Phone Number" não estiver definido no dispositivo. Por outro lado, retornará o "Meu Número de Telefone", se estiver definido. Assim, a pergunta é: "Meu número de telefone" é igual a MSISDN?

TelephonyManager.getLine1Number(); -> para Android

Phone.getDevicePhoneNumber(true); -> para Blackberry

Como o código acima, os dados da String de retorno são buscados no próprio dispositivo ou no cartão SIM?

questionAnswers(3)

yourAnswerToTheQuestion