期待更好更稳定的开源FrameWork的出现,让我们一起努力吧!  
日历
<2009年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
统计
  • 随笔 - 78
  • 文章 - 1
  • 评论 - 29
  • 引用 - 0

导航

常用链接

留言簿(1)

随笔分类

随笔档案(42)

文章档案(37)

相册

搜索

  •  

积分与排名

  • 积分 - 44787
  • 排名 - 1067

最新随笔

最新评论

阅读排行榜

评论排行榜

 

      TR 069是DSL Fourm提出来的一种协议,即CWMP协议,主要是对 用户终端设备的管理。
其功能主要有两块组成ACS(Auto Config Server)和CPE(Customer Pression Equalment)。其具体功能请参考
TR-069协议,网络上也有介绍,在此不再多说了。
     最近公司接到了一个项目,主要是对电信的AP(Access Point)设备进行性能监控和管理。我也是项目组的开发人员,主要是负责ACS的搭建。
     CPE会定时呼叫ACS,ACS也可以呼叫CPE。根据协议的描述,其实ACS和CPE之间的通信其实类似与WebService,在HTTP的基础上通过RCP远程过程调用CPE的方法。说白了,就是通过HTTP发送XML或者解析xml。那么ACS就很简单了,只需要支持HTTP就可了,所以Servlet是ACS实现的一种选择。

   在进行开发之前,必须确定你的CPE 支持TR-069协议,这个是基础,否则本文也就没有写下去的必要了。
目前测试的CPE是H3C的AP。由于我以前也没接触TR-069,这次是摸索这前进。
既然是基于HTTP传输XML的通信,那么先写个Servlet来接收XML消息了,第一次接触,看了协议只知道规则,也不知道到底有啥,既然TR-069说AP会定时呼叫ACS,那么先接收消息了,看看能收到啥情报。
第一,创建ACSServlet,准备接收消息。
代码如下:


 

 1import java.io.BufferedReader;
 2import java.io.IOException;
 3import java.io.InputStream;
 4import java.io.InputStreamReader;
 5import java.io.OutputStream;
 6import java.util.HashMap;
 7
 8import javax.servlet.ServletException;
 9import javax.servlet.http.HttpServlet;
10import javax.servlet.http.HttpServletRequest;
11import javax.servlet.http.HttpServletResponse;
12import javax.servlet.http.HttpSession;
13
14import com.seahigh.tyt.acs.util.AcsUtil;
15
16
17/**
18 * ACS serverImp
19 * 
20 * @author 汪心利
21 * @Create Time 2009-1-4下午04:34:42 (c)copy right seahigh 2009
22 */

23public class ACSServlet extends HttpServlet {
24
25 private static final long serialVersionUID = 1L;
26
27 public void doGet(HttpServletRequest request, HttpServletResponse response)
28   throws ServletException {
29
30 }

31
32 public void doPost(HttpServletRequest request, HttpServletResponse response)
33   throws ServletException, IOException {
34  // session 记住已执行的method
35
36
37   InputStream in = request.getInputStream();
38   String ip = request.getRemoteAddr();
39   InputStreamReader ir = new InputStreamReader(request.getInputStream());
40   BufferedReader input = new BufferedReader(ir);
41   String line;
42   String xml = "";
43   while ((line = input.readLine()) != null{
44        if (line.trim().length() <= 0)
45             continue;
46            xml += line;
47   }

48   in.close();
49   System.out.println(ip+"Post:"+xml);
50
51
52      }

53}

54
55

 

不知道大家是怎么贴代码的,感觉这样贴代码很不好看。呵呵。。。。。
然后在web.xml中配置Servlet了,这个过程就不多说了。
既然服务器写好了,那么下一步就让AP给我发Inform吧,当然AP并不知道ACS的地址
所以下一步就需要配置AP了。
再次申明:使用的是H3C的AP,不一定是通用的,具体请参考不同的CPE。
Windows Command Window中输入:
//telent 到AP
telnet 192.168.1.200
 //出现授权框,输入用户名和密码
system-view
cwmp



posted on 2009-01-07 17:06 BlueSky_itwangxinli 阅读(2280) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © BlueSky_itwangxinli Powered by: 博客园 模板提供:沪江博客