如何在java中使用ENUM协议将E.164电话号码映射到DNS名称?

时间:2009-11-10 07:53:02

标签: java

我目前正在开发一个java应用程序,将E.164电话号码映射到DNS名称以获取IP地址。我不知道该怎么做。如果有人知道,请帮助我。

2 个答案:

答案 0 :(得分: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();
                    }

答案 1 :(得分:0)

不应该太复杂。以下是相应wikipedia entry的摘录:

  

ITU ENUM分配了一个具体的   区域,即“e164.arpa”用于   ENUM在IP侧的E.164号码   网络。 RFC 3761定义了如何   ENUM号码,例如+1 555 42 42即可   通过转换为URI   扭转数字,将它们分开   用点和添加e164.arpa   后缀:2.4.2.4.5.5.5.1.e164.arpa

修改

详细说明:

  1. 读取电话号码 字符串(或将其转换为字符串)
  2. 删除任何不是的字符     号码(白人,'+'等)
  3. 还原字符串,在这种情况下:15554242 - > 24245551
  4. 点了一个点 每个号码后面,这里:24245551 - > 2.4.2.4.5.5.5.1。
  5. 追加'e164.arpa'
  6. 这就是全部 - 您不需要特殊的API,它只是一种字符串转换