Cisco D9800 Network Transport Receiver Version 3.50 ...LicensesCommand 104...

336
Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide First Published: 2018-07-19 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 527-0883

Transcript of Cisco D9800 Network Transport Receiver Version 3.50 ...LicensesCommand 104...

  • Cisco D9800 Network Transport Receiver Version 3.50 RESTful WebServices API Reference GuideFirst Published: 2018-07-19

    Americas HeadquartersCisco Systems, Inc.170 West Tasman DriveSan Jose, CA 95134-1706USAhttp://www.cisco.comTel: 408 526-4000

    800 553-NETS (6387)Fax: 408 527-0883

  • THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS,INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.

    THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITHTHE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY,CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.

    The following information is for FCC compliance of Class A devices: This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipmentgenerates, uses, and can radiate radio-frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications.Operation of this equipment in a residential area is likely to cause harmful interference, in which case users will be required to correct the interference at their own expense.

    The following information is for FCC compliance of Class B devices: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 ofthe FCC rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radiofrequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interferencewill not occur in a particular installation. If the equipment causes interference to radio or television reception, which can be determined by turning the equipment off and on, users areencouraged to try to correct the interference by using one or more of the following measures:

    • Reorient or relocate the receiving antenna.

    • Increase the separation between the equipment and receiver.

    • Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.

    • Consult the dealer or an experienced radio/TV technician for help.

    Modifications to this product not authorized by Cisco could void the FCC approval and negate your authority to operate the product

    The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public domain version ofthe UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.

    NOTWITHSTANDING ANY OTHERWARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED "AS IS" WITH ALL FAULTS.CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.

    IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUTLIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERSHAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, networktopology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentionaland coincidental.

    Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.comgo trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and anyother company. (1721R)

    © 2018 Cisco Systems, Inc. All rights reserved.

    www.cisco.com/go/trademarkswww.cisco.com/go/trademarks

  • With each AVC/H.264 product, we are obligated to provide the following notice:

    AVC VIDEO LICENSE

    THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL AND NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODEVIDEO IN COMPLIANCE WITH THE AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN APERSONAL AND NON-COMMERCIAL ACTIVITY AND/ORWAS OBTAINED FROMAVIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTEDOR SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROMMPEG LA, L.L.C. SEE http://www.mpegla.com.

    Accordingly, please be advised that service providers, content providers, and broadcasters are required to obtain a separate use license from MPEG LA prior to any use of AVC/H.264encoders and/or decoders.

    © 2018 Cisco Systems, Inc. All rights reserved.

    http://www.mpegla.com

  • C O N T E N T S

    Preface xiP R E F A C EAudience xi

    Conventions xi

    Related Documentation xii

    Web Services API 1C H A P T E R 1

    About Web Services API 1

    Accessing Web Services API 1

    Access Level (Login and Logout) 2

    HTTP Request Methods 3

    Get 3

    Post 4

    HTTP Responses 5

    HTTP Status Codes 5

    Content Response Types 5

    XML or JSON Response Body 6

    Base URI 7

    URI Parameters 7

    URI Arguments 7

    Access Type 8

    Port Information 8

    API Definitions 11C H A P T E R 2

    Legacy API 11

    Backup Command 11

    Restore Command 12

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guidev

  • Download User Defaults (Customer Presets) Command 13

    BKPRST Status Command 14

    Legacy CDT Upload Command 15

    Chunky CDT Upload Command 16

    Determining Support for Chunky CDT Upload Command 18

    Upload Software License File Command 20

    Diagnostics Package (Export Debug File) Commands 21

    Diagnostics Package Trigger Command 21

    Diagnostics Package Operation Status Command 22

    Diagnostics Package Retrieval Command 23

    Status API 24

    RF Input Status Command 24

    ASI Input Status Command 30

    IP Input Status Command 34

    ABR Input Status Command 40

    Zixi Input Status Command 45

    PE Status Command 49

    CA PowerVu Status Command 53

    CI (Common Interface) CAM Status Command 55

    CISYS Status Command 57

    Useraddr Status Command 59

    Output Status Command 60

    ASI Output Status Command 67

    MOIP Output Status 71

    DPM PID Output Status Command 74

    DPM Active Collisions Status Command 80

    Video Decode Status Command 83

    Audio Decode Status Command 85

    Audio STC302 Decode Status Command 87

    Closed Caption (CC) Decode Status Command 89

    VBI Decode Status Command 90

    SDI Decode Status Command 91

    HDMI Decode Status Command 96

    Identity Status Command 98

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guidevi

    Contents

  • Licenses Command 104

    Device Identification Command 107

    Hardware Options Command 110

    Device Status Command 112

    About Status Command 113

    ECC Status Command 117

    Ethernet Status Command 122

    Power Status Command 124

    Alarms and Warnings 126

    Fault Details Status Command 127

    Fault Actions Status Command 128

    Faults Summary Status Command 129

    Faults Status Command 131

    Faults History Status Command 133

    Disaster Recovery (D/R) Status Command 136

    Disaster Recover (D/R) Global Status Command 137

    Disaster Recovery (D/R) Search Status Command 139

    Disaster Recovery (D/R) Backups (Profiles) Global Status Command 140

    Disaster Recover (D/R) RF Backup Status Command 142

    Disaster Recovery (D/R) MOIP Backup Status Command 144

    Disaster Recovery (D/R) Zixi Backup Status 147

    Disaster Recovery (D/R) ABR Backup Status Command 150

    Disaster Recovery (D/R) ASI Backup Status Command 152

    Disaster Recover (D/R) Backup Nodes (Search Path) Status Command 153

    Disaster Recover (D/R) RF Origin Tuning Command 155

    Disaster Recover (D/R) Origin Channels Command 157

    Configuration API 158

    Input Configuration Command 158

    RF Input Configuration Command 161

    ASI Input Configuration Command 169

    MOIP Input Configuration Command 173

    MOIP Input Source Filters Configuration Command 181

    MOIP Input Source Select Configuration Command 183

    ABR Input Configuration Command 187

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guidevii

    Contents

  • Zixi Input Configuration Command 192

    PE Configuration Command 199

    Output Configuration Command 203

    ASI Global Output Configuration Command 212

    MOIP Global Output Configuration Command 216

    DPM ASI/MOIP PE Output Configuration Command 221

    MOIP Output Stream Configuration 225

    Decode Configuration Commands 230

    Control Decode Configuration Command 230

    Video Decode Configuration Command 232

    Aspect Ratio (AR) Decode Configuration Command 234

    Subtitle (SUBT) Decode Configuration Command 236

    Closed Caption (CC) Decode Configuration Command 238

    Audio Decode Configuration Command 240

    SDI Decode Configuration Command 251

    HDMI Decode Configuration Command 254

    Advanced Audio Decode Configuration Command 256

    VBI Configuration Command 259

    CA (Conditonal Access) Configuration Commands 261

    PowerVu (PVU) CA Configuration Command 261

    BISS CA Configuration Command 263

    CI (Common Interface) Configuration Command 265

    PE CA Configuration Command 267

    CICOMP CA Configuration Command 269

    Transcoding Configuration Commands 272

    HD Transcode Configuration Command 272

    SD Transcode Configuration Command 276

    SUBT (Subtitle) Transcode Configuration Command 280

    User Configuration Command 284

    Disaster Recovery (D/R) Configuration API 286

    Disaster Recovery (D/R) Global Configuration Command 286

    Disaster Recovery (D/R) Backups (Profiles) Global Configuration Command 288

    Disaster Recovery (D/R) RF Backup Configuration Command 290

    Disaster Recovery (D/R) MOIP Backup Configuration Command 293

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guideviii

    Contents

  • Disaster Recovery (D/R) Zixi Backup Configuration Command 296

    Disaster Recovery (D/R) ABR Backup Configuration Command 299

    Disaster Recovery (D/R) ASI Backup Configuration Command 301

    Disaster Recovery (D/R) Backup Nodes (Search Paths) Configuration Command 303

    Device Control Commands 305

    Ethernet Device Control Command 305

    Version Selection Device Control Command 309

    Reset Device Control Command 313

    Protocol Device Control 314

    Download Device Control Settings 317

    Diagnostics API 318

    IP Diagnostics Commands 318

    IP Diagnostics Trigger Command 318

    IP Diagnostics Operation Status Command 320

    IP Diagnostics Report Retrieval Command 322

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guideix

    Contents

  • Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guidex

    Contents

  • Preface

    This section describes the audience and conventions of the Cisco D9800 Network Transport Receiver APIReference Guide. It also references related documentation and describes how to obtain documentation andsubmit a service request.

    • Audience, on page xi• Conventions, on page xi• Related Documentation, on page xii

    AudienceThe audience of this guide includes developers who will build a client application to interface with the D9800Network Transport Receiver.

    ConventionsThis guide uses the following conventions.

    IndicationConventions

    Commands and keywords and user-entered text appear in bold font.bold font

    Document titles, new or emphasized terms, and arguments for which yousupply values are in italic font.

    italic font

    Elements in square brackets are optional.[ ]

    Required alternative keywords are grouped in braces and separated byvertical bars.

    {x | y | z }

    Optional alternative keywords are grouped in brackets and separated byvertical bars.

    [ x | y | z ]

    A nonquoted set of characters. Do not use quotation marks around thestring or the string will include the quotation marks.

    string

    Terminal sessions and information the system displays appear in courierfont.

    courier font

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guidexi

  • IndicationConventions

    Nonprinting characters such as passwords are in angle brackets.< >

    Default responses to system prompts are in square brackets.[ ]

    An exclamation point (!) or a pound sign (#) at the beginning of a line ofcode indicates a comment line.

    !, #

    Means reader take note. Notes contain helpful suggestions or references to material not covered in the manual.Note

    Means reader be careful. In this situation, you might perform an action that could result in equipment damageor loss of data.

    Caution

    IMPORTANT SAFETY INSTRUCTIONS

    Means danger. You are in a situation that could cause bodily injury. Before you work on any equipment, beaware of the hazards involved with electrical circuitry and be familiar with standard practices for preventingaccidents. Use the statement number provided at the end of each warning to locate its translation in thetranslated safety warnings that accompanied this device.

    SAVE THESE INSTRUCTIONS

    Warning

    Related Documentation• Cisco D9800 Network Transport Receiver Installation and Configuration Guide, available at the followingURL: http://www.cisco.com/go/receivers_guides.

    • Release Notes for Cisco D9800 Network Transport Receiver, available at the following URL:http://www.cisco.com/go/receivers_release_notes.

    • Open Source Used In Cisco D9800 Network Transport Receiver, available at the following URL:http://www.cisco.com/go/receivers_licensing.

    • Cisco D9800 Network Transport Receiver Data Sheet, available at the following URL:http://www.cisco.com/c/en/us/products/video/digital-receivers-decoders/datasheet-listing.html.

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guidexii

    PrefaceRelated Documentation

    http://www.cisco.com/go/receivers_guideshttp://www.cisco.com/go/receivers_release_noteshttp://www.cisco.com/go/receivers_licensinghttp://www.cisco.com/c/en/us/products/video/digital-receivers-decoders/datasheet-listing.html

  • C H A P T E R 1Web Services API

    This section describes the web services API used to control the D9800 Network Transport Receiver, includingHTTP request and response methods, URI arguments, and port information.

    • About Web Services API, on page 1• Accessing Web Services API, on page 1• Access Level (Login and Logout), on page 2• HTTP Request Methods, on page 3• HTTP Responses, on page 5• XML or JSON Response Body, on page 6• Base URI, on page 7

    About Web Services APIWeb services API is a standard interface designed for the D9800 Network Transport Receiver. It replaces theprevious interfaces, such as TELNET. The web services API is designed to be flexible and address differentfunctionality requirements of an interface, such as concurrent access, authentication, authorization, and soon. All APIs are implemented using HTTP protocol and run on standard web servers using TCP port 80 or443 for HTTPS.

    Accessing Web Services APIThis document assumes that the IP address of the unit being accessed is 192.168.0.1.When copying or pastinginto a cURL console, you must replace 192.168.0.1 in the message with the IP address of the target unit. Bydefault, the D9800 web server redirects all incoming web traffic to HTTPS on port 443 and will respond toall HTTP URI requests with a redirect response to the equivalent HTTPS URI.

    The APIs in this document that has the /ws/v1/ extension indicates a version 1 (Legacy) web services API,and the /ws/v2/ extension indicates a version 2 web services API. For example,https://192.168.0.1/ws/v2/show/inventory.

    To access a single API, you can use cURL. For more information, see https://curl.haxx.se/. Since SSLcertificates on D9800 units are self-signed, you can use "-k DEFAULT" options to bypass the security checksof the cURL command.

    Example 1:

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide1

    https://curl.haxx.se/

  • curl -k -i -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v2/test/show/id-eeprom"

    Example 2:

    curl -k "https://192.168.0.1/ws/v2/test/show/id-eeprom&session=$token"

    The DEFAULT –k cipher option might not be available in older versions of the cURL command. An updatedversion of the tool is required to enable this option. Follow your operating systems instructions to update yourcURL. For example, on CEL/Fedora, issue the following command as a root user and then restart:

    yum update curl

    Note

    The –H "X-SESSION-ID: $token" (or session=$token) part of the cURL syntax is required for each commandin order to propagate the HTTP session_id. The $token represents a Linux (or Cygwin if that is the Hostenvironment) environment variable that is based on the value of the XML itemfrom the successful Login response.

    For an example of the login command, and setting the $token environment variable, see Access Level (Loginand Logout), on page 2.

    Access Level (Login and Logout)When you successfully log in to a session, an access level is assigned. Access levels are confirmed on a perAPI basis, and depending on the access level, the behavior of the API may change.

    1. No Access - No session available.

    2. Guest - Guest session is active.

    3. User - User session is active.

    4. Admin - Admin session is active.

    The following is an example of the Login command.

    Input:curl -k https://192.168.0.1/ws/v1/table?t=return -X POST -d "adminlocaladmin" -H "Content-Type: text/xml; charset=UTF-8"

    Expected output:?xml version="1.0" encoding="ISO-8859-1"?>STATUSPlease wait while the default pageloads up ....adminADMINTokenValue

    Where Session TokenValue should be used in each subsequent Web Server API commands.

    In each of the commands described in this document, the –H "X-SESSION-ID: $token" (or appended"session=$token") portion of the curl request syntax passes the value of $token environment variable.

    The value of the $token variable needs to be set based on the TokenValue from the XML response to theLogin Command. This may be done by using the Linux (or Cyqwin) export command.

    The example below assumes TokenValue = 869a010f-16e9-4b5a-b302-0097c779850f.

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide2

    Web Services APIAccess Level (Login and Logout)

  • …869a010f-16e9-4b5a-b302-0097c779850f …

    Usage Example (setting $token environment variable):export token=869a010f-16e9-4b5a-b302-0097c779850f

    An alternative to setting the environment variable is to replace $token with the literal string from the above(XML) output when calling the additional command(s). The following is an example of a logout command.

    Input:curl -k https://192.168.0.1/ws/v1/table?t=return -X POST -d"User Logout" -H "Content-Type: text/xml; charset=UTF-8" -H "X-SESSION-ID: $token"

    Expected output:?xml version="1.0" encoding="ISO-8859-1"?>STATUSPlease wait while the default pageloads up ....NotValidNONE

    HTTP Request MethodsHTTP methods are defined by RFC 1945. We currently support GET and POST methods.

    GetGET is used for URI requests that have no payload to transfer in their bodies. GET can be formatted in eitherXML or JSON.

    The following is an example of a Request in XML:curl -k -i -H "X-SESSION-ID: $token""https://192.168.0.1/ws/v2/service_cfg/input/rf?port=2"

    Or:curl -k "https://192.168.0.1/ws/v2/service_cfg/input/rf?port=2&session=$token"

    The following is an example of a Request in JSON (by specifying js=1):curl -k -i -H "X-SESSION-ID: $token""https://192.168.0.1/ws/v2/service_cfg/input/rf?port=1&js=1"

    Or:curl -k "https://192.168.0.1/ws/v2/service_cfg/input/rf?port=1&js=1&session=$token"

    The resource URI must be in quotes if you pass in multiple query parameters separated by ‘&’. If you havespaces in the query values, you should encode them. For example, use the + symbol, or the %20 symbol,instead of a space (http://blogs.plexibus.com/2009/01/15/rest-esting-with-curl/).

    A maximum of 26 arguments (after the ? symbol, and not including the session and json arguments) can bequeried in a single GET operation from a Web Services API cURL command line request. If a GET requestis made that specifies more than this amount, the response behavior is undefined (typically, the extra requestparameters will be ignored). We recommend that you use the alternate block read method to retrieve manyarguments at once.

    The following is an example of a Block Data GET request.

    Passing a block of XML data from a file:

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide3

    Web Services APIHTTP Request Methods

    http://blogs.plexibus.com/2009/01/15/rest-esting-with-curl/

  • curl -k -i -H "X-SESSION-ID: $token" --header "Content-type:application/xml"-d @"input.xml" "https://192.168.0.1/ws/v2/service_cfg/input"

    Orcurl -k --header "Content-type:application/xml" -d @"input.xml""https://192.168.0.1/ws/v2/service_cfg/input?session=$token"

    PostPOST is used when a request body (in XML, JSON, or other formats) is present and is transferred to the unitwith the request. The following lists three ways to use cURL to post parameters and arguments.

    1. Using only arguments on command line separated by "&" (Maximum of 26 arguments, excluding JSONargument and session argument):curl -k -i -H "X-SESSION-ID: $token" -X POST"https://192.168.0.1/ws/v2/service_cfg/input/rf?port=[port#]&dnlkfreq="

    curl -k -i -H "X-SESSION-ID: $token" -X POST"https://192.168.0.1/ws/v2/service_cfg/input/rf?port=2&dnlkfreq=12.31"

    Or:curl -k -X POST "https://192.168.0.1/ws/v2/service_cfg/input/rf?port=[port#]&DnlkFreq=&session=$token"

    10success

    The resource URI needs to be quoted if you pass in multiple query parameters separated by ‘&’. If youhave spaces in the query values, you should encode them. For example, use the + symbol or %20 insteadof a space.

    2. Using xml data from command line:curl -k -i -H "X-SESSION-ID: $token" -X POST --header"Content-type:application/xml" -d "1Yes

  • HTTP ResponsesThis section describes the HTTP status codes and content response types.

    HTTP Status CodesAll HTTP commands respond with a status code that identifies if the client or server encountered any protocolor URL mapping issues. For the command to proceed (for example, return valid data), the HTTP status codemust display the value 200 (HTTP_OK). Any other HTTP response code indicates an error and the datacontent will not be received. That is, if the client expects an XML (or JSON) response, then it must first checkthat the HTTP status code in the HTML header of the response is 200.

    For client software or debugging purposes, you may want to dump the HTTP response header (which showsthe status code) via the curl -i parameter.

    The following is an example of an invalid command for which HTTP 404 error is returned:curl -i -k -H "X-SESSION-ID: $token" -X POST"https://192.168.0.1/ws/v2/invalid_command

    HTTP/1.1 404 Not FoundDate: Fri, 23 Oct 2015 19:26:40 GMTServer: Hiawatha v9.14Connection: keep-aliveTransfer-Encoding: chunkedStatus: 404

    The following is a list of the commonHTTP return codes when communicating with D9800 (refer to RFC-1945for the full list and descriptions):

    200_HTTP_OK

    400_HTTP_BAD_REQUEST

    401_HTTP_UNAUTHORIZED

    403_HTTP_FORBIDDEN

    404_HTTP_NOT_FOUND

    500_HTTP_INTERNAL_SERVER_ERROR

    501_HTTP_NOT_IMPLEMENTED

    502_HTTP_BAD_GATEWAY

    503_HTTP_SERVICE_UNAVAILABLE

    504_HTTP_GATEWAY_TIMEOUT

    505_HTTP_VERSION_NOT_SUPPORTED

    Content Response TypesWhen HTTP status code is HTTP_OK (value 200), there are two types of content responses available:

    1. application/xml

    2. application/json

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide5

    Web Services APIHTTP Responses

  • When not specified, the response content is returned in XML format.

    When js=1 is specified as an appended "&" parameter, then the response is returned in JSON format.

    When a legacy API (for example, backup, restore_upload, cdt_upload, diagnostics) is being called, the responsemay be in command specific XML or HTML format only and does not support the Generic Response XMLformat or Json (js=1) options. Refer to the commands for specific descriptions.

    XML or JSON Response BodyWhen a WS V2 or higher API is executed, and HTTP status code is HTTP_OK (value 200), a XML/JSONresponse body is returned, to indicate the API result.

    The following is an example of the GET method API, used to query the receiver data. If the GET API issuccessfully executed, the response body displays the requested data.$ curl -k -H "X_SESSION-ID: $token" "https://192.168.0.1/ws/v2/status/input/rf?port=1&js=1"{

    "input": {"rf": {

    "port": "1","dnlkfreq": "28.3465","symrate": "28.3465","fec": "2/3","mod": "QPSK DVB-S","rolloff": ".35","iq": "Normal","pwr": "Off","sel22khz": "Off","lo1": "5.15","lo2": "0.0","pol": "Horizontal","orbpos": "0.0","ewflag": "N/A","afcrange": "3.0","acqmode": "Basic","satlock": "No Lock","inputrate": "0.0","netname": "","netid": "1","transid": "","Isttunerea": "User_Change","tunereason": "User","freqmode": "NIT","swclstmode": "Rigorous","baten": "No","niten": "Yes","sdten": "No","paten": "No"

    }}

    }

    If an error occurs, a generic "failed" response body is provided to indicate the API failed, and a text messageto indicate the failure reason. For example:$ curl -k -H "X_SESSION-ID: $token" "https://192.168.0.1/ws/v2/status/input/rf?port=1&js=1"{

    "response": {"code": "10","result": "failed",

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide6

    Web Services APIXML or JSON Response Body

  • "message": "Access denied (must be admin or user)"}

    }

    The following is an example of the POST method API. It displays a generic "success" response. An APIrequires a specific response body when a POST API is executed successfully.$ curl -k -H "X_SESSION-ID: $token" -X POST"https://192.168.0.1/ws/v2/service_cfg/input/rf?port=1&&dnlkfreq=3.51&js=1"{

    "response": {"code": "10","result": "success","message": ""

    }}

    If an error occurs, a generic "failed" response is given. For example:$ curl -k -H "X_SESSION-ID: $token" -X POST"https://192.168.0.1/ws/v2/service_cfg/input/rf?js=1"{

    "response": {"code": "10","result": "failed","message": "Missing Key"

    }}

    The "code" in the generic "failed or success" response body is not used (most command responses set it to10). We highly recommend that you do not change the field, unless otherwise indicated in the commanddescriptions.

    Note

    Base URIThe base URI for an API indicates a specific or a group of functionalities, which is used in conjunction withURI parameters and options.

    URI ParametersEach web service API can have one or more URI parameters that can alter the semantics of the API. URIparameters are appended to the base URI. For instance, a request to Show API can change the type ofinformation requested by providing a URI parameter such as "inventory" or "id-eeprom":

    https://192.168.0.1/ws/v2/test/show/inventory

    https://192.168.0.1/ws/v2/test/show/id-eeprom

    URI parameters should be used separately, and are separated from the base URI by "/" character.

    URI ArgumentsOptions are additional variables that an API can accept as input. Options are separated from URI parametersor base URI by a "?" character and are separated from each other by the "&" character.

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide7

    Web Services APIBase URI

  • Each option has a name and a value. For instance, in the URL"https://192.168.0.1/ws/v2/test/show/id-eeprom?card=NDM", the string "card" indicates an option with itsvalue set to "NDM".

    • Argument Description

    A brief description of the argument item.

    • Argument Type

    Currently 5 different data types are supported for query options:

    1. Integer

    2. String

    3. Boolean

    4. IP Address

    5. Float

    • Argument Values

    Values define a specific or a range of acceptable values for the option. The following list shows someexamples of how the values or the range of values are identified in this document:

    1. Integer: [1 ... 40] identifies range of values from 1 to 40.

    2. String: * is used as wildcard.

    3. Boolean: 0 is false and 1 is true.

    4. IP Address: e.g. 192.160.0.1

    5. Float: 30.5

    • Argument Applies To

    Identifies which URI parameters a certain URI argument applies to. For example, the string "Applies:id-eeprom, status-eeprom" for the argument "card"should be interpreted as: "card argument can beused in conjunction only with URI parameters id-eeprom, status-eeprom".

    Access TypeThis field indicates the type and direction of interaction with the web services API. The valid types are:

    • Read: Reading parameters from the D9800 receiver.

    • Write: Write parameters to the D9800 receiver.

    • Read/Write: Read or write parameters from or to the D9800 receiver.

    Port InformationThere are three types of NTC boards:

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide8

    Web Services APIAccess Type

  • Port DescriptionNTC Board

    One Ethernet port:

    • Management

    NTC Basic

    Three Ethernet ports:

    • Management

    • DATA1

    • DATA2

    NTC MOIP

    Five Ethernet ports:

    • Management

    • DATA1 and DATA2 (first data port pairs)

    • DATA3 and DATA4 (second data port pairs)

    NTC-MS

    When using "port" as a URI argument for web services API commands, the ports are referred to as port 0,port 1, port 2, and so on.

    "Management port" is port 0. This can be used on all three types of NTC boards.

    DATA1 is port 1. This can be used on NTC MOIP and NTC-MS boards.

    DATA2 is port 2. This can be used on NTC MOIP and NTC-MS boards.

    DATA3 and DATA4 is port 3 and port 4 respectively. They can only be used on the NTC-MS board.

    When connecting to a unit to run web services API commands, the Management port (port 0) is used toestablish and maintain the connection.

    Note

    The ports are labeled on the backplane of an assembled unit. The Management port (port 0) is labeledManagement. The DATA ports are labeled DATA1, DATA2, DATA3, and DATA4.

    The Management port is also referred to as "Control port" in this document.Note

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide9

    Web Services APIPort Information

  • Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide10

    Web Services APIPort Information

  • C H A P T E R 2API Definitions

    This section describes the API definitions for controling the D9800 Network Transport Receiver.

    • Legacy API, on page 11• Status API, on page 24• Configuration API, on page 158• Device Control Commands, on page 305• Diagnostics API, on page 318

    Legacy APIThe legacy API commands use the ws/v1 (Web Services v1 API) or legacy command syntax (for the casesof the /restore_upload.html and /cdt_upload.html usage) and are similar in behavior to those that wereimplemented in previous D98xx products.

    Backup CommandTable 1: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v1/backup?t=optionCommand URL

    Backup specific types of database data from the deviceto your local machine.

    Command Information

    GETHTTP Method

    ReadAccess Type

    User, AdminAccess Level

    Table 2: Options

    DescriptionOption

    Backs up standard data.STD

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide11

  • DescriptionOption

    Backs up user changes to factory data (customerpresets).

    UD

    Backs up all standard data and user data.EXT

    Example of issuing the backup command (assuming the STD option is specified):

    Input:curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v1/backup?t=STD"

    Expected output (may not be exactly as shown):

    D9800101.00Date YYYY/DD/MM 2015/07/20 Time HR:MIN:SEC 20:57:33file name

    1.3.6.1.4.1.1482.20.1.9.1.1.2.16C410A0A

    …other XML records …

    …other XML data …

    The XML response is not immediate and may take several seconds to complete. While the Backup commandis in progress, the BKPRSTSTAT UIC table should not be queried by other curl clients other than the UI (ifat all), in order to reduce the risk of timeout due to inter process call overhead. Prior to the completion of thecommand, the BKPRSTSTAT UIC table is incremented, with internal state changes and incremental progresspercent completions, up to 100%. However, these state changes may occur faster than they are polled. Whenthe command is completed, the BKPRSTSTAT UIC table Operation Status state will set back to Idle, and theProgress percentage will set back to 0%, in preparation for any subsequent Backup or Restore operation. Theavailability of the new Backup XML data (or file Save As dialog in the case of using the UI Browser) is thevalid indicator for the successful completion of this command. If there is an issue with generating the Backupfile, then the BKPRSTSTAT UIC table Operation Status will indicate the Fail state, with the Detailed Statusfield, indicating the reason for the Failure. Check this data only after the command returns. If there is a problemwith file transfer, timeout, or invoking the command, then the XML response to this command will indicatea failure response through the legacy command Status form.

    Note

    Restore CommandTable 3: Command Details

    DescriptionCommand Detail

    -F restorefile=@"file_path/file_name""https://192.168.0.1/restore_upload.html"

    Command URL

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide12

    API DefinitionsRestore Command

  • DescriptionCommand Detail

    Restore database file(s) onto the device.Command Information

    POSTHTTP Method

    WriteAccess Type

    User, AdminAccess Level

    Options: N/A

    Example of issuing the restore command (assuming the filename is D9800.bkp):

    Input:curl -k -i –H "X-SESSION-ID: $token" -X POST -Frestorefile=@"C:/projects/d9800/D9800.bkp" "https://192.168.0.1/restore_upload.html"

    Expected output:

    The XML response is almost immediate (a few seconds at most) and does not indicate that the restore commandoperation is completed.

    Prior to initial run of this command after startup (prior to any Backup or Diagnostics operation), theBKPRSTSTAT table may indicate that the operationStatus="Pass" while detailedStatus="Idle" andpercentCompleted=0".

    Upon successful completion of the Restore operation, the BKPRSTSTAT table will indicate that theoperationStatus="Pass" while detailedStatus="Idle" and percentCompleted=100".

    In order to successfully start the command from either of these states without receiving a race-logic conditionin which false "Pass" will be indicated, any poll loop that runs after starting the /restore command mustconsider that

    ALL three items ("Pass" plus "Idle" plus "100") must coincide in order to consider Restore operation to beSuccessfully completed.

    The progress and results of the Restore command may be determined by calling the BKPRSTSTAT commandevery few seconds until it reports that the file restore is completed at 100 percent, or that it was aborted(operationStatus="Fail") due to errors.

    This operation may take over one minute, depending on the amount of data to validate and restore.

    Note

    Download User Defaults (Customer Presets) CommandTable 4: Command Details

    DescriptionCommand Detail

    -F restorefile=@"ud_file_path/ud_file_name""https://192.168.0.1/restore_upload.html"

    Command URL

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide13

    API DefinitionsDownload User Defaults (Customer Presets) Command

  • DescriptionCommand Detail

    Download customer presets (user defaults) onto the device. Thiscommand is a variation of the Restore command. The XML formatof the ud_file_name determines whether to change the user defaultsdata.

    To make the user defaults data persistent, this command must befollowed by a Factory Reset command (see Reset Device ControlCommand, on page 313).

    Command Information

    POSTHTTP Method

    WriteAccess Type

    Guest, User, AdminAccess Level

    Options: N/A

    Example of issuing the restore user defaults command (assuming the filename is UD9800.bkp):

    Input:curl -k -i –H "X-SESSION-ID: $token" -X POST -Frestorefile=@"C:/projects/d9800/UD9800.bkp" "https://192.168.0.1/restore_upload.html"

    Expected output:

    The XML response is immediate and does not indicate that the restore command operation is completed.

    The progress and results of the Restore command may be determined by calling the BKPRSTSTAT commandevery few seconds until it reports that the file restore is completed at 100 percent, or that it was aborted dueto any possible error.

    This operation may take over one minute, depending on the amount of data to validate and restore.

    BKPRST Status CommandTable 5: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v1/table?t=BKPRSTSTATCommand URL

    Return information about Backup/Restore Status.Command Information

    GETHTTP Method

    ReadAccess Type

    User, AdminAccess Level

    Example of issuing the BKPRST status command:

    Input:

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide14

    API DefinitionsBKPRST Status Command

  • curl -k -H "X-SESSION-ID: $token" https://192.168.0.1/ws/v1/table?t=BKPRSTSTAT

    Expected output (example only, subject to change):

    0x002D1247

    0x002D1248

    0x002D1249

    0x002D124A

    0x002D124B

    0x002D124C

    0x002D124D

    See the notes in the backup and restore commands for more information on intended use. See BackupCommand,on page 11 and Restore Command, on page 12.

    Note

    Legacy CDT Upload CommandTable 6: Command Details

    DescriptionCommand Detail

    -F cdtfile=@"cdt_file_path/cdt_file_name""https://192.168.0.1/ws/v1/cdt_upload.html"

    Command URL

    Upload a CDT file to the device.Command Information

    POSTHTTP Method

    WriteAccess Type

    Guest, User, AdminAccess Level

    Example of issuing the upload CDT file command (assuming the filename is NTRP.cdt):

    Input:curl -k -X POST -H "X-SESSION-ID: $token" -F cdtfile=@"C:/myfiles/NTRP.cdt""https://192.168.0.1/cdt_upload.html?cdtfile=NTRP.cdt"

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide15

    API DefinitionsLegacy CDT Upload Command

  • Expected output:

    Chunky CDT Upload Command

    Due to memory constraints, in Version 2.75 or later, the traditional single command line curl variant of theCDT Upload command may fail with some builds. The following describes the support for "ChunkyDL"which requires the Client software to break up the source file into moremanageable chunks, and issue sequentialPOST commands to achieve the full CDT File Upload without incurring significant memory allocation onthe target.

    Important

    Curl command line only supports the –F option to send multi-part HTML form body content. The commandline does not have a built-in method of streaming single file content in chunks of data. The –F option puts theentire file into a single buffer, before sending the content out in a single POST operation.

    Unlike bash scripting with the Curl command line, client software that uses libcurl native C library, Java,Python bindings, PHP, or Java Script does not have the limitation or requirement to split the source file upinto many chunks. In these cases, the language support allows using byte array buffers and HTML headercreation methods to format and send the chunked multi-part HTML form POST commands.

    Note

    In order to overcome the command line limitation, client software which runs from a bash shell may use abash shell based script to implement the following algorithm:

    • Source file must be broken up into many files, with a maximum size of 10 MB (10*1024*1024) each.This requirement may be met by pre-processing the source cdt file with the bash shell split command.The "split.exe" command is available and installed onWindows client systems, using the default cygwin64distribution.

    • Each POST operation maintains the same –F file command line syntax, with the addition of a new headerthat must be patched by the client script for each POST call. This header has three inputs per chunk (forexample, POST command): start offset byte (within the source file), end offset byte (included in the sizeof the current chunk), and total source file size (in bytes).

    • Multi-POST command sequencing uses this new Content-Range header to be added to the commandline syntax that indicates to the target that the received "chunk" is one of many. The Content-Rangeheader is added to the command line with the –H option.

    • Override of the default Content-Length header using –H option may be required to compensate forinternalMIME boundary overhead (182 bytes in addition to range size), within the body of each transmittedchunk.

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide16

    API DefinitionsChunky CDT Upload Command

  • Table 7: Command Details

    DescriptionCommand Detail

    Determine support for Chunky Download feature. If not supported,revert to use the legacy CDT upload command. For moreinformation, see Legacy CDT Upload Command, on page 15.

    mkdir split_cdt_files_path

    cd split_cdt_files_path

    cp cdt_files_path/cdt_file_name .

    split –d –b 10485760 cdt_file_name

    result will be files x00, x01, x02, and so on.

    $src_file-size=size of cdt_file_name contents (in bytes)

    $start_offset=0

    for each file x## in split_cdt_files_path

    {

    $end_offset=$start_offset+(size of x## file in bytes – 1)

    $compensated_content_length=182 +

    ($end_offset + 1) – $start_offset

    POST

    -H "Content-Range: [start_offset]-[end_offset]/[src_file_size]"

    -H "Content-Length: [compensated-content-length]

    -F cdt file=@"split_cdt_files_path/current_chunk_file_name"

    "https://192.168.0.1/ws/v1/cdt_upload.html"

    where a new POST command is formatted and called for each filechunk.

    $start_offset=$end_offset+1

    }

    If using chunky method from command line (requires bash script),contact D9800 Technical support for a working bash script example.

    Cisco Engineering or Test personnel may use internal downloadertools employing one or more high level languages that do not havethe same restrictions as the command line syntax requirementsdescribed here. Those languages support source file streaming intoa buffer, and the contents of the buffer is an input to the clientapplication specific HTTP(S) POST API implementation.

    Algorithm and Commands

    This description uses pseudo code toillustrate logic requirements. Aworkingbash script will be available fromD9800 Engineering, prior to Version2.75.

    Upload a CDT file to the device using Chunky algorithm.Command Information

    POSTHTTP Method

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide17

    API DefinitionsChunky CDT Upload Command

  • DescriptionCommand Detail

    WriteAccess Type

    Guest, User, AdminAccess Level

    Example of the POST content that needs to be sent for each chunk is as follows:POST / HTTP/1.1..Host: 10.1.1.1\r\nAccept: */*\r\nX-SESSION-ID: 1234567890\r\n // actual value of logon sessionid would be hereContent-Range: bytes 0-10485759/12659933\r\n // different for each chunkContent-Length: 10485942\r\n // range end_ size plus fixed 182 byte overheadContent-Type: multipart/form-data;boundary=----------------------------9d4ffbe5a6c7\r\n\r\n

    ------------------------------9d4ffbe5a6c7\r\nContent-Disposition: form-data; name="cdtfile"\r\nContent-Type: application/octet-stream\r\n\r\na lot of binary data where ((end_chunk + 1) - start_chunk) isnumber of bytes size (ie. Content-Range is inclusive)\r\n------------------------------9d4ffbe5a6c7--\r\n

    Determining Support for Chunky CDT Upload Command

    Table 8: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v2/device_ctl/downloadCommand URL

    Show information about download command.Command Information

    GET, POSTHTTP Method

    Read, WriteAccess Type

    AdminAccess Level

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide18

    API DefinitionsDetermining Support for Chunky CDT Upload Command

  • Table 9: URI Query/Set Arguments (possible fields and values preceded by ? and separated by &)

    DescriptionURI Argument

    Filter output based on the dlmode value.

    Type: String

    Values: Always (default), Never, Once

    Select how to handle unforced over-air downloads:

    • Always - Accept download, but not reboot.

    • Once - Accept one download then reboot and change the modeto Never.

    • Never - Reject unforced over-air downloads.

    A POST change of this setting will be persistent in non-volatilememory (after reboots). A Factory Reset will reset this setting tothe default value.

    We recommend that you do not change this setting fromits default value.

    Note

    dlmode (optional)

    Inform external tool or curl based command line script if CDTupload should use the multi-chunk algorithm.

    Type: String

    Values: Enabled (default), Disabled (for testing only)

    This value is read-only and intended only for use by specific internaltools in Cisco test and manufacturing. It is not used by the D9800Web UI, which is integrated within the target application softwareduring fie upload.

    dlhttpchunk (optional)

    (Read Only)

    Example (Retrieve Download Feature support using Version 2.75 or earlier):

    Input:curl -i -k -H "X-SESSION-ID: $token" "http://192.168.0.1/ws/v2/device_ctl/download"

    Expected output (full HTTP responsemust be checked,where 200 indicates that command is implementedand all other numbers indicate older software, where command is not implemented.)HTTP/1.1 404 Not FoundDate: Mon, 25 Sep 2017 13:30:40 GMTServer: Hiawatha v10.3Connection: keep-aliveTransfer-Encoding: chunked

    In this case, we always expect the client software to use the Legacy CDT Upload command.

    Example (Retrieve Download Feature support using Version 2.75 or later):

    Input (XML case):curl -i -k -H "X-SESSION-ID: $token" "http://192.168.0.1/ws/v2/device_ctl/download"

    Expected output (Full HTTP response must be checked for 200 OK):

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide19

    API DefinitionsDetermining Support for Chunky CDT Upload Command

  • HTTP/1.1 200 OKDate: Mon, 25 Sep 2017 13:33:04 GMTServer: Hiawatha v10.3Connection: keep-aliveTransfer-Encoding: chunkedContent-type: application/xml

    AlwaysEnabled

    Input (JSON case):curl -i -k -H "X-SESSION-ID: $token" "http://192.168.0.1/ws/v2/device_ctl/download&js"

    Expected output (Full HTTP response must be checked for 200 OK):HTTP/1.1 200 OKDate: Mon, 25 Sep 2017 13:39:30 GMTServer: Hiawatha v10.3Connection: keep-aliveTransfer-Encoding: chunkedContent-type: application/json

    {"devicectl": {

    "download": {"settings": {

    "dlmode": "Always","dlhttpchunk": "Enabled"

    }}

    }}

    Logic for interpreting the command response:If the HTTP response is 200 (OK):{the client software must check the dlhttpchunk value.

    if the dlhttpchunk value is Enabled{the client code may use the Chunky CDT Upload command.

    }else{the client software must use the Legacy CDT Upload command.

    }}else{

    the client software must use the Legacy CDT Upload command.}

    Upload Software License File CommandTable 10: Command Details

    DescriptionCommand Detail

    -F cdtfile=@"lic_file_path/lic_file_name""https://192.168.0.1/cdt_upload.html"

    Command URL

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide20

    API DefinitionsUpload Software License File Command

  • DescriptionCommand Detail

    Software license files can be uploaded to the unit, the same as aCDT file.

    Command Information

    POSTHTTP Method

    WriteAccess Type

    Guest, User, AdminAccess Level

    Example of issuing the upload license file command (assuming the filename is D9800_lic.cdt):

    Input:curl -k -X POST -H "X-SESSION-ID: $token" -F cdtfile=@"C:/myfiles/D9800_lic.cdt""https://192.168.0.1/cdt_upload.html?cdtfile=D9800_lic.cdt"

    Expected output:

    Diagnostics Package (Export Debug File) CommandsClient Software Requirements:

    Diagnostics package preparation may take several minutes, depending on hardware configuration, licensedfeatures, and log complexity. You can no longer use one command to perform a request, wait for the resultsof the package generation, and then perform a file transfer.

    In Version 2.50 and higher, the required client software operation is as follows:

    1. Trigger a request for a diagnostic package creation (Diagnostics Trigger Command).

    2. Wait for the status (Diagnostics Operation Status API).

    3. Transfer the file (Diagnostics Retrieval command).

    Diagnostics Package Trigger Command

    Table 11: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v1/diagnostics/triggerCommand URL

    Generate the diagnostics package file.Command Information

    POSTHTTP Method

    WriteAccess Type

    User, Admin

    Restricted to lock level 0 only.

    Access Level

    Options: N/A

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide21

    API DefinitionsDiagnostics Package (Export Debug File) Commands

  • Example of issuing the diagnostics trigger command:

    Input:curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v1/diagnostics/trigger"

    Expected output (for success case, which indicates only the specified Diag Package Preparation was started):Success

    Expected output (for fail case, which indicates that the Diag Package Preparation was not started):

    You may request additional failure reason details by using the DIAGSTAT API.Note

    response failure,rc=192512

    Diagnostics Package Operation Status Command

    Table 12: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v1/table?t=DIAGSTATCommand URL

    Return information about Export Debug File (Diagnostics Packagepreparation) status.

    Command Information

    GETHTTP Method

    ReadAccess Type

    User, AdminAccess Level

    Example of issuing the DIAG Status command:

    Input:curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v1/table?t=DIAGSTAT"

    Expected output (example of when diagnostics package preparation is in progress):0x002D25CD0x002D25CE0x002D25CF

    Expected output (example of when diagnostics package preparation is 100% completed successfully):

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide22

    API DefinitionsDiagnostics Package Operation Status Command

  • 0x002D25CD

    [CDATA[OPERSTATUS]]>

    available.]]>0x002D25CE0x002D25CF

    percent]]>

    Expected output (example of when diagnostics package preparation fails, and detailed reason why itfailed):0x002D25CD

    progress]]>0x002D25CE0x002D25CF

    percent]]>

    Client software is expected to poll the status by calling this API every 5 seconds, while the Inprogress stateis active, and until the OPERSTATUS is Pass and the PERCENTCOMPLETE is 100 or the OPERSTATUSis Fail. The first call should wait a minimum of 10 seconds, after the diagnostics trigger API, to allow theinternal states to clear. If, at any time, the OPERSTATUS is Fail, then the client software should abort additionalchecking and report the last DETAILEDSTATUS.

    Diagnostics Package Retrieval Command

    Table 13: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v1/diagnosticsCommand URL

    Retrieves the diagnostics package file.Command Information

    GETHTTP Method

    ReadAccess Type

    User, Admin

    Restricted to Lock Level 0 only.

    Access Level

    Options: NA

    Example of issuing the diagnostics package retrieval command:

    Input:

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide23

    API DefinitionsDiagnostics Package Retrieval Command

  • curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v1/diagnostics" -o diagnostics

    Expected output (example for success case, which indicates that Diag Package Retrieval was completed):% Total % Received % Xferd Average Speed Time Time Time Current

    Dload Upload Total Spent Left Speed100 5599k 0 5599k 0 0 4691k 0 --:--:-- 0:00:01 --:--:-- 4693k

    File name for retrieved file will be as per the –o parameter string (eg. file iscalled "diagnostics" in this example) in the command invokation.

    Expected output (example for fail case, which indicates that Diag Package Retrieval could not becompleted):

    Additional failure reason details may be determined by calling the DIAGSTAT API.response failure,rc=192512

    Note

    Status APIThis section describes the commands used to obtain input, output, and decode status information on the D9800receiver.

    RF Input Status CommandTable 14: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v2/status/inputCommand URL

    Return information about RF input.Command Information

    GETHTTP Method

    ReadAccess Type

    Guest, User, AdminAccess Level

    GET "https://192.168.0.1/ws/v2/status/input/rf?js=1"Syntax

    URI Parameters (extension to the Command URL separated by /): N/A

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide24

    API DefinitionsStatus API

  • Table 15: URI Query/Set Arguments (possible fields and values preceded by ? and separated by &)

    DescriptionURI Argument

    Input port status to be returned.

    Type: Integer

    Values: 1..16 [NFE1 : 1..4, NFE2: 5..8, NFE3: 9..12, NFE4: 12..16]

    This does not refer to the NTC Ethernet ports, it refersspecifically to the RF ports.

    Note

    port (Key)

    Multi Input Path Stream ID. If not specified, default value of 1 isused.

    Type: Integer

    Values: 1..6

    stream (Key)

    Optional

    Format output using JSON standard

    Type: exist

    Values: any value or empty (ie any of js=1 or js or js=0 or js=9999are valid)

    Omitting this argument formats the output by default in XML.

    js

    Table 16: Output Field Descriptions

    DescriptionOutput Field

    Downlink Frequency

    Type: Float

    Values: 0.0..15.0

    dnlkfreq

    Symbol Rate

    Type: Float

    Values: 1.0..45.0

    symrate

    FEC Mode

    Type: String

    Values: "Auto", "1/2", "2/3", "3/4", "5/6", "7/8", "8/9"

    fec

    Modulation Type

    Type: String

    Values: "DVBS" or "DVB-S2"

    mod

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide25

    API DefinitionsRF Input Status Command

  • DescriptionOutput Field

    Rolloff Factor

    Type: String

    Values: ".20", ".25", ".35", "Auto"

    rolloff

    IQ Mode

    Type: String

    Values: "Normal" or "Opposite"

    iq

    LNB Power

    Type: String

    Values: "Off", "13V", "18V", "H-NIT", "V-NIT"

    pwr

    22 KHz Selection

    Type: String

    Values: "Off", "On", "Auto"

    sel22khz

    LO Select 1

    Type: Float

    Values: 0.0 … 15.0

    lO1

    LO Select 2

    Type: Float

    Values: 0.0 … 15.0

    lO2

    Cross Over Frequency

    Type: Float

    Values: 0.0 … 15.0

    xover

    Polarization

    Type: String

    Values: “Horizontal”, “Vertical”, “Auto”

    pol

    Orbital Position

    Type: Float

    Values: 0.0 ... 360.0

    orbpos

    East West Flag

    Type: String

    Values: "N/A", "East", "West"

    ewflag

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide26

    API DefinitionsRF Input Status Command

  • DescriptionOutput Field

    AFC Range Value

    Type: Float

    Values: 0.0 ... 5.0

    afcrange

    PSI Acquisition Mode

    Type : String

    Values : "Auto", "Basic", "Custom"

    acqmode

    Satellite Lock

    Type: String

    Values: "No Lock", "Lock-Sig" or "Lock+Sig"

    satlock

    Input Rate

    Type: Integer

    Values: 0…4294967295

    inputrate

    Network Name

    Type: String

    Values: Up to 64 characters

    netname

    Network ID

    Type: Integer

    Values: 0…65535

    netid

    Transport ID

    Type: Integer

    Values: 0…65535

    transid

    Last Tune Reason

    Type: String

    Values: "No_Change", "DR Change", "User_Change","Preset_Change", "Uplink_Change", or "NIT_TS_Change"

    lsttunerea

    Last Tune Reason

    Type: String

    Values: Up to 24 characters

    tunereason

    Frequency Tuning Mode

    Type: String

    Values: "NIT", "User Cfg"

    freqmode

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide27

    API DefinitionsRF Input Status Command

  • DescriptionOutput Field

    Service List Mode (S./W Release 2.75 and up)

    Type : String

    Values : "Rigorous", "Relaxed"

    Service List Mode (Version 2.50 and earlier)

    Type : String

    Values : "Rigorous", "Degraded"

    Note

    svclstmode

    Enable BAT Reception

    Type: String

    Values: "Yes", "No"

    baten

    Enable NIT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    niten

    Enable SDT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    sdten

    Enable PAT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    paten

    Input Example:curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v2/status/input/rf?js=1"

    Expected output (values are for example purposes only):{

    "input": {"rf": [

    {"port": "1","dnlkfreq": "12.31003","symrate": "30.0","fec": "9/10","mod": "8PSK DVB-S2","rolloff": ".35","iq": "Normal","pwr": "Off","sel22khz": "Off","lo1": "10.75","lo2": "0.0","xover": "0.0","pol": "Horizontal","orbpos": "0.0","ewflag": "N/A","afcrange": "3.0",

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide28

    API DefinitionsRF Input Status Command

  • "acqmode": "Basic","satlock": "No Lock","inputrate": "0.0","netname": "","netid": "","transid": "","lsttunerea": "User_Change","tunereason": "User","freqmode": "NIT","svclstmode": "Rigorous","baten": "No","niten": "Yes","sdten": "Yes","paten": "Yes"

    },{

    "port": "2","dnlkfreq": "12.31003","symrate": "30.0","fec": "9/10","mod": "8PSK DVB-S2","rolloff": ".35","iq": "Normal","pwr": "Off","sel22khz": "Off","lo1": "10.75","lo2": "0.0","xover": "0.0","pol": "Horizontal","orbpos": "0.0","ewflag": "N/A","afcrange": "3.0","acqmode": "Basic","satlock": "Lock+Sig","inputrate": "0.0","netname": "Effete","netid": "1","transid": "201","lsttunerea": "User_Change","tunereason": "User","freqmode": "NIT","svclstmode": "Rigorous","baten": "No","niten": "Yes","sdten": "No","paten": "No"

    },{

    "port": "3","dnlkfreq": "12.31003","symrate": "30.0","fec": "9/10","mod": "8PSK DVB-S2","rolloff": ".35","iq": "Normal","pwr": "Off","sel22khz": "Off","lo1": "5.15","lo2": "0.0","xover": "0.0","pol": "Horizontal","orbpos": "0.0","ewflag": "N/A","afcrange": "3.0",

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide29

    API DefinitionsRF Input Status Command

  • "acqmode": "Basic","satlock": "No Lock","inputrate": "0.0","netname": "","netid": "","transid": "","lsttunerea": "User_Change","tunereason": "User","freqmode": "NIT","svclstmode": "Rigorous","baten": "No","niten": "Yes","sdten": "Yes","paten": "Yes"

    },{

    "port": "4","dnlkfreq": "12.31003","symrate": "30.0","fec": "9/10","mod": "8PSK DVB-S2","rolloff": ".35","iq": "Normal","pwr": "Off","sel22khz": "Off","lo1": "5.15","lo2": "0.0","xover": "0.0","pol": "Horizontal","orbpos": "0.0","ewflag": "N/A","afcrange": "3.0","acqmode": "Basic","satlock": "No Lock","inputrate": "0.0","netname": "","netid": "","transid": "","lsttunerea": "User_Change","tunereason": "User","freqmode": "NIT","svclstmode": "Rigorous","baten": "No","niten": "Yes","sdten": "Yes","paten": "Yes"

    }]

    }}

    ASI Input Status CommandTable 17: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v2/status/input/asiCommand URL

    Return information about ASI input.Command Information

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide30

    API DefinitionsASI Input Status Command

  • DescriptionCommand Detail

    GETHTTP Method

    ReadAccess Type

    Guest, User, AdminAccess Level

    GET "https://192.168.0.1/ws/v2/status/input/asi?js=1"Syntax

    URI Parameters (extension to the Command URL separated by /): N/A

    Table 18: URI Query/Set Arguments (possible fields and values preceded by ? and separated by &)

    DescriptionURI Argument

    Input Port status to be returned

    Type: Integer

    Values: 1..2

    This does not refer to the NTC Ethernet ports, it refersspecifically to the ASI ports.

    Note

    port

    Multi Input Path. If not specified, default value of 1 is used.

    Type: Integer

    Values: 1

    stream (optional)

    Format output using JSON standard

    Type: exist

    Values: any value or empty (ie any of js=1 or js or js=0 or js=9999are valid)

    Omitting this argument formats the output by default in XML.

    js

    Table 19: Output Field Descriptions

    DescriptionOutput Field

    ASI Signal Lock

    Type: String

    Values: "Lock" or "NoLock"

    asilock

    Input Rate

    Type: Integer

    Values: 0…4294967295

    inputrate

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide31

    API DefinitionsASI Input Status Command

  • DescriptionOutput Field

    Network Name

    Type: String

    Values: Up to 64 characters

    netname

    Network ID

    Type: Integer

    Values: 0…65535

    netid

    Transport ID

    Type: Integer

    Values: 0…65535

    transid

    Scrambling Mode

    Type: String

    Values: "Unk", "DES", "DVB", "BISS1", "BISS2", or "BISS3"

    scrambmode

    Transport Error

    Type: String

    Values: "Ok", "Error", or "N/A"

    transerr

    ASI Link Error

    Type: String

    Values: "Ok", "Error", or "N/A"

    asilinkerr

    ASI Packet Size

    Type: String

    Values: "188", "204", or "N/A"

    asipktsize

    Last Tune Reason

    Type: String

    Values: "No_Change", "DR Change", "User_Change","Preset_Change", "Uplink_Change", or "NIT_TS_Change"

    lsttunerea

    Last Tune Reason

    Type: String

    Values: Up to 24 characters

    tunereason

    Frequency Tuning Mode

    Type: String

    Values: "NIT", "User Cfg"

    freqmode

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide32

    API DefinitionsASI Input Status Command

  • DescriptionOutput Field

    Service List Mode (Version 2.75 and later)

    • Type: String

    • Values: "Rigorous", "Relaxed"

    Service List Mode (Version 2.50 and earlier)

    • Type : String

    • Values : "Rigorous", "Degraded"

    svclstmode

    Enable BAT Reception

    Type: String

    Values: "Yes", "No"

    baten

    Enable NIT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    niten

    Enable SDT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    sdten

    Enable PAT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    paten

    Input Example:curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v2/status/input/asi?js=1"

    Expected output (values are for example purposes only):{

    "input": {"asi": {

    "port": "1","asilock": "NoLock","inputrate": "0.0","netname": "","netid": "","transid": "","scrambmode": "Unk","transerr": "Error","asilinkerr": "Error","asipktsize": "N/A","lsttunerea": "User_Change","tunereason": "User","freqmode": "User Cfg","svclstmode": "Rigorous","baten": "No","niten": "No",

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide33

    API DefinitionsASI Input Status Command

  • "sdten": "Yes","paten": "Yes"

    }}

    }

    IP Input Status CommandTable 20: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v2/status/input/moipCommand URL

    Return information about MOIP input.Command Information

    GETHTTP Method

    ReadAccess Type

    Guest, User, AdminAccess Level

    GET "https://192.168.0.1/ws/v2/status/input/moip?js=1"Syntax

    URI Parameters (extension to the Command URL separated by /): N/A

    Table 21: URI Query/Set Arguments (possible fields and values preceded by ? and separated by &)

    DescriptionURI Argument

    Multi Input Path Stream ID. If not specified, default value of 1 is used.

    Type: Integer

    Values: 1..32

    stream (optional)

    Format output using JSON standard

    Type: exist

    Values: any value or empty (for example, any of js=1 or js or js=0 orjs=9999 are valid)

    Omitting this argument formats the output by default in XML.

    js

    Table 22: Output Field Descriptions

    DescriptionOutput Field

    MOIP Stream ID

    Type: Integer

    Values: 1 (single-stream unit), 1..32 (multi-stream unit)

    stream

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide34

    API DefinitionsIP Input Status Command

  • DescriptionOutput Field

    MOIP Signal Lock

    Type: String

    Values: "Lock", "Lock+Sig", or "NoLock"

    moiplock

    Input Rate

    Type: Integer

    Values: 0…4294967295

    inputrate

    Network ID

    Type: Integer

    Values: 0…65535

    netid

    Transport ID

    Type: Integer

    Values: 0…65535

    transid

    Scrambling Mode

    Type: String

    Values: "Unk", "DES", "DVB”", "BISS1", "BISS2", or "BISS3"

    scrambmode

    Transport Error

    Type: String

    Values: "Ok", "Error", or "N/A"

    transerr

    IP Link Status

    Type: String

    Values: "Down" or "Up"

    iplinkstat

    IP Signal

    Type: String

    Values: "None" or "Active"

    ipsignal

    FEC Lock

    Type: String

    Values: "None", "Column", "Row", or "Collision"

    feclock

    PCR Lock

    Type: String

    Values: "Yes" or "No"

    pcrlock

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide35

    API DefinitionsIP Input Status Command

  • DescriptionOutput Field

    Dejitter Latency, in ms

    Type: Integer

    Values: 0…4294967295

    dejitlaten

    Data Source 1 (Primary Stream)

    Type: String

    Values: IP address in the dot format, for example, 192.131.244.10

    datasrc1

    Data Source 2 (Backup Stream)

    Type: String

    Values: IP address in the dot format, for example, 192.131.244.10

    datasrc2

    Data 1 transport Type (Primary Stream)

    Type: String

    Values: "Unk", "UDP", or "RTP"

    data1tstyp

    Data 2 transport Type (Backup Stream)

    Type: String

    Values: "Unk", "UDP", or "RTP"

    data2tstyp

    Last Tune Reason

    Type: String

    Values: "No_Change", "DR Change", "User_Change","Preset_Change", "Uplink_Change", or "NIT_TS_Change"

    lsttunerea

    Last Tune Reason

    Type: String

    Values: Up to 24 characters

    tunereason

    Frequency Tuning Mode

    Type: String

    Values: "NIT", "User Cfg"

    freqmode

    Service List Mode (Version 2.75 and later)

    • Type : String

    • Values : "Rigorous", "Relaxed"

    Service List Mode (Version 2.50 and earlier)

    • Type : String

    • Values : "Rigorous", "Degraded"

    svclstmode

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide36

    API DefinitionsIP Input Status Command

  • DescriptionOutput Field

    Enable BAT Reception

    Type: String

    Values: "Yes", "No", or "N/A"

    baten

    Enable NIT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    niten

    Enable SDT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    sdten

    Enable PAT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    paten

    MOIP Stream data status

    Type: String

    Values: "Active", "Inactive"

    cmdrow

    Input ID

    Type: String

    Values: “MOPI1" (single-stream unit), “MOIP1”-“MOIP32”(multi-stream unit)

    inputid

    Error Packets Counter

    Type: Integer

    Values: 0…4294967295

    pkterrcnt

    FEC Input Rate

    Type: Integer

    fecrate

    Counter of Corrected FEC Error Packets

    Type: Integer

    Values: 0…4294967295

    feccorrerr

    FEC Error Rate

    Type: Integer

    fecerrrate

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide37

    API DefinitionsIP Input Status Command

  • DescriptionOutput Field

    FEC Columns Present

    Type: String

    Values: "Yes", "No"

    feccols

    FEC Rows Present

    Type : String

    Values : "Yes", "No"

    fecrows

    FEC L-value

    Type: integer

    feclval

    FEC D-value

    Type: integer

    fecdval

    FEC overhead, in percent

    Type: integer

    fecoverhead

    FEC latency, ms

    Type: integer

    feclatency

    ETH interface currently in use

    Type: string

    Values: "None", "DATA1", “DATA2”, “DATA3” (multi-stream unit),“DATA4” (multi-stream unit)

    portinuse

    ETH interface currently in use

    Type: string

    Values: "None", "DATA1", “DATA2”, “DATA3” (multi-stream unit),“DATA4” (multi-stream unit)

    portinuse

    Current redundancy switch reason

    Type: string

    Values: "None", "Setup", “EthLinkStatus”, “TS Status”, “ProgStatus”

    switchreas

    Current redundancy switch date and time

    Type: string

    Values: format “YYYY/MM/DD HH:MM:SS”

    switchtime

    Disaster Recovery (D/R) status

    Type: string

    Values: "N/A", "Ready", “Need Config”, “Active”

    drstate

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide38

    API DefinitionsIP Input Status Command

  • DescriptionOutput Field

    User or D/R-selected destination IP address

    Type: String

    Values: IP address, in dot format (for example, 225.1.1.10)

    destip

    Input Example:curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v2/status/input/moip?stream=1"

    Expected output - Version 3.25 and lower (values are for example purposes only):{

    "input": {"moip": {

    "stream": "1","moiplock": "No Lock","inputrate": "0.0","netid": "","transid": "","scrambmode": "Unk","transerr": "N/A","iplinkstat": "Down","ipsignal": "None","feclock": "None","pcrlock": "No","dejitlaten": "110","datasrc1": "0.0.0.0","datasrc2": "0.0.0.0","data1tstyp": "Unk","data2tstyp": "Unk","lsttunerea": "User_Change","tunereason": "User","freqmode": "User Cfg","svclstmode": "Rigorous","baten": "No","niten": "No","sdten": "Yes","paten": "Yes""cmdrow": "Active"

    }}

    }

    Expected output - Version 3.50 and higher (values are for example purposes only):{

    "input": {"moip": {

    "stream": "1","moiplock": "Lock+Sig","inputrate": "10.000038","netid": "","transid": "101","scrambmode": "Unk","transerr": "N/A","iplinkstat": "Up","ipsignal": "Active","feclock": "Column","pcrlock": "Yes","dejitlaten": "105","datasrc1": "192.168.1.22","datasrc2": "192.168.1.22",

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide39

    API DefinitionsIP Input Status Command

  • "data1tstyp": "RTP","data2tstyp": "RTP","lsttunerea": "User_Change","tunereason": "User","freqmode": "User Cfg","svclstmode": "Rigorous","baten": "N/A","niten": "N/A","sdten": "Yes","paten": "Yes","cmdrow": "Active","inputid": "MOIP1","pkterrcnt": "0","fecrate": "11.0","feccorrerr": "0","fecerrrate": "0.00e-0","feccols": "Yes","fecrows": "No","feclval": "4","fecdval": "10","fecoverhead": "10","feclatency": "84","portinuse": "DATA1","switchreas": "None","switchtime": "1901/01/01 00:00:00","drstate": "MOIP1:Need Config","destip": "225.1.1.1"

    }}

    }

    ABR Input Status CommandTable 23: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v2/status/input/abrCommand URL

    Return information about ABR input.Command Information

    GETHTTP Method

    ReadAccess Type

    Guest, User, AdminAccess Level

    GET "https://192.168.0.1/ws/v2/status/input/abr?js=1"Syntax

    Table 24: URI Query/Set Arguments (possible fields and values preceded by ? and separated by &)

    DescriptionURI Argument

    Multi Input Path

    Type: Integer

    Values: 1...32

    stream (key)

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide40

    API DefinitionsABR Input Status Command

  • DescriptionURI Argument

    Format output using JSON standard

    Type: exist

    Values: any value or empty (for example, any of js=1 or js or js=0 orjs=9999 are valid)

    Omitting this argument formats the output, by default, in XML.

    js

    Table 25: Output Field Descriptions

    DescriptionOutput Field

    Input is activated

    Type: String

    Values: "Yes" or "No"

    act

    ASI Signal Lock

    Type: String

    Values: "No Lock", "Lock-Sig", "Lock+Sig"

    abrlock

    ABR Ethernet link status

    Type: String

    Values: "Down", "Up"

    iplinkstat

    ABR Signal Encapsulation Lock Status

    Type: String

    Values: "None", "Active"

    ipsignal

    Bit rate of the input transport stream

    Type: Float

    Values: 0…4294.967295 Mbps

    inputrate

    Network Name

    Type: String

    Values: Up to 64 characters

    netname

    Network ID

    Type: Integer

    Values: 0…65535

    netid

    Transport ID

    Type: Integer

    Values: 0…65535

    transid

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide41

    API DefinitionsABR Input Status Command

  • DescriptionOutput Field

    Scrambling Mode

    Type: String

    Values: "Unk", "DES", "DVB", "BISS1", "BISS2", or "BISS3"

    scrambmode

    Last Tune Reason

    Type: String

    Values: "No_Change", "DR Change", "User_Change","Preset_Change", "Uplink_Change", or "NIT_TS_Change"

    lsttunerea

    Last Tune Reason

    Type: String

    Values: Up to 24 characters

    tunereason

    Frequency Tuning Mode

    Type: String

    Values: "NIT", "User Cfg"

    freqmode

    Service List Mode (Version 2.75 and later)

    • Type: String

    • Values: "Rigorous", "Relaxed"

    Service List Mode (Version 2.50 and earlier)

    • Type: String

    • Values: "Rigorous", "Degraded"

    svclstmode

    Enable BAT Reception

    Type: String

    Values: "Yes", "No", or "N/A"

    baten

    Enable NIT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    niten

    Enable SDT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    sdten

    Enable PAT Reception

    Type: String

    Values: "Yes", "No", "N/A"

    paten

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide42

    API DefinitionsABR Input Status Command

  • DescriptionOutput Field

    Bit rate of the input transport stream

    Type: Float

    Values: 0…4294.967295 Mbps

    rate

    Dowload bitrate of the input transport stream

    Type: Float

    Values: 0…4294.967295 Mbps

    dlrate

    Buffer level current queue 1

    Type: Float

    Values: 0…4294.967295 Mb

    buflvlcurq1

    Buffer level current queue 2

    Type: Float

    Values: 0…4294.967295 Mb

    buflvlcurq2

    Manifest duration

    Type: Integer

    Values: 0…4294967295 seconds

    manidur

    Manifest parsing errors

    Type: Integer

    Values: 0…4294967295

    manierr

    Manifest download count

    Type: Integer

    Values: 0…4294967295

    dlmanicnt

    Manifest download error

    Type: Integer

    Values: 0…4294967295

    dlmanierr

    Download fragment count

    Type: Integer

    Values: 0…4294967295

    dlfragcnt

    Download fragment errors

    Type: Integer

    Values: 0…4294967295

    dlfragerr

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide43

    API DefinitionsABR Input Status Command

  • DescriptionOutput Field

    Fragment parsing errors

    Type: Integer

    Values: 0…4294967295

    fragerr

    Download stop time from the end of manifest

    Type: Integer

    Values: 0…4294967295

    dlcurminlat

    Download start time from the beginning of manifest

    Type: Integer

    Values: 0…4294967295

    dlcurtrglat

    Input Example:curl -k -H "X-SESSION-ID: $token" "https://192.168.0.1/ws/v2/status/input/abr?js=1"

    Expected output (values are for example purposes only):{

    "input": {"abr": [

    {"stream": "1","act": "Yes","abrlock": "No Lock","iplinkstat": "Down","ipsignal": "None","inputrate": "0.0","netname": "","netid": "1","transid": "","scrambmode": "Unk","lsttunerea": "No_Change","tunereason": "User","freqmode": "User Cfg","svclstmode": "Relaxed","baten": "N/A","niten": "N/A","sdten": "No","paten": "No","acqstatus": "Failed","name": "ABR1","rate": "0","dlrate": "0.0","buflvlcurq1": "0.0","buflvlcurq2": "0.0","manidur": "0","manierr": "0","dlmanicnt": "0","dlmanierr": "0","dlfragcnt": "0","dlfragerr": "0","fragerr": "0","dlcurminlat": "0","dlcurtrglat": "0"

    },

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide44

    API DefinitionsABR Input Status Command

  • {"stream": "2","act": "Yes","abrlock": "No Lock","iplinkstat": "Down","ipsignal": "None","inputrate": "0.0","netname": "","netid": "113","transid": "","scrambmode": "Unk","lsttunerea": "User_Change","tunereason": "User","freqmode": "User Cfg","svclstmode": "Relaxed","baten": "N/A","niten": "N/A","sdten": "No","paten": "No","acqstatus": "Failed","name": "ABR2","rate": "0","dlrate": "0.0","buflvlcurq1": "0.0","buflvlcurq2": "0.0","manidur": "0","manierr": "0","dlmanicnt": "0","dlmanierr": "0","dlfragcnt": "0","dlfragerr": "0","fragerr": "0","dlcurminlat": "0","dlcurtrglat": "0"

    }]

    }}

    Zixi Input Status CommandTable 26: Command Details

    DescriptionCommand Detail

    https://192.168.0.1/ws/v2/status/input/zixiCommand URL

    Return information about ZIXI input.Command Information

    GETHTTP Method

    ReadAccess Type

    Guest, User, AdminAccess Level

    GET "https://192.168.0.1/ws/v2/status/input/zixi?js=1"Syntax

    URI Parameters (extension to the Command URL separated by /): N/A

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide45

    API DefinitionsZixi Input Status Command

  • Table 27: URI Query/Set Arguments (possible fields and values preceded by ? and separated by &)

    DescriptionURI Argument

    Multi Input Path.

    Type: Integer

    Values: 1...32

    stream (key)

    Format output using JSON standard.

    Type: exist

    Values: any value or empty (for example, any of js=1 or js or js=0or js=9999 are valid)

    Omitting this argument formats the output by default in XML.

    js

    Table 28: Output Field Descriptions

    DescriptionOutput Field

    Input is activated

    Type: String

    Values: "Yes" or "No"

    act

    Zixi Signal Lock

    Type: String

    Values: "No Lock", "Lock-Sig", "Lock+Sig"

    abrlock

    Zixi Ethernet link status

    Type: String

    Values: "Down", "Up"

    iplinkstat

    Zixi Signal Encapsulation Lock Status

    Type: String

    Values: "None", "Active"

    ipsignal

    Bit rate of the input transport stream

    Type: Float

    Values: 0…4294.967295 Mbps

    inputrate

    Network Name

    Type: String

    Values: Up to 64 characters

    netname

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide46

    API DefinitionsZixi Input Status Command

  • DescriptionOutput Field

    Network ID

    Type: Integer

    Values: 0…65535

    netid

    Transport ID

    Type: Integer

    Values: 0…65535

    transid

    Scrambling Mode

    Type: String

    Values: "Unk", "DES", "DVB", "BISS1", "BISS2", or "BISS3"

    scrambmode

    Last Tune Reason

    Type: String

    Values: "No_Change", "DR Change", "User_Change","Preset_Change", "Uplink_Change", or "NIT_TS_Change"

    lsttunerea

    Last Tune Reason

    Type: String

    Values: Up to 24 characters

    tunereason

    Frequency Tuning Mode

    Type: String

    Values: "NIT", "User Cfg"

    freqmode

    Service List Mode

    Type: String

    Values: "Rigorous", "Degraded"

    svclstmode

    Enable BAT Reception

    Type: String

    Values: "N/A", "Yes", "No"

    baten

    Enable NIT Reception

    Type: String

    Values: "N/A", "Yes", "No"

    niten

    Enable SDT Reception

    Type: String

    Values: "N/A", "Yes", "No"

    sdten

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide47

    API DefinitionsZixi Input Status Command

  • DescriptionOutput Field

    Enable PAT Reception

    Type String

    Values: "N/A", "Yes", "No"

    paten

    Acquisition State

    Type: String

    Values: "Full", "Partial", "None"

    acqstatus

    Input Id

    Type: String

    Values: "ZIXI1", "ZIXI2"

    inputid

    Zixi reconnections

    Type: Integer

    Values: 0…65535

    reconn

    Zixi packets recovered by ARQ (Automatic Repeat Request)

    Type: Integer

    Values: 0…65535

    arqrec

    Zixi packets recovered by FEC (Forward Error Correction)

    Type: Integer

    Values: 0…65535

    fecrec

    Zixi packets not recovered

    Type: Integer

    Values: 0…65535

    notrec

    Zixi input row status

    Type: String

    Values: "Active", "Inactive"

    rowstatus

    Zixi source currently connected

    Type: String

    Values: "zixi://tor02lab-s-002.cisco.com:2077/cisco-BBB", forexample

    cursrc

    Example:

    Input:curl -k -H "X-SESSION-ID: $token"https://192.168.0.1/ws/v2/status/input/zixi?stream=1&js=1"

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide48

    API DefinitionsZixi Input Status Command

  • Expected output (values are for example purposes only):{

    "input": {"zixi": {

    "stream": "1","act": "Yes","lock": "Lock+Sig","iplinkstat": "Up","ipsignal": "Active","inputrate": "7.17246","netname": "","netid": "","transid": "1","scrambmode": "Unk","lsttunerea": "User_Change","tunereason": "User","freqmode": "User Cfg","svclstmode": "Relaxed","baten": "N/A","niten": "N/A","sdten": "No","paten": "Yes","acqstatus": "Partial","inputid": "ZIXI1","reconn": "0","arqrec": "0","fecrec": "0","notrec": "0","rowstatus": "Active","cursrc": "zixi://tor02lab-s-002.cisco.com:2077/cisco-BBB"

    }}

    }

    PE Status CommandTable 29: Command Details

    DescriptionCommand Detail

    ttps://192.168.0.1/ws/v2/status/peCommand URL

    This command is used to display PE status.Command Information

    GETHTTP Method

    ReadAccess Type

    User, AdminAccess Level

    GET "https://192.168.0.1/ws/v2/status/pe",

    GET "https://192.168.0.1/ws/v2/status/pe?peid=2", or

    GET "https://192.168.0.1/ws/v2/status/pe?peid=2&chn&chname"

    Syntax Examples

    URI Parameters (extension to the Command URL separated by /): N/A

    Cisco D9800 Network Transport Receiver Version 3.50 RESTful Web Services API Reference Guide49

    API DefinitionsPE Status Command

  • Table 30: URI Query/Set Arguments (possible fields and values preceded by ? and separated by &)

    DescriptionURI Argument

    Program Entry Identifier

    Type: Integer

    Value: 1..32

    peid (key)

    Format output using JSON standard

    Type: exist

    Values: any value or empty (for example, any of js=1 or js or js=0or js=9999 are valid)

    Omitting this argument formats the output by default in XML.

    js

    Table 31: Output Field Descriptions

    DescriptionOutput Field

    Channel Number to be configured on this Program Entry.

    Type: Integer

    Values: 0..65535

    Chn

    Channel Name

    Type: String

    Values: String used to describe the channel name, less than 64characters

    chname

    CA authorized

    Type: String

    Values: "Yes", "No"

    caauth

    CA Encrypted

    Type: String

    Values: "Yes", "No"