01-16-2020 03:01 AM - edited 01-16-2020 03:02 AM
I've created an eventchannel and XSP server responds with a channelId. But when I try to send a heartheartbeat I get a 404 Not Found in return.
I've tried testing different users, testing with admin user (unauthorized), changing ChannelSetId and used the "default" ChannelSetA per example in the XSI documentation.
EventChannel Request
POST /com.broadsoft.async/com.broadsoft.xsi-events/v2.0/channel HTTP/1.1
Request Body:
<?xml version="1.0" encoding="utf-16"?> <Channel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schema.broadsoft.com/xsi"> <channelSetId>Set-01b6a5e0-4483-45c9-9f4b-7e0afe16a068</channelSetId> <priority>1</priority> <weight>50</weight> <expires>3600</expires> </Channel>
EventChannel Response
Status 200 OK
Response body:
<?xml version="1.0" encoding="UTF-8"?>
<Channel xmlns="http://schema.broadsoft.com/xsi">
<channelId>970411ad-1945-41fc-864f-c9de08c1890d</channelId>
<expires>3600</expires>
</Channel>
HeartBeat Request
PUT /com.broadsoft.xsi-events/v2.0/channel/970411ad-1945-41fc-864f-c9de08c1890d/heartbeat HTTP/1.1 Host: broadsoftsandboxxsp.cisco.com Content-Type: application/xml; charset=UTF-8 Authorization: Basic MyBasicAuth=
NO Request Body
HeartBeat Response
Status 404 Not Found
Response Body:
<?xml version="1.0" encoding="UTF-8"?> <ErrorInfo xmlns="http://schema.broadsoft.com/xsi"> <summary>Channel 970411ad-1945-41fc-864f-c9de08c1890d does not exist on this system</summary> <summaryEnglish>Channel 970411ad-1945-41fc-864f-c9de08c1890d does not exist on this system</summaryEnglish> <errorCode>1201</errorCode> </ErrorInfo>
The problem looks very much like @aluxmore issue posted here:
https://community.cisco.com/t5/cloud-calling/sandbox-xsi-events-subscription-not-found/m-p/4010660
Any help is appreciated.
Solved! Go to Solution.
02-03-2020 02:07 AM
@skumar1 : I also managed to find the problem on friday. It turned out to be a network issue on my workstation. Moving the code to another machine fixed the issue.
Hopefully this led to an improvement of the server so your effort wasn't in vain.
Thanks.
01-17-2020 12:03 PM
01-23-2020 05:51 AM
I still cannot get the eventchannel to work. My http conversation with XSP is this:
POST /com.broadsoft.async/com.broadsoft.xsi-events/v2.0/channel HTTP/1.1 Authorization: Basic auth== Content-Type: application/xml; charset=utf-8 Host: broadsoftsandboxxsp.cisco.com Content-Length: 329 Connection: Keep-Alive <?xml version="1.0" encoding="utf-16"?> <Channel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schema.broadsoft.com/xsi"> <channelSetId>MyChannelSet1</channelSetId> <priority>1</priority> <weight>50</weight> <expires>3600</expires> </Channel>
HTTP/1.1 200 OK X-BROADSOFT-CORRELATION-ID: b81cffcc-2589-467d-825e-902aa63e32fc X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Set-Cookie: JSESSIONID=secret; Path=/com.broadsoft.xsi-events; HttpOnly Expires: Thu, 01 Jan 1970 00:00:00 GMT Cache-Control: no-cache, no-store Pragma: no-cache Content-Language: en-US Content-Type: application/xml;charset=UTF-8 Transfer-Encoding: chunked Date: Thu, 23 Jan 2020 11:31:28 GMT Server: HTTP Server b4 <?xml version="1.0" encoding="UTF-8"?> <Channel xmlns="http://schema.broadsoft.com/xsi"><channelId>f2ab493d-986a-440d-8992-2db2166fba2c</channelId><expires>3600</expires></Channel> 0
So I can get the server to respond correctly with a chuncked connection and I just keep reading the network stream. But after 5 seconds (consistent) the server sends TCP FIN, ACK and the connection is closed.
Screenshot of tcp conversion from wireshark:
Should I respond to the received channelId in some way that's not in the documentation?
I've tried to send a subscription request just after receiving the channelId before the connection is closed. But I did not receive the initial event.
I've also tried to send heartbeat (like I started this discussion) but the channel id is "Not Found".
It takes more than 30 seconds for the server to respond with the channelId. Is that normal?
Hope someone has the answer for this problem as I've tried with four different implementation of clients now and I get the same result for all implementations.
01-29-2020 02:56 AM
@skumar1 : Do you have any ideas about what's going wrong? Could you have a look at my latest post with wireshark screenshot. Why is the connection being closed. Am I doing something wrong in the initial reqest-response flow. It looks to me like i'm hitting the 5 second default keep-alive mentioned in BW-XspEMSConfigurationManagementGuide-R21.sp1 page. 533. But the comet connection is probably set to 30 seconds time-out, so this is just a guess.
Are we able to see the logs at the server?
Thanks!
01-29-2020 08:34 AM
01-31-2020 09:29 AM
we have identified the root cause of the issue and the team is working on the fix.
02-03-2020 02:07 AM
@skumar1 : I also managed to find the problem on friday. It turned out to be a network issue on my workstation. Moving the code to another machine fixed the issue.
Hopefully this led to an improvement of the server so your effort wasn't in vain.
Thanks.
08-11-2020 04:30 AM - edited 08-11-2020 04:39 AM
Hi i'am facing an issue regarding heartbeat in comet channel. According to document heartbeat must be send at an interval of eventtimeout/2 seconds,and i came to know that 30 sec is the default value. How do we get the value of eventtimeout for XSI comet channel, is there an API to get this value. can you please help me out. Thanks in advance.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide