天天看點

fishcorecpe與openacs對接測試報告

 最近使用fishcorecpe和openacs做了一次對接測試,用以學習了解TR069,在此期間感謝fishcorecpe作者木魚的幫助,在此表示感謝,以下分享一下小弟的測試過程,給後來者一點學習資料.

1. openacs使用的是vmware的版本,進行過更新,直接啟動虛拟機,openacs就已經運作. 使用sh taillog就可以觀看log

2. fishcorecpe使用的是fishcorecpe-v1.0.1-build20120531-01.tar.gz這個版本,解壓,修改 fishcore.conf以符合自己的openacs的配置,如果openacs是預設沒有做修改的話隻要修改fishcorecpe中的 fishcore.conf中的acsurl就可以了以下是我的fishcore.conf檔案,隻有一條語句

http://10.0.10.130:8080/openacs/acs

3.實際測試的結果如下:

GetRPCMethods                OK

Download                    OK

Reboot                        OK

SetParameterValues            OK

GetParameterValues             OK

GetParameterNames            OK

SetParameterAttributes        OK

GetParameterAttributes        OK

AddObject                    OK

DeleteObject                    OK

SetVouchers

GetOptions

Upload                        OK

FactoryReset                OK

4. 使用的測試腳本如下:

SetParameterValues

var parameters = new Array ();

parameters[0] = {name: 'InternetGatewayDevice.ManagementServer.PeriodicInformInterval', value: '160', type: 'xsd:unsignedInt'};

cpe.SetParameterValues (parameters, "MyCommandKey");

GetParameterValues

var parameters = new Array ();

parameters[0] = 'InternetGatewayDevice.ManagementServer.PeriodicInformInterval';

var response = cpe.GetParameterValues (parameters);

logger (response[0].name+'='+response[0].value);

Reboot

cpe.Reboot("commandKey");

FactoryReset

cpe.FactoryReset ();

//GetRPCMethods  

// this will output supported methods to server console

var methods = cpe.GetRPCMethods ();

for (i = 0; i < methods.length; i++) {

      logger ('Method: '+methods );

}

GetParameterNames

var names = cpe.GetParameterNames ('.', true);

for (i = 0; i < names.length; i++) {

cpe.log (names.name + ' -> '+names.writable);

}

Upload

var response = cpe.Upload("daCommand", "2 Vendor Log File","http://10.0.10.130:8080/openacs/", "", "",000,"upload.log");

logger ("st="+response.StartTime+" status="+response.Status);

SetParameterAttributes

var parameters = new Array();

parameters[0]=new Object;

parameters[0].Name='InternetGatewayDevice.ManagementServer.ConnectionRequestURL';

here: 0-->notification off; 1-->Passive notification; 2-->active notification

parameters[0].Notification=2;

parameters[0].NotificationChange=true;

parameters[0].AccessListChange=true;

parameters[0].AccessList= new Array ();

parameters[0].AccessList[0]='subscriber';

cpe.SetParameterAttributes (parameters);

GetParameterAttributes

var parameters = new Array ();

parameters[0] = 'InternetGatewayDevice.ManagementServer.ConnectionRequestURL';

var response = cpe.GetParameterAttributes(parameters);

logger ('mars test for GetParameterAttributes' +response[0].name+'='+response[0].value);

AddObject

cpe.AddObject ('InternetGatewayDevice.DeviceInfo.X_CT-COM_DHCPOPTION60.', 'heiheihei');

DeleteObject

cpe.DeleteObject('InternetGatewayDevice.DeviceInfo.X_CT-COM_DHCPOPTION60.1', 'heiheihei');

Download

logger ("FIRWARE UPGRADE STARTING");

var response = cpe.Download ("daCommand", "1 Firmware Upgrade Image","http://10.0.10.130:8080/openacs/firmware/2.bin", "", "", 6,"2.bin");

logger ("FIRWARE UPGRADE st="+response.StartTime+" ct="+CompleteTime+" status="+response.Status);

logger ("FIRWARE UPGRADE st="+response.StartTime+" status="+response.Status);

logger ("FIRWARE UPGRADE DONE");

5. 測試過程中需要注意的地方,1.addobject方法,需要注意不是所有節點都支援add和delete方法, 隻有協定規定的才可以,是以測試報錯的時候請換其他節點試試,上述提到的js是可以行的.2, delete需要指定删除的節點要帶上object編号.3. download時如果是firmware需要指定檔案的字尾名為bin才可以正确運作(BIN和bin是必須的擴充名).

繼續閱讀