Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Xconf API

Firmware configuration - /xconf/swu/stb

IP address - It's not necessary to explicitly pass the IP address if this API is called from a device.  In fact, it's discouraged since XConf will use the source IP address in the http request.  If this API is called from another source (e.g. laptop), then the IP address of the device should be passed.  In any case, a non-routable IP address (e.g. 10.x, 192.168.x) should not be passed to XConf.  A non-routable IP address may be used in a warehouse.  When a request to XConf comes from the warehouse, the IP address is converted to a NAT address.

...

Code Block
languagephp
themeEclipse
{

    "input": {

        "estbMac": "CC:CC:CC:CC:CC:C2",

        "env": "ASDF",

        "model": "ASDF",

        "firmwareVersion": "1",

        "bypassFilters": [],

        "forceFilters": [],

        "capabilities": [],

        "timeZone": "UTC",

        "time": "10/18/2016 12:51:00",

        "ipAddress": "0:0:0:0:0:0:0:1",

        "rcdl": false,

        "rebootDecoupled": false,

        "supportsFullHttpUrl": false

    },

    "rule": {

        "type": "MAC_RULE",

        "name": "11111111111111",

        "noop": false

    },

    "filters": [

        {

            "type": "DownloadLocationRoundRobinFilter",

            "id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER",

            "name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

            "noop": true

        }

    ],

    "explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@23fe12cd[\r\n  estbMac=CC:CC:CC:CC:CC:C2\r\n  env=ASDF\r\n  model=ASDF\r\n  firmwareVersion=1\r\n  ecmMac=<null>\r\n  receiverId=<null>\r\n  controllerId=<null>\r\n  channelMapId=<null>\r\n  vodId=<null>\r\n  bypassFilters=[]\r\n  forceFilters=[]\r\n  capabilities=[]\r\n  timeZone=UTC\r\n  time=2016-10-18T12:51:00.000\r\n  ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE f0362812-1777-4109-8a81-7f8907566d07: 11111111111111\n received config: FirmwareConfig[\r\n  description=1\r\n  supportedModelIds=[1, ASDF]\r\n  firmwareDownloadProtocol=tftp\r\n  firmwareFilename=1\r\n  firmwareLocation=162.150.228.179\r\n  firmwareVersion=1\r\n  ipv6FirmwareLocation=2001:558:1020:1:250:56ff:fe94:646f\r\n  upgradeDelay=<null>\r\n  rebootImmediately=false\r\n  id=5d9579b2-21f1-45a4-925f-88ed28e75892]\n was blocked/modified by filter SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

    "config": {

        "firmwareDownloadProtocol": "tftp",

        "firmwareFilename": "1",

        "firmwareVersion": "1",

        "rebootImmediately": false,

        "firmwareLocation": "162.150.228.179",

        "ipv6FirmwareLocation": "2001:558:1020:1:250:56ff:fe94:646f"

    }
}

Change logs - /estbfirmware/changelogs

Request to get all change logs. 

...

Code Block
languagephp
themeEclipse
[

    {

        "input": {

            "estbMac": "CC:CC:CC:CC:CC:C2",

            "firmwareVersion": "asdf",

            "bypassFilters": [],

            "forceFilters": [],

            "capabilities": [],

            "timeZone": "UTC",

            "time": "12/16/2016 13:55:00",

            "ipAddress": "0:0:0:0:0:0:0:1",

            "rcdl": false,

            "rebootDecoupled": false,

            "supportsFullHttpUrl": false

        },

        "rule": {

            "type": "MAC_RULE",

            "name": "11111111111111",

            "noop": false

        },

        "filters": [

            {

                "type": "DownloadLocationRoundRobinFilter",

                "id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER",

                "name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

                "noop": true

            }

        ],

        "explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@4f733919[\r\n  estbMac=CC:CC:CC:CC:CC:C2\r\n  env=<null>\r\n  model=<null>\r\n  firmwareVersion=asdf\r\n  ecmMac=<null>\r\n  receiverId=<null>\r\n  controllerId=<null>\r\n  channelMapId=<null>\r\n  vodId=<null>\r\n  bypassFilters=[]\r\n  forceFilters=[]\r\n  capabilities=[]\r\n  timeZone=UTC\r\n  time=2016-12-16T13:55:00.000\r\n  ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE f0362812-1777-4109-8a81-7f8907566d07: 11111111111111\n received config: FirmwareConfig[\r\n  description=1\r\n  supportedModelIds=[1, ASDF]\r\n  firmwareDownloadProtocol=tftp\r\n  firmwareFilename=1.bin\r\n  firmwareLocation=162.150.228.179\r\n  firmwareVersion=1.bin\r\n  ipv6FirmwareLocation=<null>\r\n  upgradeDelay=<null>\r\n  rebootImmediately=false\r\n  id=5d9579b2-21f1-45a4-925f-88ed28e75892]\n was blocked/modified by filter SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

        "config": {

            "firmwareDownloadProtocol": "tftp",

            "firmwareFilename": "1.bin",

            "firmwareLocation": "162.150.228.179",

            "firmwareVersion": "1.bin",

            "rebootImmediately": false

        }

    },

    {

        "input": {

            "estbMac": "CC:CC:CC:CC:CC:C2",

            "firmwareVersion": "1",

            "bypassFilters": [],

            "forceFilters": [],

            "capabilities": [],

            "timeZone": "UTC",

            "time": "12/16/2016 13:55:00",

            "ipAddress": "0:0:0:0:0:0:0:1",

            "rcdl": false,

            "rebootDecoupled": false,

            "supportsFullHttpUrl": false

        },

        "rule": {

            "type": "MAC_RULE",

            "name": "11111111111111",

            "noop": false

        },

        "filters": [

            {

                "type": "DownloadLocationRoundRobinFilter",

                "id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER",

                "name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

                "noop": true

            }

        ],

        "explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@c277e2a[\r\n  estbMac=CC:CC:CC:CC:CC:C2\r\n  env=<null>\r\n  model=<null>\r\n  firmwareVersion=1\r\n  ecmMac=<null>\r\n  receiverId=<null>\r\n  controllerId=<null>\r\n  channelMapId=<null>\r\n  vodId=<null>\r\n  bypassFilters=[]\r\n  forceFilters=[]\r\n  capabilities=[]\r\n  timeZone=UTC\r\n  time=2016-12-16T13:55:00.000\r\n  ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE f0362812-1777-4109-8a81-7f8907566d07: 11111111111111\n received config: FirmwareConfig[\r\n  description=1\r\n  supportedModelIds=[1, ASDF]\r\n  firmwareDownloadProtocol=tftp\r\n  firmwareFilename=1.bin\r\n  firmwareLocation=162.150.228.179\r\n  firmwareVersion=1.bin\r\n  ipv6FirmwareLocation=<null>\r\n  upgradeDelay=<null>\r\n  rebootImmediately=false\r\n  id=5d9579b2-21f1-45a4-925f-88ed28e75892]\n was blocked/modified by filter SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

        "config": {

            "firmwareDownloadProtocol": "tftp",

            "firmwareFilename": "1.bin",

            "firmwareLocation": "162.150.228.179",

            "firmwareVersion": "1.bin",

            "rebootImmediately": false

        }

    },

    {

        "input": {

            "estbMac": "CC:CC:CC:CC:CC:C2",

            "firmwareVersion": "2",

            "bypassFilters": [],

            "forceFilters": [],

            "capabilities": [],

            "timeZone": "UTC",

            "time": "12/16/2016 13:53:00",

            "ipAddress": "0:0:0:0:0:0:0:1",

            "rcdl": false,

            "rebootDecoupled": false,

            "supportsFullHttpUrl": false

        },

        "rule": {

            "type": "MAC_RULE",

            "name": "11111111111111",

            "noop": false

        },

        "filters": [

            {

                "type": "DownloadLocationRoundRobinFilter",

                "id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER",

                "name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

                "noop": true

            }

        ],

        "explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@32c0d2ed[\r\n  estbMac=CC:CC:CC:CC:CC:C2\r\n  env=<null>\r\n  model=<null>\r\n  firmwareVersion=2\r\n  ecmMac=<null>\r\n  receiverId=<null>\r\n  controllerId=<null>\r\n  channelMapId=<null>\r\n  vodId=<null>\r\n  bypassFilters=[]\r\n  forceFilters=[]\r\n  capabilities=[]\r\n  timeZone=UTC\r\n  time=2016-12-16T13:53:00.000\r\n  ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE f0362812-1777-4109-8a81-7f8907566d07: 11111111111111\n received config: FirmwareConfig[\r\n  description=1\r\n  supportedModelIds=[1, ASDF]\r\n  firmwareDownloadProtocol=tftp\r\n  firmwareFilename=1.bin\r\n  firmwareLocation=162.150.228.179\r\n  firmwareVersion=1.bin\r\n  ipv6FirmwareLocation=<null>\r\n  upgradeDelay=<null>\r\n  rebootImmediately=false\r\n  id=5d9579b2-21f1-45a4-925f-88ed28e75892]\n was blocked/modified by filter SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

        "config": {

            "firmwareDownloadProtocol": "tftp",

            "firmwareFilename": "1.bin",

            "firmwareLocation": "162.150.228.179",

            "firmwareVersion": "1.bin",

            "rebootImmediately": false

        }

    }

]

Minimum firmware check - /estbfirmware/checkMinimumFirmware

Xconf API which will help determine if firmwareVersion meets minimum check

  • API will take in five parameters.

...

  1. estbMac

...

  1. ipAddress

...

  1. firmwareVersion

...

  1. model

...

  1. env
  • API will return 400 response if any of the above fields are missing in the request.
  • API should work from in memory cache. All existing rules should be processed for incoming context and JSON response should contain hasMinimumFirmware=true or hasMinimumFirmware=false depending on outcome of rule processing.

hasMinimumFirmware flag should be set to false only in following case:

...

This API will process MAC rules.

Firmware Config request

Code Block
languagephp
themeEclipse
http://<host>:<port>/estbfirmware/checkMinimumFirmware?estbMac=5C:8F:E0:A5:86:E0&ipAddress=1.1.1.1&firmwareVersion=1&model=1&env=1

Header

Code Block
languagephp
themeEclipse
Accept: application/json

...



or Accept: application/xml

Response example 

Code Block
languagephp
themeEclipse
{

...



    "hasMinimumFirmware": true

...



}

DCM API

Log upload settings - /loguploader

Log Upload Settings request

Code Block
languagephp
themeEclipse
http://<host>:<port>/loguploader/getSettings?estbIP=60.70.80.90&env=DEV&firmwareVersion=10.12

Response example 

Code Block
languagephp
themeEclipse
{

...



  "urn:settings:GroupName": null,

...



  "urn:settings:CheckOnReboot": false,

...



  "urn:settings:CheckSchedule:cron": null,

...



  "urn:settings:CheckSchedule:DurationMinutes": null,

...



  "urn:settings:CheckSchedule:StartDate": null,

...



  "urn:settings:CheckSchedule:EndDate": null,

...



  "urn:settings:LogUploadSettings:Message": null,

...



  "urn:settings:LogUploadSettings:Name": null,

...



  "urn:settings:LogUploadSettings:NumberOfDays": null,

...



  "urn:settings:LogUploadSettings:UploadRepositoryName": null,

...



  "urn:settings:LogUploadSettings:UploadOnReboot": null,

...



  "urn:settings:LogUploadSettings:UploadImmediately": false,

...



  "urn:settings:LogUploadSettings:upload": null,

...



  "urn:settings:LogUploadSettings:LogFiles": null,

...



  "urn:settings:LogUploadSettings:LogFiles:StartDate": null,

...



  "urn:settings:LogUploadSettings:LogFiles:EndDate": null,

...



  "urn:settings:LogUploadSettings:UploadSchedule:cron": null,

...



  "urn:settings:LogUploadSettings:UploadSchedule:levelone:cron": null,

...



  "urn:settings:LogUploadSettings:UploadSchedule:leveltwo:cron": null,

...



  "urn:settings:LogUploadSettings:UploadSchedule:levelthree:cron": null,

...



  "urn:settings:LogUploadSettings:UploadSchedule:DurationMinutes": null,

...



  "urn:settings:LogUploadSettings:UploadSchedule:StartDate": null,

...



  "urn:settings:LogUploadSettings:UploadSchedule:EndDate": null,

...



  "urn:settings:VODSettings:Name": "fdas",

...



  "urn:settings:VODSettings:LocationsURL": "http://vod7.location.com/",

...



  "urn:settings:VODSettings:SRMIPList": {},

...



  "urn:settings:TelemetryProfile": {

...



    "id": "fcb969ec-851e-4d80-8452-91f835516e80",

...



    "telemetryProfile": [

...



      {

...



        "header": "qwer",

...



        "content": "yui",

...



        "type": "op",

...



        "pollingFrequency": "3000"

...



      }

...



    ],

...



    "schedule": "10 10 * * *",

...



    "expires": 0,

...



    "telemetryProfile:name": "Profile2",

...



    "uploadRepository:URL": "amazon.com",

...



    "uploadRepository:uploadProtocol": "S3"

...



  }

...



}

Check now request.

CheckNow request

Code Block
languagephp
themeEclipse
http://<host>:<port>/loguploader/getSettings?estbIP=60.70.80.90&env=DEV&firmwareVersion=10.12&checkNow=true

Response example 

Code Block
language

{

php
themeEclipse
{

  "id": "fcb969ec-851e-4d80-8452-91f835516e80",

...



  "telemetryProfile": [

...



    {

...



      "header": "qwer",

...



      "content": "yui",

...



      "type": "op",

...



      "pollingFrequency": "3000"

...



    }

...



  ],

...



  "schedule": "10 10 * * *",

...



  "expires": 0,

...



  "telemetryProfile:name": "Profile2",

...



  "uploadRepository:URL": "amazon.com",

...



  "uploadRepository:uploadProtocol": "S3"

...



}

Firmware configuration - /psg/swu/stb

Request to retrieve firmware configuration. Percent Filter and Time filter will be ignored. 

Firmware Config request

Code Block
languagephp
themeEclipse
http://<host>:<port>/psg/swu/stb?eStbMac=B4:F2:E8:79:B8:94&env=QA&model=X1&ipAddress=10.20.30.43&firmwareVersion=test1

Header

...

Code Block
languagephp
themeEclipse
Accept: application/json

...



or Accept: application/xml

Response example 

Code Block
languagephp
themeEclipse
{

...



  "firmwareDownloadProtocol": "tftp",

...



  "firmwareFilename": "file-pac3",

...



  "firmwareVersion": "PACXI3_2.0._DEVse",

...



  "rebootImmediately": false,

...



  "firmwareLocation": "192.168.201.2",

...



  "ipv6FirmwareLocation": "1991:db8::ff00:42:2014"

...



}

Firmware configuration - /psg/swu/bse

Request to retrieve firmware configuration. Percent Filter and Time filter will be ignored. 

Firmware Config request

Code Block
languagephp
themeEclipse
http://<host>:<port>/psg/swu/bse/ipAddress=100.71.216.10

Header

Code Block
languagephp
themeEclipse
Accept: application/json

...



or Accept: application/xml

Response example 

{

Code Block
languagephp
themeEclipse
{

    "location": "69.252.80.69",

...



    "protocol": "tftp",

...



    "modelConfigurations": [

...



        {

...



            "model": "RPI-V",

...



            "firmwareFilename": "rdk-generic-hybrid-image-20190106221326.sdimg",

...



            "firmwareVersion": "rdk-generic-hybrid-image-20190106221326"

...



        },

...



        {

...



            "model": "RPI-B",

...



            "firmwareFilename": "rdk-generic-broadband-image-20200101201216.sdimg",

...



            "firmwareVersion": "rdk-generic-broadband-image-20200101201216"

...



        }

...



    ]

...



}

Last log - /psg/lastlog

Request to get last change log. 

FirmwareRules

Code Block
languagephp
themeEclipse
http://<host>:<port>/psg/lastlog?mac=B4:F2:E8:79:B8:94

Header

Code Block
languagephp
themeEclipse
Accept: application/json

...



or Accept: application/xml

Response example 

Code Block
languagephp
themeEclipse
{

...



  "input": {

...



    "estbMac": "B4:F2:E8:79:B8:94",

...



    "env": "QA",

...



    "model": "GXG5",

...



    "firmwareVersion": "test1",

...



    "bypassFilters": [

...



      "GLOBAL_PERCENT",

...



      "TIME_FILTER",

...



      "PercentFilter",

...



      "ENV_MODEL_PERCENT"

...



    ],

...



    "forceFilters": [],

...



    "capabilities": [],

...



    "timeZone": "UTC",

...



    "time": "05/24/2016 18:57:00",

...



    "ipAddress": "10.20.30.43",

...



    "rcdl": false,

...



    "rebootDecoupled": false,

...



    "supportsFullHttpUrl": false

...



  },

...



  "rule": {

...



    "type": "ENV_MODEL_HARDWARE",

...



    "name": "RuleQA_X1_1.2.3",

...



    "noop": false

...



  },

...



  "filters": [

...



    {

...



      "type": "DownloadLocationRoundRobinFilter",

...



      "id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER",

...



      "name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

...



      "noop": true

...



    }

...



  ],

...



  "explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@282a68ed[\r\n  estbMac=B4:F2:E8:79:B8:94\r\n  env=QA\r\n  model=GXG5\r\n  firmwareVersion=test1\r\n  ecmMac=<null>\r\n  receiverId=<null>\r\n  controllerId=<null>\r\n  channelMapId=<null>\r\n  vodId=<null>\r\n  bypassFilters=[GLOBAL_PERCENT, TIME_FILTER, PercentFilter, ENV_MODEL_PERCENT]\r\n  forceFilters=[]\r\n  capabilities=[]\r\n  timeZone=UTC\r\n  time=2016-05-24T18:57:00.000\r\n  ipAddress=10.20.30.43\r\n]\n matched ENV_MODEL_HARDWARE 62af2be5-a660-4127-9127-2edd06b86858: RuleQA_X1_1.2.3\n received config: FirmwareConfig[\r\n  description=PACXI3-desc1\r\n  supportedModelIds=[PACXI3, GXG5]\r\n  firmwareDownloadProtocol=tftp\r\n  firmwareFilename=file-pac3\r\n  firmwareLocation=192.168.201.2\r\n  firmwareVersion=PACXI3_2.0._DEVse\r\n  ipv6FirmwareLocation=1991:db8::ff00:42:2014\r\n  upgradeDelay=<null>\r\n  rebootImmediately=false\r\n  id=9264d2b7-6c9c-477c-9f75-0da2ddaac34e]\n was blocked/modified by filter SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

...



  "config": {

...



    "id": "9264d2b7-6c9c-477c-9f75-0da2ddaac34e",

...



    "updated": 1444857563223,

...



    "description": "PACXI3-desc1",

...



    "supportedModelIds": [

...



      "PACXI3",

...



      "GXG5"

...



    ],

...



    "firmwareDownloadProtocol": "tftp",

...



    "firmwareFilename": "file-pac3",

...



    "firmwareVersion": "PACXI3_2.0._DEVse",

...



    "rebootImmediately": false,

...



    "firmwareLocation": "192.168.201.2",

...



    "ipv6FirmwareLocation": "1991:db8::ff00:42:2014"

...



  }

...



}

Change logs - /psg/changelogs

Request to get all change logs. 

Request

Code Block
languagephp
themeEclipse
http://<host>:<port>/psg/changelogs?mac=5C:8F:E0:A5:86:E0

Header

Code Block
languagephp
themeEclipse
Accept: application/json

...



or Accept: application/xml

Response 

Code Block
languagephp
themeEclipse
[

...



    {

...



        "input": {

...



            "estbMac": "5C:8F:E0:A5:86:E0",

...



            "firmwareVersion": "ff",

...



            "bypassFilters": [],

...



            "forceFilters": [],

...



            "capabilities": [],

...



            "timeZone": "UTC",

...



            "time": "12/16/2016 14:11:00",

...



            "ipAddress": "0:0:0:0:0:0:0:1",

...



            "rcdl": false,

...



            "rebootDecoupled": false,

...



            "supportsFullHttpUrl": false

...



        },

...



        "rule": {

...



            "type": "MAC_RULE",

...



            "name": "Arris_XB3_DevOps",

...



            "noop": false

...



        },

...



        "filters": [

...



            {

...



                "type": "DownloadLocationRoundRobinFilter",

...



                "id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER",

...



                "name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

...



                "noop": true

...



            },

...



            {

...



                "type": "REBOOT_IMMEDIATELY_FILTER",

...



                "name": "Arris_XB3_test",

...



                "noop": true

...



            }

...



        ],

...



        "explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@1a9f8c9b[\r\n  estbMac=5C:8F:E0:A5:86:E0\r\n  env=<null>\r\n  model=<null>\r\n  firmwareVersion=ff\r\n  ecmMac=<null>\r\n  receiverId=<null>\r\n  controllerId=<null>\r\n  channelMapId=<null>\r\n  vodId=<null>\r\n  bypassFilters=[]\r\n  forceFilters=[]\r\n  capabilities=[]\r\n  timeZone=UTC\r\n  time=2016-12-16T14:11:00.000\r\n  ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE 44ac4348-7e76-4710-b64d-0d92baf388de: Arris_XB3_DevOps\n received config: FirmwareConfig[\r\n  description=tg1682_2.0p2s4_prodse_signed\r\n  supportedModelIds=[TG1682G]\r\n  firmwareDownloadProtocol=tftp\r\n  firmwareFilename=tg1682_2.0p2s4_prodse_signed.bin.ccs\r\n  firmwareLocation=162.150.228.179\r\n  firmwareVersion=TG1682_2.0p2s4_PRODse\r\n  ipv6FirmwareLocation=<null>\r\n  upgradeDelay=<null>\r\n  rebootImmediately=true\r\n  id=64ba7bfb-db90-4f7d-8271-1d7a61273cef]\n was blocked/modified by filter REBOOT_IMMEDIATELY_FILTER[ FirmwareRule{id='539dfdae-fb14-4066-a3b1-6d10066aa31f', name='Arris_XB3_test', type=REBOOT_IMMEDIATELY_FILTER} ]",

...



        "config": {

...



            "firmwareDownloadProtocol": "tftp",

...



            "firmwareFilename": "tg1682_2.0p2s4_prodse_signed.bin.ccs",

...



            "firmwareLocation": "162.150.228.179",

...



            "firmwareVersion": "TG1682_2.0p2s4_PRODse",

...



            "rebootImmediately": true

...



        }

...



    },

...



    {

...



        "input": {

...



            "estbMac": "5C:8F:E0:A5:86:E0",

...



            "firmwareVersion": "asdf",

...



            "bypassFilters": [],

...



            "forceFilters": [],

...



            "capabilities": [],

...



            "timeZone": "UTC",

...



            "time": "12/16/2016 14:10:00",

...



            "ipAddress": "0:0:0:0:0:0:0:1",

...



            "rcdl": false,

...



            "rebootDecoupled": false,

...



            "supportsFullHttpUrl": false

...



        },

...



        "rule": {

...



            "type": "MAC_RULE",

...



            "name": "Arris_XB3_DevOps",

...



            "noop": false

...



        },

...



        "filters": [

...



            {

...



                "type": "DownloadLocationRoundRobinFilter",

...



                "id": "SINGLETON_DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER",

...



                "name": "DOWNLOAD_LOCATION_ROUND_ROBIN_FILTER_VALUE",

...



                "noop": true

...



            },

...



            {

...



                "type": "REBOOT_IMMEDIATELY_FILTER",

...



                "name": "Arris_XB3_test",

...



                "noop": true

...



            }

...



        ],

...



        "explanation": "Request: com.comcast.xconf.estbfirmware.EstbFirmwareContext$Converted@1404ed57[\r\n  estbMac=5C:8F:E0:A5:86:E0\r\n  env=<null>\r\n  model=<null>\r\n  firmwareVersion=asdf\r\n  ecmMac=<null>\r\n  receiverId=<null>\r\n  controllerId=<null>\r\n  channelMapId=<null>\r\n  vodId=<null>\r\n  bypassFilters=[]\r\n  forceFilters=[]\r\n  capabilities=[]\r\n  timeZone=UTC\r\n  time=2016-12-16T14:10:00.000\r\n  ipAddress=0:0:0:0:0:0:0:1\r\n]\n matched MAC_RULE 44ac4348-7e76-4710-b64d-0d92baf388de: Arris_XB3_DevOps\n received config: FirmwareConfig[\r\n  description=tg1682_2.0p2s4_prodse_signed\r\n  supportedModelIds=[TG1682G]\r\n  firmwareDownloadProtocol=tftp\r\n  firmwareFilename=tg1682_2.0p2s4_prodse_signed.bin.ccs\r\n  firmwareLocation=162.150.228.179\r\n  firmwareVersion=TG1682_2.0p2s4_PRODse\r\n  ipv6FirmwareLocation=<null>\r\n  upgradeDelay=<null>\r\n  rebootImmediately=true\r\n  id=64ba7bfb-db90-4f7d-8271-1d7a61273cef]\n was blocked/modified by filter REBOOT_IMMEDIATELY_FILTER[ FirmwareRule{id='539dfdae-fb14-4066-a3b1-6d10066aa31f', name='Arris_XB3_test', type=REBOOT_IMMEDIATELY_FILTER} ]",

...



        "config": {

...



            "firmwareDownloadProtocol": "tftp",

...



            "firmwareFilename": "tg1682_2.0p2s4_prodse_signed.bin.ccs",

...



            "firmwareLocation": "162.150.228.179",

...



            "firmwareVersion": "TG1682_2.0p2s4_PRODse",

...



            "rebootImmediately": true

...



        }

...



    }

...


]


Feature control

Request

Code Block
languagephp
themeEclipse
http://<host>:<port>/featureControl/getSettings?estbMacAddress=8C:00:34:00:99:00&model=XYZ&channelMapId=1234aa

Header

Code Block
languagephp
themeEclipse
Accept: application/json

...



or Accept: application/xml

Response 

Code Block
languagephp
themeEclipse
{

...



    "featureControl": {

...



        "features": [

...



            {

...



                "name": "likeSimple",

...



                "effectiveImmediate": true,

...



                "enable": true,

...



                "configData": {

...



                    "like": "simple"

...



                }

...



            }

...



        ],

...



        "configset-id": "2c628aa6-7372-4b2a-bbcc-2fe8a33b1b3d",

...



        "configset-label": "likeSimple"

...



    }

...



}