cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements
Walkthrough Wednesdays

HttpFeedback Expressions

4120
Views
0
Helpful
0
Comments
This document was generated from CDN thread

Created by: Jason Shaffer on 01-06-2013 09:54:53 AM
Hi Everyone,

I am trying to integrate C Series codecs with my web-based application.  I'm registering HttpFeedback expressions and they seem to be cleared out for a reason I can't understand.  I use the following command to set the expressions:

xCommand HttpFeedback Register FeedbackSlot:1 ServerUrl:example.com/func/codec Expression[1]:Status/Video Expression[2]:Status/Audio Expression[3]:Status/Call

And can see them set:
xStatus HttpFeedback 1
*s HttpFeedback 1 URL: "system.vstud.io/func/codec"
*s HttpFeedback 1 Expression: "Status/Video"
*s HttpFeedback 1 Expression: "Status/Audio" 
*s HttpFeedback 1 Expression: "Status/Call" 
*s HttpFeedback 1 Expression: ""
*s HttpFeedback 1 Expression: "" 
....
** end

Then no matter what, in about 20-30 seconds it will be removed.

xStatus HttpFeedback 1
*s HttpFeedback 1 URL: ""
*s HttpFeedback 1 Expression: ""
*s HttpFeedback 1 Expression: ""
*s HttpFeedback 1 Expression: ""
*s HttpFeedback 1 Expression: ""
*s HttpFeedback 1 Expression: ""

Also, I am watching the access.log in Apache and never see this hit the webserver.  The server FQDN is resolvable by the codec and can ping it.

Any help would be greatly appreciated.

Thanks,

-jason

Subject: RE: HttpFeedback Expressions
Replied by: David Bruun-Lie on 03-06-2013 08:07:50 AM
Hi Jason,
I'd check your feedback URL. You need to have a fully qualified address, with protocol prefix, e.g.: HttpFeedback 1 URL: "http://system.vstud.io/func/codec"

The feedback URL is automatically cleared after a certain number of http postings to the given URL have failed.
A fail is either that it cannot establish a connection to the given URL or that the given URL is not responding correctly (with HTTP response 200 OK)

Cheers,
David

Subject: RE: HttpFeedback Expressions
Replied by: Jason Shaffer on 05-06-2013 12:24:29 PM
Hey David,

Actually it was that and forgot to update.  My apologies.  

I do have another issue that has risen.

We're using feedback expressions to keep status and state inside of the database which is referenced by php/jquery. Is there a particular expression that will show it disconnecting message?  /Status/Call/Status does not seem to be sending us an expression back when the 'remote side' send a SIP disconnect and the call is ended.  However it does send one when we use the API to disconnect from the 'local' codec.  Any thoughts?

Also, is there a way to make an expression give feedback on a regular basis?  We don't see to be getting updates from /Status/Diagnostics/Call.

Thanks,

-jason

Subject: RE: HttpFeedback Expressions
Replied by: Jason Shaffer on 10-06-2013 09:08:13 AM
Hi David,

Just checking back in to see if you had any response.

Thanks,

-jason

Subject: RE: HttpFeedback Expressions
Replied by: Thomas Bonhomme on 11-06-2013 04:26:28 PM
Hi Jason,

TMS registers the following HttpFeedback expressions on SX/EX/C-Series systems and I would recommend you to reproduce what TMS does :

*s HttpFeedback 3 URL: "http://192.168.1.123/tms/public/feedback/code.aspx"
*s HttpFeedback 3 Expression: "/History/CallLog/History"
*s HttpFeedback 3 Expression: "/History/CallLogs/Call"
*s HttpFeedback 3 Expression: "/Status/Call[Status='Connected']"
*s HttpFeedback 3 Expression: "/Status/H323/Gatekeeper"
*s HttpFeedback 3 Expression: "/Status/SIP/Registration"
*s HttpFeedback 3 Expression: "/Status/Network/Ethernet/Speed"
*s HttpFeedback 3 Expression: "/Event/CallSuccessful"
*s HttpFeedback 3 Expression: "/Event/Message/Prompt/Response"

Then, TMS listens for such feedback and builds Trap Logs accordingly to what it gets from managed endpoints :
- When endpoint connects, a message of type "status" is posted to TMS.
- When endpoint disconnects, a message of type "history" is posted to TMS.

But be aware that when CallLogging Mode is turned Off on endpoints for privacy reason, they do not send the disconnect message (/History/CallLogs/Call). Instead, you should register  "/Event/CallDisconnect" but this event has a lot less data in it than a call history post, most notably missing is the call duration, encryption, call type and bandwidth.

Hope that helps!
Thomas

Subject: RE: HttpFeedback Expressions
Replied by: Jason Shaffer on 13-06-2013 08:18:57 AM
Hi Thomas,

Is there a way to make an expression give feedback on a regular basis?  We don't seem to be getting updates from /Status/Diagnostics/Call.  Or is there another command I should be issuing to get the call stats on a regular basis?

Thanks!

-jason

Subject: RE: HttpFeedback Expressions
Replied by: Thomas Bonhomme on 18-06-2013 03:24:25 PM
Hi Jason,

You register feedbacks on events or status in order to get notifications when they occur or when they change. If you want to read call status on regular basis, I would consider to take the problem from the other end and to pull call details from your application. Use the event "call connect" to start a thread that queries call diagnostics with http://<ip-address>/getxml?location=<path> for instance.
Only difficulty I see, it's that you need to keep track of the call IDs (represented in the documentation by [1..n]), but maybe this info is in fact sent in the feedback message... I haven't checked to be honest!

Hope that helps!
Thomas






Subject: RE: HttpFeedback Expressions
Replied by: Jason Shaffer on 18-06-2013 05:01:30 PM
Hi Thomas,

We've had trouble with latency when pulling from the codec was pretty high.  We want the web server to proxy (AJAX calls up PHP and returns values) the connection as users may be outside a firewall.  It was a little better preformance using GETs over POST to the codec.  So when we watched this in Firebug, its takes 10 - 20 seconds before the web UI gets a value returned.  We'll try a few other configurations to see what works, but it would be much better to POST Diagnostics in a regular time interval, then to query it.  Will try and post back. 

Also is there a forum for MCU API?  Or is this it as well?

Call IDs wont be a concern in our particular set up.  But for edification, it does send it...  Here it is as a PHP array:

 1Array
 2(
 3    [Identification] => Array
 4        (
 5            [SystemName] => studio04.c60
 6            [MACAddress] => 00:50:60:0C:C3:9E
 7            [IPAddress] => 192.168.12.24
 8            [IPAddressV6] => fe80::250:60ff:fe0c:c39e
 9            [ProductType] => TANDBERG Codec
10            [ProductID] => TANDBERG Codec C60
11            [SWVersion] => TC5.1.2.289652
12            [HWBoard] => 101680-1 [06]
13            [SerialNumber] => ###########
14        )
15
16    [MediaChannels] => Array
17        (
18            [@attributes] => Array
19                (
20                    [item] => 1
21                )
22
23            [Call] => Array
24                (
25                    [@attributes] => Array
26                        (
27                            [item] => 2
28                        )
29
30                    [IncomingAudioChannel] => Array
31                        (
32                            [@attributes] => Array
33                                (
34                                    [item] => 23
35                                )
36
37                            [Audio] => Array
38                                (
39                                    [@attributes] => Array
40                                        (
41                                            [item] => 1
42                                        )
43
44                                    [Protocol] => Off
45                                )
46
47                        )
48
49                )
50
51        )
52
53)

Content for Community-Ad

This widget could not be displayed.