Cisco Telepresence Codec JSON Feedback Support

I recently started experimenting with Cisco’s CE 8.3 software for the SX and MX video units in search of new and useful features particularly around the API.  To my surprise, there was something new!  JSON support for http feedback!  When registering feedback via the CLI you now see XML and JSON as options:

xCommand HttpFeedback Register ?
    Expression:
    ...
    FeedbackSlot(r):
    Format: <XML, JSON>
    ServerUrl(r):

I established my same feedback configuration but added the extra parameter to change the settings.

xcommand HttpFeedback Register FeedbackSlot: 1
ServerUrl: http://controlsystem.domain.local/sx
Expression: /Event/CallDisconect  Expression: /Status/Call Format: JSON
OK
*r HttpFeedbackRegisterResult (status=OK):
*r HttpFeedbackRegisterResult FeedbackSlot: 1
** end

In my opinion JSON is a bit easier to deal with because it’s an object model where the properties can be easily accessed.  JSON, like XML is a standard so there are existing libraries built for working with it in nearly any language you might be coding in.  For me the direct benefit is that the Raspberry Pi and Node-Red consume it easily.  If you recall we had to convert XML to JSON in my previous examples with the Raspberry Pi.

The JSON received to from the codec is shown below:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{
   "Event":{
      "Identification":{
         "SystemName":{
            "Value":"SX 20 Lab Unit"
         },
         "MACAddress":{
            "Value":"00:ca:e5:00:00:01"
         },
         "IPAddress":{
            "Value":"192.168.1.10"
         },
         "IPAddressV6":{
            "Value":"fe80::2ca:e5ff:fe00:0001"
         },
         "ProductType":{
            "Value":"Cisco Codec"
         },
         "ProductID":{
            "Value":"Cisco TelePresence SX20"
         },
         "SWVersion":{
            "Value":"ce8.3.0.c1a7707"
         },
         "SerialNumber":{
            "Value":"FTT0000001E"
         }
      },
      "UserInterface":{
         "id":"1",
         "Extensions":{
            "id":"1",
            "Widget":{
               "id":"1",
               "Action":{
                  "id":"1",
                  "WidgetId":{
                     "id":"1",
                     "Value":"widget_1"
                  },
                  "Value":{
                     "id":"1",
                     "Value":"on"
                  },
                  "Type":{
                     "id":"1",
                     "Value":"changed"
                  }
               }
            }
         }
      }
   }
}

As you can see the data is very similar to the XML equivalent.

I hope you find this helpful moving forward with your integration projects!  As always I would love to hear your feedback.

This entry was posted in Collaboration and tagged , , , . Bookmark the permalink.

2 Responses to Cisco Telepresence Codec JSON Feedback Support

  1. Jonathan says:

    Have you managed to implement HTTP Feedback practically? I have a requirement to monitor telepresence call stats for exceeding jitter/packet loss threshold violations. I was wondering if you had any sample code which you could share for the HTTP Feedback use case?

    • schaeffer says:

      Typically I use the HTTP feedfack when linked with the touch 10 controls. The tricky part is you need a server to direct it to that knows how to process it. In the case you described you may want to poll the end point vs having it report via this feedback mechanism. I think TMS will do a bunch of this as well if you’re looking for a packaged solution.

      I actually have been working on a very basic service written in PHP to accept and act on this feedback. Stay tuned, I’ll try to prioritize getting that done…

Leave a Reply

Your email address will not be published. Required fields are marked *