2009-11-10 40 views

回答

2

映射的部分是非常簡單的,

    public String getEnum(String number) { 
          String data = number.replaceAll("[^0-9]",""); 
          StringBuffer sb = new StringBuffer(); 
          for (int i = data.length()-1; i >= 0; i--) 
          { 
            sb.append(data.charAt(i)).append('.'); 
          } 
          sb.append("e164.arpa."); 
          return sb.toString(); 
        } 
+0

好的。得到這個被稱爲DNS查詢字符串的字符串後,使用這個我必須得到對應於該電話號碼的DNS名稱。我可以做到這一點? – Rajapandian 2009-11-10 13:06:28

+1

這是您可用於執行DNS查找的DNS名稱。我想你需要獲得SIP URI的NAPTR記錄等Java不支持。您需要使用Java DNS包http://www.dnsjava.org/。 – 2009-11-10 16:44:22

+0

謝謝你的回覆。我有一些想法。 – Rajapandian 2009-11-11 07:36:26

0

不應該太複雜。下面是從相應wikipedia entry的摘錄:

的ITU ENUM分配一個特定的 區,即「e164.arpa」與 ENUM E.164號碼上的 網絡IP側使用。 RFC 3761定義瞭如何將任何的ENUM號碼(例如,+1 555 42 42可以被轉換爲URI,通過 反轉數字,將它們與點分離並將它們分開 並且添加後綴e164.arpa ):2.4.2.4.5.5 .5.1.e164.arpa

編輯

只是在細節:

  1. 讀取手機號碼作爲 字符串(或者將其轉換爲一個字符串)
  2. 除去任何字符不是一個 數(whitechars,「+」等)
  3. 恢復字符串,在這種情況下:15554242 - > 24245551
  4. 把一個點每個數字後面有 ,這裏:24245551 - > 2.4.2.4.5.5.5.1。
  5. 追加 'e164.arpa'

這一切 - 你不需要特殊的API,它只是一種字符串變換

+0

謝謝你的答覆。理論上它沒問題,但我想在java.like中實現這個概念。我的應用程序必須獲得一個電話號碼作爲輸入,並給出相應的IP地址作爲輸出。這就是我想要做的。我讀了一些像JSR-161 api這樣的文章是用來做這件事的,但我正在努力爭取api.If任何知道鏈接請告訴我。 – Rajapandian 2009-11-10 09:37:02

相關問題