之前看了些预备知识,最近在利用这些技巧来实现科协布置的项目:根据tr-069协议实现模拟的ACS端和CPE端。好不容易把CPE端写出了个“形”,迫不及待的就想晒晒心得。先介绍一下这个协议吧:
<!----><!---->
<!---->TR-069
规范是
属于
TR-046
规定的
B-NT
自动配置框架中高级复杂业务协议配置部分。主要由自动配置管理服务器
(
Automatic Configuration Server
ACS
),用户驻地设备(
Customer Premises Equipment
CPE
,即被管终端),业务配置管理服务器以及一些必要的管理接口组成。它通过定义一套
ACS
和
CPE
之间自动协商交互协议,实现远程管理的功能。如图1
所示,宏观上主要有两个接口,一个时完成从业务或服务提供商向
ACS
下发业务配置的北向接口(
ACS Northbound Interface
),另外一个是完成从
ACS
到
CPE
配置管理的南向接口(
ACS
Southbound Interface
)。
我实现的这个CPE端的功能大致如下:首先,使用HTTPClient提供的API向ACS服务器发送一个没有内容的HTTP-Get请求——模拟CPE上电后的首次建连;在收到服务器返回的响应后,通过HTTP-Post发送一封
SOAP
内含Inform请求——请求建立一个会话;如果紧接着收到一封包含InformResponse方法的SOAP回复,按协议的说法表明会话已经成功建立,再次发送一个空的HTTP请求——告诉服务器可以开始远程管理了……会话的连通过程中,服务器可以发送协议规定的SOAP请求到CPE端,CPE作相应的解析、处理、回复。最后服务器Post一个空的HTTP请求来关闭这次会话。
实现程序里的连接服务器功能的是HTTPClient(Apache的项目)提供的GetMethod和PostMethod方法。大概用法是:
// Create an instance of HttpClient.
HttpClient client = new HttpClient();
// Set authentication.
client.getState().setCredentials(
new AuthScope(AuthScope.ANY_HOST, 8080, AuthScope.ANY_REALM),
new UsernamePasswordCredentials("username", "password"));
// Create a method instance.
//PostMethod is similar
GetMethod get = new GetMethod(URL);
// Tell the GET method to automatically handle authentication.
get.setDoAuthentication(true);
// Provide custom retry handler .
get.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler(3, false));
int status;
// Execute the method.
try {
status = client.executeMethod(get);
} catch (HttpException e) {
System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
System.err.println("Fatal transport error: " + e.getMessage());
e.printStackTrace();
} finally {
// Release the connection.
get.releaseConnection();
}
HTTPClient的功能很全面,还能处理、设置各种报头。
SOAP消息的生成和解析就用到了我之前的文章里提供的方法:“建厂”->实现信封->实现header->实现body。而功能逻辑参考了OpenACS的解析方法。在调试程序的各项功能的时候,一个“泥潭”让我深刻认识到SOAP(或者说是解析SOAP的API)是区分大小写的。这个泥潭出现在一个前缀:“SOAP-ENV”上:开始我把body元素的这个前缀弄成了小写,因为这个前缀是API自动生成的,没有在代码里显示,我也压根没考虑它的大小写问题。我用服务器向客户端发送SOAP消息,报头的信息都能正确得到,状态码也是200,可就是获取不了SOAP消息。我尝试删除一些SOAP内容,最后就发现问题出在了加载这个前缀的那行代码上,于是就发现了这个问题。改成大写的,一切OK。
event.setAttribute("SOAP-ENV:arrayType", "xsd:EventStruct[64]");
- 描述: 图1
- 大小: 60.3 KB
分享到:
相关推荐
《深入解析TR-069协议与Java CPE客户端实现》 TR-069(Technical Report 069)是一种由DSL论坛制定的通信协议,全称为“Automated Configuration and Software Update for Customer Premises Equipment”(用户端...
3. **ACSDemo**:ACSDemo可能是一个示例应用,展示了如何在Java中实现TR069的客户端部分,即CPE设备的模拟。它可能包含了如何初始化会话、发送管理请求以及接收并处理服务器响应的代码实例。 4. **CPEDemo**:与...
TR069 CPE ACS模拟器是一款专为网络设备配置和管理设计的工具,它主要用于TR069协议的调试和测试。TR069(Technical Recommendation TR-069)是由DSL论坛(现为Broadband Forum)制定的一项通信协议,用于自动化客户...
标题中的“基于博特CPE和华为路由器搭建GRE隧道网络GRE抓包”表明我们要讨论的是如何使用博特 Customer Premises Equipment (CPE) 和华为路由器建立一个通用路由封装(Generic Routing Encapsulation, GRE)隧道,并...
ExcelMAX FDD CPE 全双工室外用户端pdf,ExcelMAX FDD CPE 全双工室外用户端
【知识和技能的进化过程】是CPE教学法的核心特征,随着教学环节的推进,学生会不断改进和完善之前的项目,以此实现知识的更新和技能的提升,形成举一反三的学习效果。 【教学情境的确定】至关重要,它为每个教学...
Comfast CPE(Customer Premises Equipment)是网络设备中的一种,主要用于实现无线网络的桥接功能,通常用于需要长距离无线覆盖或者无法铺设有线网络的环境。CPE设备可以通过无线信号接收并转发数据,从而在两处或...
如果部署了软件定义CPE,运营商就可以通过软件升级方式来演进其集客接入网。在非-SDN 阶段,CPE被配置成传统的PTN或IP RAN设备。需要SDN的时候,就将CPE升级成支持OpenFlow 的设备。在未来,还可以将其继续升级成...
Java 下 简单 实现 tr069 协议,包含了RPCMethod相关大部分协议,例如:GetRpcMethods、GetRpcMethodsResponse、AddObject.java、AddObjectResponse.java、DeleteObject.java、Download.java、FactoryReset.java、...
总之,"Golabel_cohesive_CPE3_CPE3_ABAQUS_cohesive_"这一主题涉及到使用Abaqus的CPE3单元和内聚力模型来模拟接触问题。通过Python脚本Golabel_cohesive_CPE3.py,用户可以自定义并自动化这一过程,从而更精确地...
通过以上知识点,我们可以了解到ExcelMAX HDD CPE设备是一款综合了无线通信技术、QoS服务、网络安全和管理的多功能室外用户端产品,能够为用户提供稳定、可靠的数据、语音和视频服务。同时,该设备遵循国际标准,...
在IT网络部署中,网桥是一种重要...配置完成后,中心端和远端CPE将形成无线链路,提供可靠的无线网络连接。在整个配置过程中,确保遵循每一步的指示,并正确记录所有关键参数,以确保网络的稳定运行和日后的维护工作。
在兼容性方面,华为5G CPE支持5G NSA/SA两种模式,符合3GPP R15标准,并覆盖多个5G和4G频段,实现全网通。4G传输速率理论值最高可达1.6Gbps/150Mbps,而5G的理论峰值速率则分别达到2.33Gbps和1.25Gbps。不过,实际...
本人根据ISC2官方的CPE英文要求文档,翻译的中文版。文档适合ISC2的各种认证。由于本人英文水平欠佳,可能有不正确的地方,可以参考官方指南来看。 概述 CPE的一般要求 所需的CPE学分数目 专注 多个证书 延期的CPE ...
Software-Defined CPE Software-defined CPE is a new class of CPE device demanded by carriers for their SDN deployments due to its inherent support of: • Forwarding functions such as L2 switching, MPLS...
### MAX232CPE 芯片资料详解 #### 一、概述 MAX232CPE 是 MAX220–MAX249 家族中的一个成员,该家族涵盖了多种线路驱动器/接收器产品,适用于 EIA/TIA-232E 和 V.28/V.24 通信接口。特别地,这些器件被设计用于在 ...
CPE产品的升级流程通过OTA技术实现,不仅可以简化升级过程,还能有效降低用户的流量消耗。通过合理的规划和实施,CPE升级不仅能提高系统的稳定性和安全性,还能持续增加新的功能,为用户提供更好的体验。未来,随着...
TD-LTE MiFi&CPE 终端测试规范 本文档主要介绍 TD-LTE MiFi&CPE 终端测试规范,旨在验证 TD-LTE MiFi&CPE 终端的性能和兼容性。测试规范涵盖了测试环境、测试网络配置、终端要求、测试其他约定等方面。 一、测试...
在无线网络技术领域,CPE(Customer Premises Equipment)通常指的是位于用户端的设备,如无线路由器、无线网桥或这种室外AP,它们是连接用户到ISP(Internet Service Provider)网络的关键组件。CPE870 9341设计...