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是必須的擴展名).

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章