openacs官方网站上关于如何使用的脚本比较简单,现在我把14个已经测试通过的脚本贴在下面,供有缘同行分享。

如有使用上的问题,可以发邮件xgmlovebee@126.com,共同讨论。现在已经把开发CPE TR69所需要的所有功能都测试一遍,不再需要花钱的ACS server。

openacs的设置
1    CPE的设置
        http://192.168.1.86:8080/openacs/acs
       https://192.168.1.86:8443/openacs/acs

2    openacs
的设置
        1)  访问http://192.168.1.86:8080/openacs/index.jsf  或者  https://192.168.1.86:8443/openacs/index.jsf
        2) 
在"find CPE"页面,选择Hardware的型号,输入inform里SerialNumber,即可进行查询
        3) 在查询页面"config"里可以进行用户名和密码设置,默认是没有的
        4) 在"Configuration scripts"-->"Default"里输入要操作的脚本,点击保存
        5) 在"find CPE"页面,选择型号输入serial number查询后,在显示的查询页面里点击"Connection request URL: "即可



openacs使用脚本

1    目前OpenAcs默认使用Default的脚本进行测试,暂不支持别的名称的脚本

2    重启脚本
        cpe.Reboot("commandKey");

3   
恢复出厂设置脚本
        cpe.FactoryReset();

4    CPE
支持的方法GetRPCMethods
    // this will output supported methods to server console
    var methods = cpe.GetRPCMethods();
    for (i = 0; i < methods.length; i++) {
           logger ('Method:'+methods[i]);
    }

5   
得到参数名称GetParameterNames
    var names = cpe.GetParameterNames ('.', true);
    for (i = 0; i < names.length; i++) {
            cpe.log (names[i].name+ ' -> '+names[i].writable);
    }

6    得到参数的值GetParameterValues
    var parameters = new Array ();
    parameters[0] ='InternetGatewayDevice.DeviceInfo.X_CT-COM_TeleComAccount.';

    //xgm add for CT test
    //parameters[0] ='InternetGatewayDevice.DeviceInfo.X_CT-COM_TeleComAccount.';
    var response = cpe.GetParameterValues (parameters);
    logger (response[0].name+'='+response[0].value);

    注意:这里parameters参数最后的小数点问题,不是叶子节点,要加"."

7    设置参数的值
    var parameters = new Array ();
    parameters[0] = {name:'InternetGatewayDevice.IPPingDiagnostics.Host', value: '192.168.0.1'};
    // Encode parameter using default type xsd:string
    parameters[1] = {name:'InternetGatewayDevice.IPPingDiagnostics.NumberOfRepetitions', value: '2'};
    // set encoding type
    parameters[2] = {name:'InternetGatewayDevice.IPPingDiagnostics.NumberOfRepetitions', value: '2',type: 'xsd:unsignedInt'};

    //xgm add for CT test
    parameters[0] = {name:'InternetGatewayDevice.DeviceInfo.X_CT-COM_TeleComAccount.Enable', value: '0'};
    parameters[1] = {name: 'InternetGatewayDevice.DeviceInfo.X_CT-COM_TeleComAccount.UserName',value: 'xgmtest'};
    parameters[2] = {name:'InternetGatewayDevice.DeviceInfo.X_CT-COM_TeleComAccount.Password', value:'hahapassword'};
    cpe.SetParameterValues (parameters, "commandKey");

8   
软件升级
        1)首先,服务器上要建立升级文件的目录,具体见"settings"-->"Firmware directory"
        2)
然后通过网页上传升级文件,具体见"Hardware models"-->"具体CPE型号" -->"Firmware"-->"Create"
        3) 设置CPE是否升级软件,具体见"Device profile"-->"Default"-->"添加具体CPE对应的升级版本"
        4)等待periodevent time后,即可看到升级过程


     备注:img具体地址在http://192.168.1.86:8080/openacs/firmware/3.12L.02  ------------->测试OK
    可在"Configuration scripts"里写升级脚本。可以自定义控制升级。
        logger("FIRWARE UPGRADE STARTING");
        var response = cpe.Download("daCommand", "1 Firmware Upgrade Image","http://192.168.1.86:8080/openacs/firmware/2.img","", "", 1841146,"2.img");
        logger ("FIRWARE UPGRADEst="+response.StartTime+" ct="+CompleteTime+"status="+response.Status);
        logger ("FIRWARE UPGRADEDONE");

           
        

9   
增加节点AddOject------------测试OK
        cpe.AddObject('InternetGatewayDevice.WANDevice.2.WANConnectionDevice.1.WANIPConnection.12.PortMapping.','');
        cpe.AddObject('InternetGatewayDevice.WANDevice.2.WANConnectionDevice.1.WANIPConnection.','');

    

10   下载配置文件-------------测试OK
        var response = cpe.Download("daCommand", "3 Vendor ConfigurationFile","http://192.168.1.86:8080/openacs/firmware/test.conf","", "",000,"test.conf");
        logger("st="+response.StartTime+" ct="+CompleteTime+" status="+response.Status);

11   
上传配置文件------------测试OK
        var response =cpe.Upload("daCommand", "3 Vendor ConfigurationFile","http://192.168.1.86:8080/openacs/", "","",000,"upload.conf");
        logger("st="+response.StartTime+" ct="+CompleteTime+" status="+response.Status);

       
注意:CPE上上传的流程完全正确,使用PUT方法,将文件发送成功,并且有上传成功的消息发出。
             但JBoss里不知道上传的文件放在哪里,暂不管,因为我们只做CPE的功能,ACS那边出错不管。
        
12   
上传日志文件------------测试OK
        var response =cpe.Upload("daCommand", "2 Vendor Log File","http://192.168.1.86:8080/openacs/","", "",000,"upload.log");
        logger("st="+response.StartTime+" ct="+CompleteTime+"status="+response.Status);


        //In TR069 also define
        //    1 FirmwareUpgrade Image
        //    2 Web Content
        //    3 VendorConfiguration File
        //    4 Vendor LogFile
        

       
注意:CPE上上传的流程完全正确,使用PUT方法,将文件发送成功,并且有上传成功的消息发出。
             但JBoss里不知道上传的文件放在哪里,暂不管,因为我们只做CPE的功能,ACS那边不管。

13   get attribute测试-----------------测试OK
        var parameters = new Array ();
        parameters[0] ='InternetGatewayDevice.ManagementServer.ConnectionRequestURL';

        var response =cpe.GetParameterAttributes(parameters);
        logger(response[0].name+'='+response[0].value);
        
14   set attribute
测试----------------测试OK
        var parameters = new Array();
        parameters[0]=new Object;
       parameters[0].Name='InternetGatewayDevice.ManagementServer.ConnectionRequestURL';
        //here: 0-->notificationoff;  1-->Passive notification;    2-->activenotification
        parameters[0].Notification=0;
       parameters[0].NotificationChange=true;
        parameters[0].AccessListChange=true;
        parameters[0].AccessList= new Array();
       parameters[0].AccessList[0]='subscriber';
        cpe.SetParameterAttributes(parameters);

15   Delete Object
测试-------------测试OK
       cpe.DeleteObject('InternetGatewayDevice.WANDevice.2.WANConnectionDevice.1.WANIPConnection.12.PortMapping.2.','');

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐