Breakdown of a FrameChannel request…. Well Helloooooo iPad!

So I was reviewing my server logs this morning (Yes, I’m a geek — it’s what I do.) and I noticed an interesting entry…

GET /productId=IP14882/frameId=184820da466bcc29ccc5da3620389a26933950e3/sk1=DB7B067C7B8BC66FE49A67DE8D268183D867DA5CF0376662F62CDD5FCA5A0D1B/channellist HTTP/1.1" 404 356 "-" "TTCatalog-iPad/3.0 CFNetwork/485.13.9 Darwin/11.0.0"

There are several interesting bits here…

productId=IP14882

The product ID field is used to communicate what make/model photo frame is trying to connect with the service; In this case it is ‘IP14882’.  I use this information to determine the native screen size of the frame and to track if it supports custom Photo RSS feeds.  So far I have 14 unique productIDs in the database.

frameId=184820da466bcc29ccc5da3620389a26933950e3

FrameId is used to unqiuely identify individual photo frames. Some manufactures use the MAC address of the frame, others use a simple numeric serial number.  This one is larger than most.

sk1=DB7B067C7B8BC66FE49A67DE8D268183D867DA5CF0376662F62CDD5FCA5A0D1B

Huh… I don’t know where to begin on this bit. First time I’ve seen it in a frame request. Anyone?

Update: I’ve re-read the FrameChannel Integration Guide and discovered that this is the SecurityKey.  It is described as:

SECURITYKEY is an encrypted string used to validate that the URL is coming from a genuine partner device.  The security key is an HMACSHA256 digest (as defined in RFC 2104) of the combination of PRODUCTID-FRAMEID  (exactly in that order separated by a single hyphen character), using a secret 32-character key provided by Thinking Screen Media for each productId supplied.  IMPORTANT: the secret key should be considered confidential information, and should not be shared or exposed to the public.  A leak of the security key will require an Frame Media, Inc. Page 2 of 4 Company Confidentialimmediate firmware update by the device partner.

channellist

I’m assuming that this bit indicates that the frame is looking for a list of channels available (Thank you Dr. Obvious). However, I have no notion of the format it is expecting in return. Anyone?
And now for the really interesting bit…

"TTCatalog-iPad/3.0 CFNetwork/485.13.9 Darwin/11.0.0"

Well Hellllooooo iPad! I knew that FrameChannel had an iPad application/widget/thingy but this is my first example request. Many thanks to the intrepid soul who fiddled with their DNS and sent in this request.

Now… If I could just figure out how to respond to a channelList request…  Anyone? Bueller? Anyone?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.