You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Scope

                       The scope of this work is to explain webconfig feature validation procedure through RDKM Webconfig UI(http://webconfig.rdkcentral.com:9008/) for RPI Reference Platform .

Target Audience  

  • RDK-B Operators
  • RDK-B SoC Vendors
  • RDK-B OEM's
  • RDK-B Application Vendors
  • RDK-B System Integrators 

 High level Code Flow Design

WebConfig Client Arch Design 

 

RDK Telemetry Overview via webconfig

           

Supported device  

  • Raspberry Pi4 32 bit
  • Raspberry Pi4 64 bit

Build Instructions

TargetYocto versionBuild instruction
RPI4 32bitDunfell RPI 4B Model Reference Platform
RPI4 32bitKirkstonekirkstone RDK-B RPI4 32 bit
RPI4 64bitDunfellRPI 4B Model Reference Platform with 64bit Arch
RPI4 64bitKirkstoneKirkstone RDK-B RPI4 64 bit (Both User Space & Kernel Space)

TR-181 Data Model Parameters

ModuleTR-181 DM ParameterPurpose / Inputs





       


        WebConfig


dmcli eRT getv Device.X_RDK_WebConfig.RfcEnableenabled webconfig
dmcli eRT getv Device.X_RDK_WebConfig.URL

By default this DM is empty.

It Should have webconfig server url with CPE MAC Address

dmcli eRT setv Device.X_RDK_WebConfig.URL string http://webconfig.rdkcentral.com:9007/api/v1/device/<CPE MAC>/config

replace CPE MAC and set URL

for ex: http://webconfig.rdkcentral.com:9007/api/v1/device/aabbccddeeff/config

dmcli eRT getv Device.X_RDK_WebConfig.URLverify URL set or not
dmcli eRT getv Device.X_RDK_WebConfig.ForceSync

Value "root" for ForceSync DM  - to sync all the values from webconfig server to CPE devices.

Value "telemetry" for ForceSync DM - to sync telemetryprofile data's

dmcli eRT getv Device.X_RDK_WebConfig.SupplementaryServiceUrls.Telemetry

By default this DM is empty.

It Should have webconfig server url with CPE MAC Address

dmcli eRT setv Device.X_RDK_WebConfig.SupplementaryServiceUrls.Telemetry string http://webconfig.rdkcentral.com:9007/api/v1/device/<CPE MAC>/config

replace CPE MAC and set URL .This is used for telemetry feature.

for ex: http://webconfig.rdkcentral.com:9007/api/v1/device/aabbccddeeff/config

dmcli eRT setv Device.X_RDK_WebConfig.SupplementaryServiceUrls.Telemetry string NULL 

Disabling WebConfig telemetry  Supplementary Services

Webconfig Settings

webconfig settings - dmcli
root@RaspberryPi-Gateway:/# dmcli eRT getv Device.X_RDK_WebConfig.
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(webconfig): Device.X_RDK_WebConfig.
Execution succeed.
Parameter    1 name: Device.X_RDK_WebConfig.RfcEnable
               type:       bool,    value: true 
Parameter    2 name: Device.X_RDK_WebConfig.Data
               type:     string,    value: gap3ZWJjZmdibG9im4akbmFtZaRyb290p3ZlcnNpb24ApnN0YXR1c6dzdWNjZXNzrWVycm9yX2RldGFpbHOkbm9uZaplcnJvcl9jb2RlAKtyb290X3N0cmluZ6tOT05FLVJFQk9PVIWkbmFtZatwcml2YXRlc3NpZKd2ZXJzaW9uzv5dpD6mc3RhdHVzp3N1Y2Nlc3OtZXJyb3JfZGV0YWlsc6Rub25lqmVycm9yX2NvZGUAhaRuYW1lo2xhbqd2ZXJzaW9uzkuHg16mc3RhdHVzp3N1Y2Nlc3OtZXJyb3JfZGV0YWlsc6Rub25lqmVycm9yX2NvZGUAhaRuYW1lrnBvcnRmb3J3YXJkaW5np3ZlcnNpb27OxnMW3qZzdGF0dXOnc3VjY2Vzc61lcnJvcl9kZXRhaWxzpG5vbmWqZXJyb3JfY29kZQCFpG5hbWWjd2Fup3ZlcnNpb27OTyI8haZzdGF0dXOnc3VjY2Vzc61lcnJvcl9kZXRhaWxzpG5vbmWqZXJyb3JfY29kZQCFpG5hbWWqbWFjYmluZGluZ6d2ZXJzaW9uzgmGS4Omc3RhdHVzp3N1Y2Nlc3OtZXJyb3JfZGV0YWlsc6Rub25lqmVycm9yX2NvZGUAhaRuYW1lpHJvb3SndmVyc2lvbs6Wrga+pnN0YXR1c6dwZW5kaW5nrWVycm9yX2RldGFpbHOkbm9uZaplcnJvcl9jb2RlAIWkbmFtZaJ7fad2ZXJzaW9uzruiYNmmc3RhdHVzp3BlbmRpbmetZXJyb3JfZGV0YWlsc6Rub25lqmVycm9yX2NvZGUAhaRuYW1loTCndmVyc2lvbs57OQe8pnN0YXR1c6dwZW5kaW5nrWVycm9yX2RldGFpbHOkbm9uZaplcnJvcl9jb2RlAIWkbmFtZaRudWxsp3ZlcnNpb27OZpl76KZzdGF0dXOncGVuZGluZ61lcnJvcl9kZXRhaWxzpG5vbmWqZXJyb3JfY29kZQCFpG5hbWWvcHJpdmF0ZV9zc2lkXzJnp3ZlcnNpb27OUfANdaZzdGF0dXOncGVuZGluZ61lcnJvcl9kZXRhaWxzpG5vbmWqZXJyb3JfY29kZQA= 
Parameter    3 name: Device.X_RDK_WebConfig.SupportedDocs
               type:     string,    value: 16777247,33554435,50331649,67108865,83886081,100663297,117440513,134217729,201326594,218103809 
Parameter    4 name: Device.X_RDK_WebConfig.SupportedSchemaVersion
               type:     string,    value:  
Parameter    5 name: Device.X_RDK_WebConfig.webcfgSubdocForceReset
               type:     string,    value:  
Parameter    6 name: Device.X_RDK_WebConfig.URL
               type:     string,    value: http://webconfig.rdkcentral.com:9007/api/v1/device/D83ADD3C5CC3/config 
Parameter    7 name: Device.X_RDK_WebConfig.ForceSync
               type:     string,    value:  
Parameter    8 name: Device.X_RDK_WebConfig.SupplementaryServiceUrls.Telemetry
               type:     string,    value:  http://webconfig.rdkcentral.com:9007/api/v1/device/D83ADD3C5CC3/config 


Test Procedure and Results

 OneWiFi  validation

For privatessid subdoc

  1. Enter the below info in RDKM WebConfig UI

subdoc_name : privatessid

subdoc_data : 

privatessid_blob_schema
{

   "private_ssid_2g":{

      "SSID":"Test_webconfig_2g",

      "Enable":true,

      "SSIDAdvertisementEnabled":true

   },

   "private_security_2g":{

      "EncryptionMethod":"AES",

      "ModeEnabled":"WPA2-Personal",

      "Passphrase":"webconfig_2g"

   },

   "private_ssid_5g":{

      "SSID":"Test_webconfig_5g",

      "Enable":true,

      "SSIDAdvertisementEnabled":true

   },

   "private_security_5g":{

      "EncryptionMethod":"AES",

      "ModeEnabled":"WPA2-Personal",

      "Passphrase":"webconfig_5g"

   }

}


TR-181 DM : Device.WiFi.Private

MAC : CPE_MAC (Ex : d83add3c5cc3)

2.  In CPE , trigger the below command,

root@RaspberryPi-Gateway:/rdklogs/logs# dmcli eRT setv Device.X_RDK_WebConfig.ForceSync string root
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
setv from/to component(webconfig): Device.X_RDK_WebConfig.ForceSync
Execution succeed.

3. Using dmcli to check the wifi DM parameters 

wifi-dmcli
root@RaspberryPi-Gateway:/# dmcli eRT getv Device.WiFi.SSID.1.SSID
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.wifi): Device.WiFi.SSID.1.SSID
Execution succeed.
Parameter    1 name: Device.WiFi.SSID.1.SSID
               type:     string,    value: Test_webconfig_2g 

root@RaspberryPi-Gateway:/# dmcli eRT getv Device.WiFi.SSID.2.SSID
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.wifi): Device.WiFi.SSID.2.SSID
Execution succeed.
Parameter    1 name: Device.WiFi.SSID.2.SSID
               type:     string,    value: Test_webconfig_5g 

root@RaspberryPi-Gateway:/# dmcli eRT getv Device.WiFi.AccessPoint.1.Security.KeyPassphrase
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.wifi): Device.WiFi.AccessPoint.1.Security.KeyPassphrase
Execution succeed.
Parameter    1 name: Device.WiFi.AccessPoint.1.Security.KeyPassphrase
               type:     string,    value: webconfig_2g 

root@RaspberryPi-Gateway:/# dmcli eRT getv Device.WiFi.AccessPoint.2.Security.KeyPassphrase
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.wifi): Device.WiFi.AccessPoint.2.Security.KeyPassphrase
Execution succeed.
Parameter    1 name: Device.WiFi.AccessPoint.2.Security.KeyPassphrase
               type:     string,    value: webconfig_5g 



root@RaspberryPi-Gateway:/# iw wlan0 info
Interface wlan0
	ifindex 16
	wdev 0x1
	addr d8:3a:dd:3c:5c:c5
	ssid Test_webconfig_2g
	type AP
	wiphy 0
	channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
	txpower 31.00 dBm
root@RaspberryPi-Gateway:/# 
root@RaspberryPi-Gateway:/# iw wlan1 info
Interface wlan1
	ifindex 17
	wdev 0x100000001
	addr d0:37:45:f2:3c:b9
	ssid Test_webconfig_5g
	type AP
	wiphy 1
	txpower 23.00 dBm


4. Success Logs

webconfig success logs
240425-08:17:40.189970 [mod=WEBCONFIG, lvl=INFO] [tid=4376] WEBCONFIG: doc privatessid is updated to version 289218514 status pending error_details none error_code 0 trans_id 0 temp->retry_count 0
240425-08:17:40.190537 [mod=WEBCONFIG, lvl=INFO] [tid=4376] WEBCONFIG: subdoc_name: privatessid, version: 289218514, transaction_id: 25012
240425-08:17:40.190669 [mod=WEBCONFIG, lvl=INFO] [tid=4376] WEBCONFIG: doc privatessid is updated to version 289218514 status pending error_details none error_code 0 trans_id 25012 temp->retry_count 0
240425-08:17:40.190736 [mod=WEBCONFIG, lvl=INFO] [tid=4376] WEBCONFIG: Request:> param[0].name = Device.WiFi.Private, type = 5
240425-08:17:40.195397 [mod=WEBCONFIG, lvl=INFO] [tid=2909] WEBCONFIG: Received msg privatessid,25012,289218514,ACK,90 from topic webconfigSignal
240425-08:17:40.195501 [mod=WEBCONFIG, lvl=INFO] [tid=2909] WEBCONFIG: Received webconfig event signal Info privatessid,25012,289218514,ACK,90
240425-08:17:40.195649 [mod=WEBCONFIG, lvl=INFO] [tid=4381] WEBCONFIG: TIMEOUT EVENT: privatessid,25012,289218514,ACK,90 (doc apply need time)
240425-08:17:40.195731 [mod=WEBCONFIG, lvl=INFO] [tid=4381] WEBCONFIG: doc apply need time, start timer.
240425-08:17:40.195799 [mod=WEBCONFIG, lvl=INFO] [tid=4381] WEBCONFIG: Timer list is empty
240425-08:17:40.195921 [mod=WEBCONFIG, lvl=INFO] [tid=4381] WEBCONFIG: new_node->subdoc_name privatessid new_node->txid 25012 new_node->timeout 90 status 1 added to list
240425-08:17:40.195984 [mod=WEBCONFIG, lvl=INFO] [tid=4381] WEBCONFIG: startWebcfgTimer success
240425-08:17:40.196150 [mod=WEBCONFIG, lvl=INFO] [tid=4377] WEBCONFIG: dest is event:subdoc-report/privatessid/mac:d83add3c5cc3/ack
240425-08:17:40.196231 [mod=WEBCONFIG, lvl=INFO] [tid=4377] WEBCONFIG: stringifiedNotifyPayload is {"device_id":"mac:d83add3c5cc3","namespace":"privatessid","application_status":"pending","timeout":90,"transaction_uuid":"c64bb03a-d4d0-4f30-9cfc-53bc18fd367b","version":"289218514"}
240425-08:17:40.196421 [mod=WEBCONFIG, lvl=INFO] [tid=4377] WEBCONFIG: Notification successfully sent to Webconfig.Upstream
240425-08:17:40.197419 [mod=WEBCONFIG, lvl=INFO] [tid=4376] WEBCONFIG: The ret status for rbus_setMulti is 0
240425-08:17:40.197505 [mod=WEBCONFIG, lvl=INFO] [tid=4376] WEBCONFIG: ccspRetStatus is 100 240425-08:17:40.227876 [mod=WEBCONFIG, lvl=INFO] [tid=4376] WEBCONFIG: Request:> param[0].name = Device.WiFi.Private, type = 5
240425-08:17:40.228193 [mod=WEBCONFIG, lvl=INFO] [tid=2909] WEBCONFIG: Received msg privatessid,25012,289218514,ACK,0 from topic webconfigSignal
240425-08:17:40.228284 [mod=WEBCONFIG, lvl=INFO] [tid=2909] WEBCONFIG: Received webconfig event signal Info privatessid,25012,289218514,ACK,0
240425-08:17:40.228459 [mod=WEBCONFIG, lvl=INFO] [tid=4381] WEBCONFIG: ACK EVENT: privatessid,25012,289218514,ACK,0 (doc apply success)
240425-08:17:40.228526 [mod=WEBCONFIG, lvl=INFO] [tid=4381] WEBCONFIG: doc apply success, proceed to add to DB
 

onewifi success logs
[OneWifi] 240425-08:17:40.192834<D>  get_private_vap Rbus property=Device.WiFi.Private
[OneWifi] 240425-08:17:40.192987<D>  get_private_vap Rbus set string len=500, str: 
h69wcml2YXRlX3NzaWRfMmeDpFNTSUSsVGVzdF9zc2lkXzJnpkVuYWJsZcO4U1NJREFkdmVydGlzZW1lbnRFbmFibGVkw7Nwcml2YXRlX3NlY3VyaXR5XzJng7BFbmNyeXB0aW9uTWV0aG9ko0FFU6tNb2RlRW5hYmxlZK1XUEEyLVBlcnNvbmFsqlBhc3NwaHJhc2Wqa2VlcnRodV8yZ69wcml2YXRlX3NzaWRfNWeDpFNTSUSsVGVzdF9zc2lkXzVnpkVuYWJsZcO4U1NJREFkdmVydGlzZW1lbnRFbmFibGVkw7Nwcml2YXRlX3NlY3VyaXR5XzVng7BFbmNyeXB0aW9uTWV0aG9ko0FFU6tNb2RlRW5hYmxlZK1XUEEyLVBlcnNvbmFsqlBhc3NwaHJhc2Wqa2VlcnRodV81Z6tzdWJkb2NfbmFtZatwcml2YXRlc3NpZKd2ZXJzaW9uzhE9H9KudHJhbnNhY3Rpb25faWTNYbQ=
[OneWifi] 240425-08:17:40.193695<D>  webconf_ver_txn, ver: 289218514, txn: 25012
[OneWifi] 240425-08:17:40.196355<I>  webconf_process_private_vap:3626: PushBlobRequest Complete
[OneWifi] 240425-08:17:40.201515<D>  get_private_vap Rbus property=Device.WiFi.Private
[OneWifi] 240425-08:17:40.201709<D>  get_private_vap Rbus set string len=500, str: 
hKRudWxshK9wcml2YXRlX3NzaWRfMmeDpFNTSUSsVGVzdF9zc2lkXzJnpkVuYWJsZcO4U1NJREFkdmVydGlzZW1lbnRFbmFibGVkw7Nwcml2YXRlX3NlY3VyaXR5XzJng7BFbmNyeXB0aW9uTWV0aG9ko0FFU6tNb2RlRW5hYmxlZK1XUEEyLVBlcnNvbmFsqlBhc3NwaHJhc2Wqa2VlcnRodV8yZ69wcml2YXRlX3NzaWRfNWeDpFNTSUSsVGVzdF9zc2lkXzVnpkVuYWJsZcO4U1NJREFkdmVydGlzZW1lbnRFbmFibGVkw7Nwcml2YXRlX3NlY3VyaXR5XzVng7BFbmNyeXB0aW9uTWV0aG9ko0FFU6tNb2RlRW5hYmxlZK1XUEEyLVBlcnNvbmFsqlBhc3NwaHJhc2Wqa2VlcnRodV81Z6tzdWJkb2NfbmFtZaRudWxsp3ZlcnNpb27OZpl76K50cmFuc2FjdGlvbl9pZM3Ohg==
[OneWifi] 240425-08:17:40.202491<D>  webconf_ver_txn, ver: 1721334760, txn: 52870
[OneWifi] 240425-08:17:40.205145<I>  webconf_process_private_vap:3626: PushBlobRequest Complete
[OneWifi] 240425-08:17:40.208965<D>  get_private_vap Rbus property=Device.WiFi.Private
[OneWifi] 240425-08:17:40.209109<D>  get_private_vap Rbus set string len=528, str: 
hK9wcml2YXRlX3NzaWRfMmeEr3ByaXZhdGVfc3NpZF8yZ4OkU1NJRKxUZXN0X3NzaWRfMmemRW5hYmxlw7hTU0lEQWR2ZXJ0aXNlbWVudEVuYWJsZWTDs3ByaXZhdGVfc2VjdXJpdHlfMmeDsEVuY3J5cHRpb25NZXRob2SjQUVTq01vZGVFbmFibGVkrVdQQTItUGVyc29uYWyqUGFzc3BocmFzZaprZWVydGh1XzJnr3ByaXZhdGVfc3NpZF81Z4OkU1NJRKxUZXN0X3NzaWRfNWemRW5hYmxlw7hTU0lEQWR2ZXJ0aXNlbWVudEVuYWJsZWTDs3ByaXZhdGVfc2VjdXJpdHlfNWeDsEVuY3J5cHRpb25NZXRob2SjQUVTq01vZGVFbmFibGVkrVdQQTItUGVyc29uYWyqUGFzc3BocmFzZaprZWVydGh1XzVnq3N1YmRvY19uYW1lr3ByaXZhdGVfc3NpZF8yZ6d2ZXJzaW9uzlHwDXWudHJhbnNhY3Rpb25faWTN0Fc=
[OneWifi] 240425-08:17:40.213704<D>  webconf_ver_txn, ver: 1374686581, txn: 53335
[OneWifi] 240425-08:17:40.216356<I>  webconf_process_private_vap:3626: PushBlobRequest Complete
[OneWifi] 240425-08:17:40.219317<D>  update_vap_info: parsing private_ssid_2g and private_security_2g blob
[OneWifi] 240425-08:17:40.219477<I>  SSID blob:
[OneWifi] 240425-08:17:40.219595<I>     "SSID": Test_ssid_2g
[OneWifi] 240425-08:17:40.219710<I>  Enter validate_private_home_ssid_param and ssid_name=Test_ssid_2g
[OneWifi] 240425-08:17:40.219822<I>  validate_private_home_ssid_param: ssidparam validation passed 
[OneWifi] 240425-08:17:40.219936<I>     "Enable": true
[OneWifi] 240425-08:17:40.220048<I>     "SSIDAdvertisementEnabled": true
[OneWifi] 240425-08:17:40.220156<I>  Security blob:
[OneWifi] 240425-08:17:40.220268<I>     "Passphrase": <Masked>
[OneWifi] 240425-08:17:40.220384<I>     "EncryptionMethod": AES
[OneWifi] 240425-08:17:40.220495<I>     "ModeEnabled": WPA2-Personal
[OneWifi] 240425-08:17:40.220605<I>  Enter validate_private_home_security_param mode_enabled=WPA2-Personal,encryption_method=AES
[OneWifi] 240425-08:17:40.220724<I>  validate_private_home_security_param: securityparam validation passed 
[OneWifi] 240425-08:17:40.220884<D>  update_vap_info: parsing private_ssid_5g and private_security_5g blob
[OneWifi] 240425-08:17:40.221012<D>  get_private_vap Rbus property=Device.WiFi.Private
[OneWifi] 240425-08:17:40.221068<I>  SSID blob:
[OneWifi] 240425-08:17:40.221143<D>  get_private_vap Rbus set string len=492, str: 
hKJ7fYSvcHJpdmF0ZV9zc2lkXzJng6RTU0lErFRlc3Rfc3NpZF8yZ6ZFbmFibGXDuFNTSURBZHZlcnRpc2VtZW50RW5hYmxlZMOzcHJpdmF0ZV9zZWN1cml0eV8yZ4OwRW5jcnlwdGlvbk1ldGhvZKNBRVOrTW9kZUVuYWJsZWStV1BBMi1QZXJzb25hbKpQYXNzcGhyYXNlqmtlZXJ0aHVfMmevcHJpdmF0ZV9zc2lkXzVng6RTU0lErFRlc3Rfc3NpZF81Z6ZFbmFibGXDuFNTSURBZHZlcnRpc2VtZW50RW5hYmxlZMOzcHJpdmF0ZV9zZWN1cml0eV81Z4OwRW5jcnlwdGlvbk1ldGhvZKNBRVOrTW9kZUVuYWJsZWStV1BBMi1QZXJzb25hbKpQYXNzcGhyYXNlqmtlZXJ0aHVfNWerc3ViZG9jX25hbWWie32ndmVyc2lvbs67omDZrnRyYW5zYWN0aW9uX2lkzUUV
[OneWifi] 240425-08:17:40.221185<I>     "SSID": Test_ssid_5g
[OneWifi] 240425-08:17:40.221296<I>  Enter validate_private_home_ssid_param and ssid_name=Test_ssid_5g
[OneWifi] 240425-08:17:40.221408<I>  validate_private_home_ssid_param: ssidparam validation passed 
[OneWifi] 240425-08:17:40.221527<I>     "Enable": true
[OneWifi] 240425-08:17:40.221638<I>     "SSIDAdvertisementEnabled": true
[OneWifi] 240425-08:17:40.221746<I>  Security blob:
[OneWifi] 240425-08:17:40.221854<I>     "Passphrase": <Masked>
[OneWifi] 240425-08:17:40.221894<D>  webconf_ver_txn, ver: 3147981017, txn: 17685
[OneWifi] 240425-08:17:40.221972<I>     "EncryptionMethod": AES
[OneWifi] 240425-08:17:40.222085<I>     "ModeEnabled": WPA2-Personal
[OneWifi] 240425-08:17:40.222194<I>  Enter validate_private_home_security_param mode_enabled=WPA2-Personal,encryption_method=AES
[OneWifi] 240425-08:17:40.222312<I>  validate_private_home_security_param: securityparam validation passed 
[OneWifi] 240425-08:17:40.225390<I>  webconf_process_private_vap:3626: PushBlobRequest Complete
[OneWifi] 240425-08:17:40.225397<I>  CONFIG_WIFI=0 is_factory_reset_done=-1 fun captive_portal_check 
[OneWifi] 240425-08:17:40.225591<I>  FactoryReset is not done and captive portal customization already done fun captive_portal_check return
[OneWifi] 240425-08:17:40.225819<D>  push_blob_data:3367: Encoded blob:
{
    "Version":    "1.0",
    "SubDocName":    "private",
    "WifiVapConfig":    [{
            "VapName":    "private_ssid_2g",
            "BridgeName":    "brlan0",
            "RepurposedVapName":    "",
            "RadioIndex":    0,
            "VapMode":    0,
            "Exists":    true,
            "SSID":    "Test_ssid_2g",
            "BSSID":    "d8:3a:dd:3c:5c:c5",
            "Enabled":    true,
            "SSIDAdvertisementEnabled":    true,
            "IsolationEnable":    false,
            "ManagementFramePowerControl":    0,
            "BssMaxNumSta":    75,
            "BSSTransitionActivated":    false,
            "NeighborReportActivated":    false,
            "NetworkGreyList":    false,
            "RapidReconnCountEnable":    true,
            "RapidReconnThreshold":    180,
            "VapStatsEnable":    true,
            "MacFilterEnable":    false,
            "MacFilterMode":    0,
            "WmmEnabled":    true,
            "UapsdEnabled":    true,
            "BeaconRate":    16,
            "WmmNoAck":    0,
            "WepKeyLength":    128,
            "BssHotspot":    false,
            "WpsPushButton":    0,
            "WpsEnable":    true,
            "WpsConfigMethodsEnabled":    128,
            "BeaconRateCtl":    "6Mbps",
            "Connected_building_enabled":    false,
            "Security":    {
                "Mode":    "WPA2-Personal",
                "MFPConfig":    "Disabled",
                "EncryptionMethod":    "AES",
                "Wpa3_transition_disable":    false,
                "Passphrase":    "keerthu_2g",
                "KeyId":    "",
                "RekeyInterval":    0
            },
            "Interworking":    {
                "InterworkingEnable":    false,
                "AccessNetworkType":    0,
                "Internet":    false,
                "ASRA":    false,
                "ESR":    false,
                "UESA":    false,
                "HESSOptionPresent":    true,
                "HESSID":    "11:22:33:44:55:66",
                "Venue":    {
                    "VenueType":    0,
                    "VenueGroup":    0
                }
            }
        }, {
            "VapName":    "private_ssid_5g",
            "BridgeName":    "brlan0",
            "RepurposedVapName":    "",
            "RadioIndex":    1,
            "VapMode":    0,
            "Exists":    true,
            "SSID":    "Test_ssid_5g",
            "BSSID":    "d0:37:45:f2:3c:b9",
            "Enabled":    true,
            "SSIDAdvertisementEnabled":    true,
            "IsolationEnable":    false,
            "ManagementFramePowerControl":    0,
            "BssMaxNumSta":    75,
            "BSSTransitionActivated":    false,
            "NeighborReportActivated":    false,
            "NetworkGreyList":    false,
            "RapidReconnCountEnable":    true,
            "RapidReconnThreshold":    180,
            "VapStatsEnable":    true,
            "MacFilterEnable":    false,
            "MacFilterMode":    0,
            "WmmEnabled":    true,
            "UapsdEnabled":    true,
            "BeaconRate":    16,
            "WmmNoAck":    0,
            "WepKeyLength":    128,
            "BssHotspot":    false,
            "WpsPushButton":    0,
            "WpsEnable":    true,
            "WpsConfigMethodsEnabled":    128,
            "BeaconRateCtl":    "6Mbps",
            "Connected_building_enabled":    false,
            "Security":    {
                "Mode":    "WPA2-Personal",
                "MFPConfig":    "Disabled",
                "EncryptionMethod":    "AES",
                "Wpa3_transition_disable":    false,
                "Passphrase":    "keerthu_5g",
                "KeyId":    "",
                "RekeyInterval":    0
            },
            "Interworking":    {
                "InterworkingEnable":    false,
                "AccessNetworkType":    0,
                "Internet":    false,
                "ASRA":    false,
                "ESR":    false,
                "UESA":    false,
                "HESSOptionPresent":    true,
                "HESSID":    "11:22:33:44:55:66",
                "Venue":    {
                    "VenueType":    0,
                    "VenueGroup":    0
                }
            }
        }]
}
[OneWifi] 240425-08:17:40.229165<D>  webconf_free_resources: Enter
[OneWifi] 240425-08:17:40.232357<D>  webconfig_hal_vap_apply_by_name:1235: Found vap map source and target for vap name: private_ssid_2g
[OneWifi] 240425-08:17:40.232458<D>  webconfig_hal_vap_apply_by_name:1247: Comparing VAP [private_ssid_2g] with [private_ssid_2g]. 
[OneWifi] 240425-08:17:40.232563<D>  is_vap_param_config_changed:Changed param old->u.bss_info.ssid: [rdkm-ssid-4] -> [Test_ssid_2g].
[OneWifi] 240425-08:17:40.232690<I>  webconfig_hal_vap_apply_by_name:1251: Change detected in received vap config, applying new configuration for vap: private_ssid_2g
[OneWifi] 240425-08:17:40.232787<D>  vap_param_config_changed_event_logging:Changed param old->u.bss_info.ssid: [rdkm-ssid-4] -> [Test_ssid_2g].
[OneWifi] 240425-08:17:40.234212<D>  get_private_vap Rbus property=Device.WiFi.Private
[OneWifi] 240425-08:17:40.234323<D>  get_private_vap Rbus set string len=492, str: 
hKEwhK9wcml2YXRlX3NzaWRfMmeDpFNTSUSsVGVzdF9zc2lkXzJnpkVuYWJsZcO4U1NJREFkdmVydGlzZW1lbnRFbmFibGVkw7Nwcml2YXRlX3NlY3VyaXR5XzJng7BFbmNyeXB0aW9uTWV0aG9ko0FFU6tNb2RlRW5hYmxlZK1XUEEyLVBlcnNvbmFsqlBhc3NwaHJhc2Wqa2VlcnRodV8yZ69wcml2YXRlX3NzaWRfNWeDpFNTSUSsVGVzdF9zc2lkXzVnpkVuYWJsZcO4U1NJREFkdmVydGlzZW1lbnRFbmFibGVkw7Nwcml2YXRlX3NlY3VyaXR5XzVng7BFbmNyeXB0aW9uTWV0aG9ko0FFU6tNb2RlRW5hYmxlZK1XUEEyLVBlcnNvbmFsqlBhc3NwaHJhc2Wqa2VlcnRodV81Z6tzdWJkb2NfbmFtZaEwp3ZlcnNpb27OezkHvK50cmFuc2FjdGlvbl9pZM3f4w==
[OneWifi] 240425-08:17:40.236132<D>  webconf_ver_txn, ver: 2067335100, txn: 57315
[OneWifi] 240425-08:17:40.238546<I>  webconf_process_private_vap:3626: PushBlobRequest Complete

PAM Validation

For Lan subdoc

  1. Enter the below info in WebConfig UI

subdoc_name : lan

subdoc_data :

lan_blob_schema
{
"DhcpServerEnable": "True",
"LanIPAddress": "10.0.0.1",
"LanSubnetMask": "255.255.255.0",
"DhcpStartIPAddress": "10.0.0.8",
"DhcpEndIPAddress": "10.0.0.240",
"LeaseTime": 7200
 }

TR-181 DM : Device.DHCPv4.Server.Lan

MAC : CPE_MAC (Ex : d83add3c5cc3)

2. In CPE , trigger the ForceSync as "root"

3. Using dmcli to check the DM 

lan-dmcli
root@RaspberryPi-Gateway:/# dmcli eRT getv Device.DHCPv4.Server.Pool.1.MinAddress
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.pam): Device.DHCPv4.Server.Pool.1.MinAddress
Execution succeed.
Parameter    1 name: Device.DHCPv4.Server.Pool.1.MinAddress
               type:     string,    value: 10.0.0.8 

root@RaspberryPi-Gateway:/# dmcli eRT getv Device.DHCPv4.Server.Pool.1.LeaseTime
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.pam): Device.DHCPv4.Server.Pool.1.LeaseTime
Execution succeed.
Parameter    1 name: Device.DHCPv4.Server.Pool.1.LeaseTime
               type:        int,    value: 7200 

root@RaspberryPi-Gateway:/# dmcli eRT getv Device.DHCPv4.Server.Pool.1.MaxAddress
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.pam): Device.DHCPv4.Server.Pool.1.MaxAddress
Execution succeed.
Parameter    1 name: Device.DHCPv4.Server.Pool.1.MaxAddress
               type:     string,    value: 10.0.0.240 


4. Success Logs

webconfig success logs
240423-06:06:16.534327 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: doc lan is updated to version 627376240 status pending error_details none error_code 0 trans_id 0 temp->retry_count 0
240423-06:06:16.534921 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: subdoc_name: lan, version: 627376240, transaction_id: 8517
240423-06:06:16.535035 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: doc lan is updated to version 627376240 status pending error_details none error_code 0 trans_id 8517 temp->retry_count 0
240423-06:06:16.535104 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: Request:> param[0].name = Device.DHCPv4.Server.Lan, type = 5
240423-06:06:16.538867 [mod=WEBCONFIG, lvl=INFO] [tid=2793] WEBCONFIG: Received msg lan,8517,627376240,ACK,13 from topic webconfigSignal
240423-06:06:16.538964 [mod=WEBCONFIG, lvl=INFO] [tid=2793] WEBCONFIG: Received webconfig event signal Info lan,8517,627376240,ACK,13
240423-06:06:16.539538 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: TIMEOUT EVENT: lan,8517,627376240,ACK,13 (doc apply need time)
240423-06:06:16.539607 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: doc apply need time, start timer.
240423-06:06:16.539665 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: Timer list is empty
240423-06:06:16.539725 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: new_node->subdoc_name lan new_node->txid 8517 new_node->timeout 13 status 1 added to list
240423-06:06:16.539780 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: startWebcfgTimer success
240423-06:06:16.540403 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: dest is event:subdoc-report/lan/mac:d83add3c5cc3/ack
240423-06:06:16.540489 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: stringifiedNotifyPayload is {"device_id":"mac:d83add3c5cc3","namespace":"lan","application_status":"pending","timeout":13,"transaction_uuid":"bc673958-91ea-4b7b-b068-1c7d9252417f","version":"627376240"}
240423-06:06:16.540695 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: Notification successfully sent to Webconfig.Upstream
240423-06:06:16.540700 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: The ret status for rbus_setMulti is 0
240423-06:06:16.541295 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: ccspRetStatus is 100
240423-06:06:16.541364 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: setValues success. ccspStatus : 100

PAM logs
240423-06:06:16.537008 [mod=PAM, lvl=WARN] [tid=1463] base64 decoded data contains 194 bytes
240423-06:06:16.537072 [mod=PAM, lvl=WARN] [tid=1463] Base64 decode Elapsed time : 0 ms
240423-06:06:16.537135 [mod=PAM, lvl=WARN] [tid=1463] MSGPACK_UNPACK_SUCCESS :2
240423-06:06:16.537222 [mod=PAM, lvl=WARN] [tid=1463] pLanInfo->entries_count is 1
240423-06:06:16.537279 [mod=PAM, lvl=WARN] [tid=1463] pLanInfo->subdoc_name is lan
240423-06:06:16.537335 [mod=PAM, lvl=WARN] [tid=1463] pLanInfo->version is 627376240
240423-06:06:16.537391 [mod=PAM, lvl=WARN] [tid=1463] pLanInfo->transaction_id is 8517
240423-06:06:16.537446 [mod=PAM, lvl=WARN] [tid=1463] Lan configuration received
240423-06:06:16.537508 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest : subdoc_name lan , txid 8517, version 627376240 , entries 1
240423-06:06:16.537581 [mod=PAM, lvl=INFO] [tid=1463] Inside FUNC checkNewVersionUpdateRequired LINE 1244 
240423-06:06:16.537645 [mod=PAM, lvl=INFO] [tid=1463] checkIfVersionExecInQueue : Queue Empty
240423-06:06:16.537707 [mod=PAM, lvl=INFO] [tid=1463] New version available , prcessing new Blob request
240423-06:06:16.537785 [mod=PAM, lvl=INFO] [tid=1463] calculateTimeout is NULL , using default timeout routine
240423-06:06:16.537843 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest timeout received from calcTimeout is 13
240423-06:06:16.537902 [mod=PAM, lvl=INFO] [tid=1463] getPendingQueueTimeout : Queue Empty
240423-06:06:16.537962 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest : Send received request ACK , timeout is 13
240423-06:06:16.538023 [mod=PAM, lvl=INFO] [tid=1463] send_ACK : doc name lan , doc version 627376240, txid is 8517  timeout is 13
240423-06:06:16.538083 [mod=PAM, lvl=INFO] [tid=1463] isWebCfgRbusEnabled: rbus enabled is 1 
240423-06:06:16.538139 [mod=PAM, lvl=INFO] [tid=1463] sendWebConfigSignal : rbus_set :: event_name : webconfigSignal :: 
240423-06:06:16.539767 [mod=PAM, lvl=WARN] [tid=1463] PushBlobRequest complete
240423-06:06:16.539854 [mod=PAM, lvl=WARN] [tid=1463] Before committing:Device.DHCPv4.Server.
240423-06:06:16.539979 [mod=PAM, lvl=WARN] [tid=1463] After committing:Device.DHCPv4.Server.:0
240423-06:06:16.540003 [mod=PAM, lvl=INFO] [tid=1716] Received event
240423-06:06:16.540284 [mod=PAM, lvl=INFO] [tid=24223] Inside FUNC execute_request LINE 854 
240423-06:06:16.544687 [mod=PAM, lvl=WARN] [tid=24223]  Dhcpv4_Reset_Cache done 
240423-06:06:16.544767 [mod=PAM, lvl=WARN] [tid=24223] CheckIpIsValid:IpAddressReceivedIs:10.0.0.1
240423-06:06:16.544829 [mod=PAM, lvl=WARN] [tid=24223] CheckIpIsValid:IpAddressReceivedIs:10.0.0.8
240423-06:06:16.544887 [mod=PAM, lvl=WARN] [tid=24223] CheckIpIsValid:IpAddressReceivedIs:10.0.0.240
240423-06:06:16.544952 [mod=PAM, lvl=WARN] [tid=24223] Dhcpv4_Lan_Ip_IsInPrivate_Blocked_AddrRange:addr:a000001
240423-06:06:16.545015 [mod=PAM, lvl=WARN] [tid=24223]  Entering Dhcpv4_Lan_BackupFromDb 
240423-06:06:16.551077 [mod=PAM, lvl=WARN] [tid=24223]  Dhcpv4_Cache_ApplyAllToDb line.no 328 numOfParam 6
240423-06:06:16.556649 [mod=PAM, lvl=WARN] [tid=24223]  Dhcpv4_Cache_ApplyAllToDb line.no 344 Success 
240423-06:06:16.557618 [mod=PAM, lvl=NOTICE] [tid=24223] CosaDmlDhcpsGetPool: ulIndex = 0
240423-06:06:16.559081 [mod=PAM, lvl=WARN] [tid=24223] Process_Lan_WebConfigRequest: setting lan-restart
240423-06:06:16.573772 [mod=PAM, lvl=WARN] [tid=1463] CosaNTPInitJournal : Partner = RDKM 
240423-06:06:16.577499 [mod=PAM, lvl=WARN] [tid=1463] CosaNTPInitJournal : Partner = RDKM 
240423-06:06:16.635650 [mod=PAM, lvl=INFO] [tid=1716] messageQueueProcessing : Execution success , sending completed ACK
240423-06:06:16.640807 [mod=PAM, lvl=INFO] [tid=1716] send_ACK : doc name lan , doc version 627376240, txid is 8517  timeout is 0
240423-06:06:16.640906 [mod=PAM, lvl=INFO] [tid=1716] isWebCfgRbusEnabled: rbus enabled is 1 
240423-06:06:16.640956 [mod=PAM, lvl=INFO] [tid=1716] sendWebConfigSignal : rbus_set :: event_name : webconfigSignal :: 
240423-06:06:16.646741 [mod=PAM, lvl=WARN] [tid=1716]  Entering FreeResources_Lan 

For DMZ subdoc

  1. Enter the below info in WebConfig UI

subdoc_name: wan

subdoc_data : 

dmz_blob_schema
{

"Enable" : true, 

"InternalIP" : "10.0.0.17"

}   


TR-181 DM : Device.NAT.X_CISCO_COM_DMZ.Data

MAC : CPE_MAC (Ex : d83add3c5cc3)

2. In CPE , trigger root as ForceSync

3. Using dmcli to check the DM,

dmz-dmcli
root@RaspberryPi-Gateway:/usr/www2# dmcli eRT getv Device.NAT.X_CISCO_COM_DMZ.Enable
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.pam): Device.NAT.X_CISCO_COM_DMZ.Enable
Execution succeed.
Parameter    1 name: Device.NAT.X_CISCO_COM_DMZ.Enable
               type:       bool,    value: true

root@RaspberryPi-Gateway:/usr/www2# dmcli eRT getv Device.NAT.X_CISCO_COM_DMZ.InternalIP
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.pam): Device.NAT.X_CISCO_COM_DMZ.InternalIP
Execution succeed.
Parameter    1 name: Device.NAT.X_CISCO_COM_DMZ.InternalIP
               type:     string,    value: 10.0.0.17 


4. Success Logs

webconfig logs
240423-06:14:24.589883 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: doc wan is updated to version 3808881139 status pending error_details none error_code 0 trans_id 0 temp->retry_count 0
240423-06:14:24.590358 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: subdoc_name: wan, version: 3808881139, transaction_id: 5016
240423-06:14:24.590448 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: doc wan is updated to version 3808881139 status pending error_details none error_code 0 trans_id 5016 temp->retry_count 0
240423-06:14:24.590494 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: Request:> param[0].name = Device.NAT.X_CISCO_COM_DMZ.Data, type = 5
240423-06:14:24.593472 [mod=WEBCONFIG, lvl=INFO] [tid=2793] WEBCONFIG: Received msg wan,5016,3808881139,ACK,10 from topic webconfigSignal
240423-06:14:24.593540 [mod=WEBCONFIG, lvl=INFO] [tid=2793] WEBCONFIG: Received webconfig event signal Info wan,5016,3808881139,ACK,10
240423-06:14:24.593638 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: TIMEOUT EVENT: wan,5016,3808881139,ACK,10 (doc apply need time)
240423-06:14:24.593688 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: doc apply need time, start timer.
240423-06:14:24.593749 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: Timer list is empty
240423-06:14:24.593796 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: new_node->subdoc_name wan new_node->txid 5016 new_node->timeout 10 status 1 added to list
240423-06:14:24.593834 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: startWebcfgTimer success
240423-06:14:24.593973 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: dest is event:subdoc-report/wan/mac:d83add3c5cc3/ack
240423-06:14:24.594023 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: stringifiedNotifyPayload is {"device_id":"mac:d83add3c5cc3","namespace":"wan","application_status":"pending","timeout":10,"transaction_uuid":"ae7952f3-1886-47aa-9427-dfca584a1f2d","version":"3808881139"}
240423-06:14:24.594147 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: Notification successfully sent to Webconfig.Upstream
240423-06:14:24.595800 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: The ret status for rbus_setMulti is 0
240423-06:14:24.595864 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: ccspRetStatus is 100
240423-06:14:24.595912 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: setValues success. ccspStatus : 100

PAM logs
240423-06:14:24.592125 [mod=PAM, lvl=WARN] [tid=1463] base64 decoded data contains 82 bytes
240423-06:14:24.592168 [mod=PAM, lvl=WARN] [tid=1463] Base64 decode Elapsed time : 0 ms
240423-06:14:24.592212 [mod=PAM, lvl=WARN] [tid=1463] MSGPACK_UNPACK_SUCCESS :2
240423-06:14:24.592259 [mod=PAM, lvl=WARN] [tid=1463] rpm->subdoc_name is wan
240423-06:14:24.592300 [mod=PAM, lvl=WARN] [tid=1463] rpm->version is 3808881139
240423-06:14:24.592339 [mod=PAM, lvl=WARN] [tid=1463] rpm->transaction_id is 5016
240423-06:14:24.592377 [mod=PAM, lvl=WARN] [tid=1463] DMZ/wan  configuration received
240423-06:14:24.592421 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest : subdoc_name wan , txid 5016, version 3808881139 , entries 0
240423-06:14:24.592462 [mod=PAM, lvl=INFO] [tid=1463] Inside FUNC checkNewVersionUpdateRequired LINE 1244 
240423-06:14:24.592519 [mod=PAM, lvl=INFO] [tid=1463] checkIfVersionExecInQueue : Queue Empty
240423-06:14:24.592559 [mod=PAM, lvl=INFO] [tid=1463] New version available , prcessing new Blob request
240423-06:14:24.592616 [mod=PAM, lvl=INFO] [tid=1463] calculateTimeout is NULL , using default timeout routine
240423-06:14:24.592657 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest timeout received from calcTimeout is 10
240423-06:14:24.592696 [mod=PAM, lvl=INFO] [tid=1463] getPendingQueueTimeout : Queue Empty
240423-06:14:24.592738 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest : Send received request ACK , timeout is 10
240423-06:14:24.592780 [mod=PAM, lvl=INFO] [tid=1463] send_ACK : doc name wan , doc version 3808881139, txid is 5016  timeout is 10
240423-06:14:24.592825 [mod=PAM, lvl=INFO] [tid=1463] isWebCfgRbusEnabled: rbus enabled is 1 
240423-06:14:24.592867 [mod=PAM, lvl=INFO] [tid=1463] sendWebConfigSignal : rbus_set :: event_name : webconfigSignal :: 
240423-06:14:24.594806 [mod=PAM, lvl=WARN] [tid=1463] PushBlobRequest complete
240423-06:14:24.594940 [mod=PAM, lvl=WARN] [tid=1463] Before committing:Device.NAT.X_CISCO_COM_DMZ.
240423-06:14:24.595028 [mod=PAM, lvl=WARN] [tid=1463] !!!!!! in X_CISCO_COM_DMZ_Commit pDmz->InternalIP: 0.0.0.0 !!!!!!
240423-06:14:24.595118 [mod=PAM, lvl=INFO] [tid=1716] Received event
240423-06:14:24.595157 [mod=PAM, lvl=WARN] [tid=1463] After committing:Device.NAT.X_CISCO_COM_DMZ.:0
240423-06:14:24.595385 [mod=PAM, lvl=INFO] [tid=32256] Inside FUNC execute_request LINE 854 
240423-06:14:24.595454 [mod=PAM, lvl=WARN] [tid=32256] DMZ configurartion recieved!!!!!!
240423-06:14:24.595508 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache backup [0].cmd - dmz_enabled
240423-06:14:24.595551 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache backup [0].val - 
240423-06:14:24.595604 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache backup [1].cmd - dmz_dst_ip_addr
240423-06:14:24.595646 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache backup [1].val - 
240423-06:14:24.607573 [mod=PAM, lvl=INFO] [tid=32256] CheckIfIpIsValid:IpAddressReceivedIs:10.0.0.17
240423-06:14:24.608313 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache apply to DB [0].cmd - dmz_enabled
240423-06:14:24.608395 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache apply to DB [0].val - 1
240423-06:14:24.608448 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache apply to DB [1].cmd - dmz_dst_ip_addr
240423-06:14:24.608490 [mod=PAM, lvl=WARN] [tid=32256] dmz_cache apply to DB [1].val - 10.0.0.17
240423-06:14:24.613281 [mod=PAM, lvl=WARN] [tid=32256] DMZ configurartion applied!!!!!!!!
240423-06:14:24.613371 [mod=PAM, lvl=NOTICE] [tid=32256] DMZ_split:Feature Switch DMZ 1
240423-06:14:24.618447 [mod=PAM, lvl=WARN] [tid=1463] CosaNTPInitJournal : Partner = RDKM 
240423-06:14:24.628410 [mod=PAM, lvl=WARN] [tid=1463] CosaNTPInitJournal : Partner = RDKM 
240423-06:14:24.649677 [mod=PAM, lvl=WARN] [tid=32256] DMZ configurartion applied to DML layer!!!!!!!!
240423-06:14:24.649780 [mod=PAM, lvl=WARN] [tid=32256] rpm->param[0].Enable true
240423-06:14:24.649826 [mod=PAM, lvl=WARN] [tid=32256] rpm->entries[0].internal_ip 10.0.0.17
240423-06:14:24.650282 [mod=PAM, lvl=INFO] [tid=1716] messageQueueProcessing : Execution success , sending completed ACK
240423-06:14:24.655732 [mod=PAM, lvl=INFO] [tid=1716] send_ACK : doc name wan , doc version 3808881139, txid is 5016  timeout is 0
240423-06:14:24.655818 [mod=PAM, lvl=INFO] [tid=1716] isWebCfgRbusEnabled: rbus enabled is 1 
240423-06:14:24.655866 [mod=PAM, lvl=INFO] [tid=1716] sendWebConfigSignal : rbus_set :: event_name : webconfigSignal :: 
240423-06:14:24.667342 [mod=PAM, lvl=INFO] [tid=1716]  Entering freeResources_dmz 

For PortMapping subdoc

  1. Enter the below info in WebConfig UI

subdoc_name : port_forwarding

subdoc_data :

PM_blob_schema
[

{

"InternalClient": "10.0.0.111",

"ExternalPortEndRange": "23",

"Enable": "true",

"Protocol": "TCP/UDP",

"Description": "telnet",

"ExternalPort": "23"

},

{

"InternalClient": "10.0.0.112",

"ExternalPortEndRange": "25",

"Enable": "true",

"Protocol": "TCP/UDP",

"Description": "mail",

"ExternalPort": "25"

},

{

"InternalClient": "10.0.0.102",

"ExternalPortEndRange": "443",

"Enable": "true",

"Protocol": "TCP/UDP",

"Description": "https",

"ExternalPort": "443"

}

]


TR-181 DM : Device.NAT.X_RDK_PortMapping.Data

MAC : CPE_MAC (Ex : d83add3c5cc3)

2. In CPE, trigger ForceSync as root

3. Using dmcli to check the DM

dmcli-PM
root@RaspberryPi-Gateway:~# dmcli eRT getv Device.NAT.                               
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(eRT.com.cisco.spvtg.ccsp.pam): Device.NAT.
Execution succeed.
Parameter    1 name: Device.NAT.X_CISCO_COM_TCPTimeout
               type:       uint,    value: 0 
Parameter    2 name: Device.NAT.X_CISCO_COM_UDPTimeout
               type:       uint,    value: 0 
Parameter    3 name: Device.NAT.X_CISCO_COM_ICMPTimeout
               type:       uint,    value: 0 
Parameter    4 name: Device.NAT.X_Comcast_com_EnablePortMapping
               type:       bool,    value: true 
Parameter    5 name: Device.NAT.X_Comcast_com_EnableHSPortMapping
               type:       bool,    value: true 
Parameter    6 name: Device.NAT.X_Comcast_com_EnableNATMapping
               type:       bool,    value: false 
Parameter    7 name: Device.NAT.PortMappingNumberOfEntries
               type:       uint,    value: 3 
Parameter    8 name: Device.NAT.X_CISCO_COM_DMZ.Enable
               type:       bool,    value: false 
Parameter    9 name: Device.NAT.X_CISCO_COM_DMZ.RemoteIPStart
               type:     string,    value:  
Parameter   10 name: Device.NAT.X_CISCO_COM_DMZ.RemoteIPEnd
               type:     string,    value:  
Parameter   11 name: Device.NAT.X_CISCO_COM_DMZ.InternalIP
               type:     string,    value: 0.0.0.0 
Parameter   12 name: Device.NAT.X_CISCO_COM_DMZ.InternalMAC
               type:     string,    value:  
Parameter   13 name: Device.NAT.X_CISCO_COM_DMZ.IPv6Host
               type:     string,    value:  
Parameter   14 name: Device.NAT.X_CISCO_COM_DMZ.Data
               type:     string,    value:  
Parameter   15 name: Device.NAT.PortMapping.1.Enable
               type:       bool,    value: true 
Parameter   16 name: Device.NAT.PortMapping.1.Status
               type:     string,    value: Enabled 
Parameter   17 name: Device.NAT.PortMapping.1.Alias
               type:     string,    value:  
Parameter   18 name: Device.NAT.PortMapping.1.AllInterfaces
               type:       bool,    value: true 
Parameter   19 name: Device.NAT.PortMapping.1.LeaseDuration
               type:       uint,    value: 0 
Parameter   20 name: Device.NAT.PortMapping.1.ExternalPort
               type:       uint,    value: 23 
Parameter   21 name: Device.NAT.PortMapping.1.ExternalPortEndRange
               type:       uint,    value: 23 
Parameter   22 name: Device.NAT.PortMapping.1.InternalPort
               type:       uint,    value: 0 
Parameter   23 name: Device.NAT.PortMapping.1.Protocol
               type:     string,    value: BOTH 
Parameter   24 name: Device.NAT.PortMapping.1.InternalClient
               type:     string,    value: 10.0.0.111 
Parameter   25 name: Device.NAT.PortMapping.1.RemoteHost
               type:     string,    value: 0.0.0.0 
Parameter   26 name: Device.NAT.PortMapping.1.X_Comcast_com_PublicIP
               type:     string,    value: 0.0.0.0 
Parameter   27 name: Device.NAT.PortMapping.1.Description
               type:     string,    value: telnet 
Parameter   28 name: Device.NAT.PortMapping.1.Interface
               type:     string,    value:  
Parameter   29 name: Device.NAT.PortMapping.1.X_CISCO_COM_InternalClientV6
               type:     string,    value: x 
Parameter   30 name: Device.NAT.PortMapping.2.Enable
               type:       bool,    value: true 
Parameter   31 name: Device.NAT.PortMapping.2.Status
               type:     string,    value: Enabled 
Parameter   32 name: Device.NAT.PortMapping.2.Alias
               type:     string,    value:  
Parameter   33 name: Device.NAT.PortMapping.2.AllInterfaces
               type:       bool,    value: true 
Parameter   34 name: Device.NAT.PortMapping.2.LeaseDuration
               type:       uint,    value: 0 
Parameter   35 name: Device.NAT.PortMapping.2.ExternalPort
               type:       uint,    value: 25 
Parameter   36 name: Device.NAT.PortMapping.2.ExternalPortEndRange
               type:       uint,    value: 25 
Parameter   37 name: Device.NAT.PortMapping.2.InternalPort
               type:       uint,    value: 0 
Parameter   38 name: Device.NAT.PortMapping.2.Protocol
               type:     string,    value: BOTH 
Parameter   39 name: Device.NAT.PortMapping.2.InternalClient
               type:     string,    value: 10.0.0.112 
Parameter   40 name: Device.NAT.PortMapping.2.RemoteHost
               type:     string,    value: 0.0.0.0 
Parameter   41 name: Device.NAT.PortMapping.2.X_Comcast_com_PublicIP
               type:     string,    value: 0.0.0.0 
Parameter   42 name: Device.NAT.PortMapping.2.Description
               type:     string,    value: mail 
Parameter   43 name: Device.NAT.PortMapping.2.Interface
               type:     string,    value:  
Parameter   44 name: Device.NAT.PortMapping.2.X_CISCO_COM_InternalClientV6
               type:     string,    value: x 
Parameter   45 name: Device.NAT.PortMapping.3.Enable
               type:       bool,    value: true 
Parameter   46 name: Device.NAT.PortMapping.3.Status
               type:     string,    value: Enabled 
Parameter   47 name: Device.NAT.PortMapping.3.Alias
               type:     string,    value:  
Parameter   48 name: Device.NAT.PortMapping.3.AllInterfaces
               type:       bool,    value: true 
Parameter   49 name: Device.NAT.PortMapping.3.LeaseDuration
               type:       uint,    value: 0 
Parameter   50 name: Device.NAT.PortMapping.3.ExternalPort
               type:       uint,    value: 443 
Parameter   51 name: Device.NAT.PortMapping.3.ExternalPortEndRange
               type:       uint,    value: 443 
Parameter   52 name: Device.NAT.PortMapping.3.InternalPort
               type:       uint,    value: 0 
Parameter   53 name: Device.NAT.PortMapping.3.Protocol
               type:     string,    value: BOTH 
Parameter   54 name: Device.NAT.PortMapping.3.InternalClient
               type:     string,    value: 10.0.0.102 
Parameter   55 name: Device.NAT.PortMapping.3.RemoteHost
               type:     string,    value: 0.0.0.0 
Parameter   56 name: Device.NAT.PortMapping.3.X_Comcast_com_PublicIP
               type:     string,    value: 0.0.0.0 
Parameter   57 name: Device.NAT.PortMapping.3.Description
               type:     string,    value: https 
Parameter   58 name: Device.NAT.PortMapping.3.Interface
               type:     string,    value:  
Parameter   59 name: Device.NAT.PortMapping.3.X_CISCO_COM_InternalClientV6
               type:     string,    value: x 
Parameter   60 name: Device.NAT.X_RDK_PortMapping.Data
               type:     string,    value:  
Parameter   61 name: Device.NAT.X_CISCO_COM_PortTriggers.Enable
               type:       bool,    value: false 
Parameter   62 name: Device.NAT.X_CISCO_COM_PortTriggers.TriggerNumberOfEntries
               type:       uint,    value: 0 



4. Success Logs

weconfig logs
240423-06:29:55.135135 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: doc portforwarding is updated to version 3329431262 status pending error_details none error_code 0 trans_id 0 temp->retry_count 0
240423-06:29:55.135651 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: subdoc_name: portforwarding, version: 3329431262, transaction_id: 63776
240423-06:29:55.135754 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: doc portforwarding is updated to version 3329431262 status pending error_details none error_code 0 trans_id 63776 temp->retry_count 0
240423-06:29:55.135811 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: Request:> param[0].name = Device.NAT.X_RDK_PortMapping.Data, type = 5
240423-06:29:55.139435 [mod=WEBCONFIG, lvl=INFO] [tid=2793] WEBCONFIG: Received msg portforwarding,63776,3329431262,ACK,19 from topic webconfigSignal
240423-06:29:55.139522 [mod=WEBCONFIG, lvl=INFO] [tid=2793] WEBCONFIG: Received webconfig event signal Info portforwarding,63776,3329431262,ACK,19
240423-06:29:55.139694 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: TIMEOUT EVENT: portforwarding,63776,3329431262,ACK,19 (doc apply need time)
240423-06:29:55.139765 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: doc apply need time, start timer.
240423-06:29:55.139840 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: Timer list is empty
240423-06:29:55.139912 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: new_node->subdoc_name portforwarding new_node->txid 63776 new_node->timeout 19 status 1 added to list
240423-06:29:55.139967 [mod=WEBCONFIG, lvl=INFO] [tid=3699] WEBCONFIG: startWebcfgTimer success
240423-06:29:55.140139 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: dest is event:subdoc-report/portforwarding/mac:d83add3c5cc3/ack
240423-06:29:55.140202 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: stringifiedNotifyPayload is {"device_id":"mac:d83add3c5cc3","namespace":"portforwarding","application_status":"pending","timeout":19,"transaction_uuid":"6acc5f86-542d-46fd-bcbe-f63b67fbce45","version":"3329431262"}
240423-06:29:55.140383 [mod=WEBCONFIG, lvl=INFO] [tid=3693] WEBCONFIG: Notification successfully sent to Webconfig.Upstream
240423-06:29:55.142148 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: The ret status for rbus_setMulti is 0
240423-06:29:55.142234 [mod=WEBCONFIG, lvl=INFO] [tid=3692] WEBCONFIG: ccspRetStatus is 100
PAM Logs
240423-06:29:55.137534 [mod=PAM, lvl=WARN] [tid=1463] base64 decoded data contains 419 bytes
240423-06:29:55.137628 [mod=PAM, lvl=WARN] [tid=1463] Base64 decode Elapsed time : 0 ms
240423-06:29:55.137694 [mod=PAM, lvl=WARN] [tid=1463] MSGPACK_UNPACK_SUCCESS :2
240423-06:29:55.137794 [mod=PAM, lvl=WARN] [tid=1463] rpm->entries_count is 3
240423-06:29:55.137853 [mod=PAM, lvl=WARN] [tid=1463] rpm->subdoc_name is portforwarding
240423-06:29:55.137910 [mod=PAM, lvl=WARN] [tid=1463] rpm->version is 3329431262
240423-06:29:55.137966 [mod=PAM, lvl=WARN] [tid=1463] rpm->transaction_id is 63776
240423-06:29:55.138021 [mod=PAM, lvl=WARN] [tid=1463] Portmap configuration received
240423-06:29:55.138083 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest : subdoc_name portforwarding , txid 63776, version 3329431262 , entries 3
240423-06:29:55.138142 [mod=PAM, lvl=INFO] [tid=1463] Inside FUNC checkNewVersionUpdateRequired LINE 1244 
240423-06:29:55.138253 [mod=PAM, lvl=INFO] [tid=1463] checkIfVersionExecInQueue : Queue Empty
240423-06:29:55.138311 [mod=PAM, lvl=INFO] [tid=1463] New version available , prcessing new Blob request
240423-06:29:55.138399 [mod=PAM, lvl=INFO] [tid=1463] calculateTimeout is NULL , using default timeout routine
240423-06:29:55.138459 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest timeout received from calcTimeout is 19
240423-06:29:55.138516 [mod=PAM, lvl=INFO] [tid=1463] getPendingQueueTimeout : Queue Empty
240423-06:29:55.138574 [mod=PAM, lvl=INFO] [tid=1463] PushBlobRequest : Send received request ACK , timeout is 19
240423-06:29:55.138633 [mod=PAM, lvl=INFO] [tid=1463] send_ACK : doc name portforwarding , doc version 3329431262, txid is 63776  timeout is 19
240423-06:29:55.138692 [mod=PAM, lvl=INFO] [tid=1463] isWebCfgRbusEnabled: rbus enabled is 1 
240423-06:29:55.138749 [mod=PAM, lvl=INFO] [tid=1463] sendWebConfigSignal : rbus_set :: event_name : webconfigSignal :: 
240423-06:29:55.140790 [mod=PAM, lvl=WARN] [tid=1463] PushBlobRequest complete
240423-06:29:55.140874 [mod=PAM, lvl=INFO] [tid=1716] Received event
240423-06:29:55.141283 [mod=PAM, lvl=INFO] [tid=15686] Inside FUNC execute_request LINE 854 
240423-06:29:55.141378 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries_count is 3
240423-06:29:55.141438 [mod=PAM, lvl=WARN] [tid=15686] Portmap configurartion recieved
240423-06:29:55.165710 [mod=PAM, lvl=WARN] [tid=1463] CosaNTPInitJournal : Partner = RDKM 
240423-06:29:55.170084 [mod=PAM, lvl=WARN] [tid=1463] CosaNTPInitJournal : Partner = RDKM 
240423-06:29:55.180459 [mod=PAM, lvl=INFO] [tid=15686] CheckIfIpIsValid:IpAddressReceivedIs:10.0.0.111
240423-06:29:55.180571 [mod=PAM, lvl=INFO] [tid=15686] CheckIfPortsAreValid:ExternalPortEndRangeReceivedIs:23
240423-06:29:55.180627 [mod=PAM, lvl=INFO] [tid=15686] CheckIfPortsAreValid:ExternalPortEndRangeReceivedIs:23
240423-06:29:55.180699 [mod=PAM, lvl=INFO] [tid=15686] CheckIfIpIsValid:IpAddressReceivedIs:10.0.0.112
240423-06:29:55.180748 [mod=PAM, lvl=INFO] [tid=15686] CheckIfPortsAreValid:ExternalPortEndRangeReceivedIs:25
240423-06:29:55.180793 [mod=PAM, lvl=INFO] [tid=15686] CheckIfPortsAreValid:ExternalPortEndRangeReceivedIs:25
240423-06:29:55.180875 [mod=PAM, lvl=INFO] [tid=15686] CheckIfIpIsValid:IpAddressReceivedIs:10.0.0.102
240423-06:29:55.180922 [mod=PAM, lvl=INFO] [tid=15686] CheckIfPortsAreValid:ExternalPortEndRangeReceivedIs:443
240423-06:29:55.180967 [mod=PAM, lvl=INFO] [tid=15686] CheckIfPortsAreValid:ExternalPortEndRangeReceivedIs:443
240423-06:29:55.219712 [mod=PAM, lvl=WARN] [tid=15686] Portmap configurartion applied
240423-06:29:55.219820 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[0].InternalClient 10.0.0.111
240423-06:29:55.219873 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[0].ExternalPortEndRange 23
240423-06:29:55.219922 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[0].Enable true
240423-06:29:55.219973 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[0].Protocol TCP/UDP
240423-06:29:55.220024 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[0].Description telnet
240423-06:29:55.220075 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[0].external_port 23
240423-06:29:55.220162 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[1].InternalClient 10.0.0.112
240423-06:29:55.220218 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[1].ExternalPortEndRange 25
240423-06:29:55.220265 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[1].Enable true
240423-06:29:55.220311 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[1].Protocol TCP/UDP
240423-06:29:55.220356 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[1].Description mail
240423-06:29:55.220401 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[1].external_port 25
240423-06:29:55.220443 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[2].InternalClient 10.0.0.102
240423-06:29:55.220492 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[2].ExternalPortEndRange 443
240423-06:29:55.220532 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[2].Enable true
240423-06:29:55.220572 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[2].Protocol TCP/UDP
240423-06:29:55.220611 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[2].Description https
240423-06:29:55.220650 [mod=PAM, lvl=WARN] [tid=15686] rpm->entries[2].external_port 443
240423-06:29:55.220749 [mod=PAM, lvl=INFO] [tid=1716] messageQueueProcessing : Execution success , sending completed ACK
240423-06:29:55.225331 [mod=PAM, lvl=INFO] [tid=1716] send_ACK : doc name portforwarding , doc version 3329431262, txid is 63776  timeout is 0
240423-06:29:55.225405 [mod=PAM, lvl=INFO] [tid=1716] isWebCfgRbusEnabled: rbus enabled is 1 
240423-06:29:55.225449 [mod=PAM, lvl=INFO] [tid=1716] sendWebConfigSignal : rbus_set :: event_name : webconfigSignal :: 
240423-06:29:55.227354 [mod=PAM, lvl=INFO] [tid=1716]  Entering freeResources_PortForwarding


Telemetry Multiprofiles Validation

  1.   please refer this link WebConfig, XConf & T2#CreatingaT2ReportProfileinXConf to create a T2 profiles in XCONF server
  2.   Please refer this link WebConfig, XConf & T2#CreatingaT2RuleinXConf to create a T2 rules in XCONF server
  3.  Ensure SupplementaryServiceUrls should be set properly like below

root@RaspberryPi-Gateway:~# dmcli eRT getv Device.X_RDK_WebConfig.SupplementaryServiceUrls.Telemetry
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
getv from/to component(webconfig): Device.X_RDK_WebConfig.SupplementaryServiceUrls.Telemetry
Execution succeed.
Parameter    1 name: Device.X_RDK_WebConfig.SupplementaryServiceUrls.Telemetry
               type:     string,    value: http://webconfig.rdkcentral.com:9007/api/v1/device/D83ADD3C5CC3/config 


                               

References

REFPLTB-1851 - Getting issue details... STATUS

WebConfig, XConf & T2

Webconfig Integration in RDKB RPI

RDKM Webconfig Server Setup







    
                 

                     

             


                       


                       

                  


                       


                         

                     

                            

                     




  • No labels