`
itwangxinli
  • 浏览: 146125 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
   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的时候,其实是
向CPE发送一个ConnectionRequest,经过授权认证等过程后,CPE会发个Inform给ACS,
其中包含了EventCode,根据EnventCode我们就可已知道是CPE主动呼叫的,还是ACS呼叫后,CPE才建立的连接。TR-069规定响应ACS的呼叫后的Inform Event Code是6 Connection Request。
     我也是第一次进行通信方面的开发,以前没有接触过的东西。首先得要下个协议,在这里我有个感受,就是要下个原版的TR-069协议,自己去慢慢的理解,不懂单词要查,虽然是全英文的,但是也是最权威的,也是原滋原味的。
   可能看了协议后会觉得很蒙,很多代名词都不懂。SOAP,RPC。SOAP和PRC感觉有点像WebService,其实我也没有webservice的开发经验,但是我觉得在TR-069协议中,ACS 通过SOAP协议指定要调用CPE的哪些方法,以及需要的参数。然后通过RPC在CPE端执行指定的方法,返回方法执行后的结果。然后在通过SOAP协议返回执行后的结果给CPE。
      假如A系统有个查询手机号码的归属地的功能,那么B系统中也要实现这个功能,那么两个系统可以通过通信的方式进行数据交互。B系统通过SOAP协议指定需要执行的功能(方法)和参数(手机号码),然后发送给A系统。A系统接受了SOAP协议包含的XML,开始解析,然后调用自身的method,然后将执行后的结果封装成XML 格式的数据后发给B系统,B系统解析后获取执行的结果。总之,最重要的是通信。


    ACS和CPE都是支持HTTP协议,所有ACS只需要有HTTP容器就可以了。所以很自然的,我们就想到了Servlet来实现。我也不知道是啥格式的XML,但是公司催的紧,所有赶紧开工了。既然不知道怎么实现,但是CPE会定时呼叫的,所有先把它呼叫后的东西接收过来看看,到底是什么。
  
目前测试的CPE是H3C的AP。
第一,创建ACSServlet,准备接收消息。
代码如下:

   

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.HashMap;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.seahigh.tyt.acs.util.AcsUtil;


/**
 * ACS serverImp
 * 
 * @author 汪心利
 * @Create Time 2009-1-4下午04:34:42 (c)copy right seahigh 2009
 */
public class ACSServlet extends HttpServlet {

 private static final long serialVersionUID = 1L;

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException {

 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  // session 记住已执行的method

   InputStream in = request.getInputStream();
   String ip = request.getRemoteAddr();
   InputStreamReader ir = new InputStreamReader(request.getInputStream());
   BufferedReader input = new BufferedReader(ir);
   String line;
   String xml = "";
   while ((line = input.readLine()) != null) {
        if (line.trim().length() <= 0)
             continue;
            xml += line;
   }
   in.close();
   input.close();
   System.out.println(ip+"Post:"+xml);

      }
}




然后在web.xml中配置Servlet了

<?xml version="1.0" encoding="UTF-8"?>

	
		
			This is the description of my J2EE component
		
		
			This is the display name of my J2EE component
		
		ACS
		com.seahigh.ACS
	

	
		ACS
		/acs/*
	
	
		index.jsp
	




分享到:
评论

相关推荐

    tr-069协议(中文)

    TR-069协议是一种通信协议,用于CPE(Customer Premises Equipment,用户终端设备)与自动配置服务器(ACS:Auto-Configuration Server)之间的通信。该协议主要应用于DSL(Digital Subscriber Line,数字用户线路)...

    Go-tr069-lib是一个用Go开发的tr069协议支持库

    Go-tr069-lib是一个基于Go语言编写的TR-069协议实现库,它为开发者提供了方便的工具来处理TR-069的消息编码与解码任务。 在Go-tr069-lib中,主要包含了以下几个关键知识点: 1. **TR-069协议基础**:TR-069协议由...

    TR-069简体中文版.doc

    TR-069 是一种用于 CPE(Customer Premises Equipment,用户设备)和自动配置服务器(ACS:Auto-Configuration Server)之间的通信协议,旨在实现安全的自动配置和其他 CPE 管理功能。该协议于 2004 年 5 月由 DSL ...

    TR-069简体中文版

    TR-069是一种用于CPE(Customer Premises Equipment)与自动配置服务器(ACS:Auto-Configuration Server)之间的通信协议,包括安全地自动配置及其它在公用框架下的CPE管理功能。本协议定义了CPE与ACS之间的交互...

    TR-111(属于TR069协议族)

    TR-111是TR-069协议族的一个重要组成部分,主要应用于家庭网络设备的远程管理。TR-069(Technical Report 069)是由DSL论坛(现为Broadband Forum)制定的一套标准,旨在提供一种安全、自动化的远程配置和管理家庭...

    TR-069 协议

    《TR-069协议详解:CPE与ACS之间的安全自动配置及管理功能》 一、TR-069协议概述 TR-069,全称Customer Premises Equipment WAN Management Protocol(客户驻地设备广域网管理协议),是DSL论坛(Digital ...

    网管协议SNMP和TR-069的分析

    SNMP是一种通用的网络管理协议,而TR-069是一种专门用于管理CPE设备的协议。SNMP的范围更广,适用于各种网络设备,而TR-069则专门用于管理CPE设备。 在安全性方面,两者都没有很好的定义,需要企业自己定义和扩展。...

    TR-069协议详细接收

    2. **SOAP协议**:TR-069基于简单对象访问协议(SOAP),这是一种使用XML格式的网络协议,用于在不同系统间交换结构化和类型化的信息。SOAP通过HTTP或HTTPS提供了一种标准的方式来封装、编码和传输数据。 3. **设备...

    TR-069协议中英文版

    TR-069协议的主要组件是CPE(Customer Premises Equipment)和ACS(Auto Configuration Server),它们之间的交互构成了CWMP(CPE WAN Management Protocol)。 CPE通常是用户端设备,如宽带路由器、IPTV机顶盒、...

    TR-069.zip

    TR-069.zip是一个压缩包,包含了与TR-069协议及其相关规范的完整文档集合。这个协议是通信设备远程管理的标准,由宽带论坛(Broadband Forum)制定,旨在简化和服务提供商对家庭和小型企业网络设备的自动化配置、...

    TR-069_Amendment-5.pdf

    TR-069是宽带论坛(Broadband Forum)发布的CPE WAN管理协议的第5次修订版,是一种用于宽带网络系统的开发和部署的指导性标准协议。TR-069协议最初发布于2004年,随后历经多次修订,以适应不断变化的技术需求和行业...

    TR069测试openacs环境搭建依赖

    在本话题中,我们将探讨如何搭建一个TR069测试环境,特别是使用OpenACS(Open Access Server)作为ACS(Auto Configuration Server)。 OpenACS是一个开源的、基于Web的客户服务系统,它支持TR069以及其他协议,如...

    基于TR-069的用户终端设备远程配置解决方案

    基于TR-069的用户终端设备远程配置解决方案是针对宽带业务管理领域的一种高效方法,尤其在应对日益丰富的宽带增值应用需求时显得尤为重要。TR-069,全称为CWMP(CPE WAN Management Protocol),是一种DSL论坛制定的...

    TR-069 中英文版

    1. **协议架构**:TR-069基于SOAP(Simple Object Access Protocol)和HTTP/HTTPS,通过XML数据格式传输管理信息。它分为两个主要组件:CPE(客户终端设备)和ACS(自动配置服务器)。CPE负责设备的本地管理,而ACS...

    TR-069(中英文)+TR-135

    TR-069协议基于SOAP(Simple Object Access Protocol)和HTTP/HTTPS,保证了安全性和可靠性。它还提供了故障检测和恢复机制,以及设备性能监控功能。 **TR-069 Amendment 1** TR-069的修正案1引入了新的特性和改进...

    TR-069_Amendment-3.zip_TR-069_Amendment-3_tr_tr 069_tr-069

    TR-069协议基于SOAP(Simple Object Access Protocol)和HTTP/HTTPS,利用这些开放的互联网协议,服务提供商可以从中央管理系统远程控制和管理用户的CPE设备。它定义了一个架构,包括管理服务器(ACS,Auto-...

    TR-069技术文档

    TR-069协议全称为CPE WAN管理协议,是一种用于CPE(客户前置设备)与自动配置服务器(ACS)之间通信的技术标准。CPE通常指的是位于用户家里或办公室中的终端设备,如路由器、调制解调器等。而自动配置服务器(ACS)...

    ACS(TR069/ACS)模拟器/

    TR069(Technical Recommendation TR-069)是一种由DSL论坛(现为Broadband Forum)制定的管理协议,主要用于远程配置和管理家庭或小型办公室的CPE(Customer Premises Equipment),如调制解调器、路由器等设备。...

Global site tag (gtag.js) - Google Analytics