2012-05-22 16 views
11

MSISDNについていくつか質問があります。私は理解:MSISDN:SIMカードのデータですか?なぜ、MSISDNを取得するために提供される機能(ブラックベリーとアンドロイドから)が信頼できないのですか?

  1. MSISDNは、基本的には、電話番号
  2. であるそれは私がさらにある知っている必要がありますどのような

IMSIではありません。

  1. MSISDN番号が燃焼し(保存されました)SIMカードで?はいの場合、すべてのプロバイダがSIMカードにMSISDN情報があることを確認していますか?いいえ、明確にするために、プログラミングコードのどれもMSISDN番号を取得できませんか?

  2. 以下のコードでMSISDNを取得することをお勧めします。しかし、「My Phone Number」がデバイスに設定されていない場合、コードは両方ともnullを返します。それ以外の場合は、設定されている場合は「マイ・ナンバー」を返します。 したがって、質問は:「私の電話番号」はMSISDNに等しいですか?

    TelephonyManager.getLine1Number(); - >アンドロイド

    Phone.getDevicePhoneNumber(true);用 - ブラックベリー

    上記コードとして
  3. ため、戻り列データをSIMカードからデバイス自体またはからフェッチされ>?

答えて

16

私はあなたのためにいくつかの洞察を持っています。

  1. MSISDN しかし、ほとんどのネットワークプロバイダ(南アフリカのすべてのプロバイダ)がSIMカードにMSISDNを格納しない、SIMカード上に保存することができます。
    • ダイナミックMSISDN割り当て:プリペイドSIMは、最初に使用されたときにMSISDNが割り当てられることがあります。つまり、ネットワークには利用可能なMSISDNのプールがあり、新しいプリペイドSIMがオンラインになるたびにその割り当てが行われます。これは、SIMが出荷されるときにMSISDNをまだ持っていないことを意味します。つまり、SIMを出荷する前にMSISDNを保存することはできません。一部のネットワークでは、一定期間使用しないと、特に利用可能な番号が少なくなった場合に、MSISDNの割り当てが「期限切れ」になり、これらの番号が使用可能なプールに返されます。
    • モバイル番号の移植性:一部の国では、モバイル加入者はMSISDNを維持しながらネットワークを変更できます。これは、MSISDNが1つのネットワークのSIMから別のネットワークのSIMに移動されることを意味します。

したがって、ユーザーは、多くの場合、ブランクいるSIMのMSISDNエントリで終わります。ユーザーはSIM自体にMSISDNを保存することができますが、任意の番号を保存することもできます。また、設定することや加入者の実際の電話番号を保証するものではありません。

      2. SIMカードに保存されている番号をフェッチするように頼んだコール。番号が設定されていない場合、それを取得しません、そして、あなたが間違った番号を設定している場合、あなたは間違った詳細を持っています。

      3.この文字列は、SIM自体から取り出されます。

私がMSISDNを検出するための唯一の信頼できる方法は、モバイルオペレータがMSISDNをヘッダーに含めるとWAP/WEB経由であることです(ヘッダーがどのように通っているかを見るためにいくつかのwebviewトリッキーを行うことができます)。これらがネットワークでサポートされていて、ユーザーがモバイルデータにある場合、つまり、ユーザーがWiFiを使用している場合は動作しません。

私が考えることができる他のメカニズム(私が考えることができる唯一の保証されたメカニズム)は、USSDセッションを介してです。常にオペレータから正しいMSISDNを取得しますが、プログラムでUSSDセッションと応答を読む(少なくともAndroidで)。私はUSISDサービスしか持っていませんが、その出力はMSISDNですが、残念ながらこれは私にまだ有効ではありません。

+0

ありがとう、darryn.ten。私は多くの人々があなたの答えから非常に有利になると信じています。 そして、私はGPRSモードでヘッダを介してMSISDNを取得しようとします。 –

1

あなたはここに、あなたの質問を投稿するので、誰もが過去1時間に答えたので、(私はこの分野の専門家ではないですが、ちょうどいくつかの経験を持っている)私が知っているものです:

  1. MSISDNであります電話番号;人々があなたに電話できる数。
  2. simカードを変更(アップグレードまたは他のオペレーターに変更)することができ、電話番号= MSISDNを維持できるので、SIMカードに「燃える」ことはできません。私は、SIMカードIDからMSISDNへと変換し、コール/データ転送が行われたときに戻ってくる演算子にマッピングテーブルがあると思います。 MSISDNがカードに保存されている可能性があります。
+0

@SzilardBaranyさん、ありがとうございます。 私は、オペレータがIMSIをMSISDNに変換するための何らかのマッピングテーブルを持っていることに同意します。 –

0

MSISDNにはBIGINTタイプがあることを考慮する必要があります。 このように出力すると、先にタイプ変換が行われます。 このように

+0

$ msidn = $ result ['terms'] ['term'] [!msidn ']; –

+0

var_dump($ msidn); –

+0

コメントを追加する代わりに、質問を編集してください。 [編集の詳細について](http://stackoverflow.com/help/editing) – buczek

関連する問題