Question

Long-Running subscription issues C# SDK

  • 9 December 2015
  • 10 replies
  • 1645 views

I have a winform app that will run either minimized or in the system tray. Part of its job is to display incoming caller info. I am using the C# SDK to successfully authenticate, create the subscription and then receive notification information. The problems start when I just leave the program running and no new events are coming in simulating the use case where someone leaves the program running overnight (or an extended lunch). We start to see first chance web socket exceptions, null exceptions and eventually a code break will happen and a final error will indicate that objects have been optimized away. These errors are coming from the SDK code and don't bubble up through any try/catch code so that I could handle the error. The application is dead simple at this point. It connects, authorizes, creates a subscription and listens via callbacks. Is there a method I need to call on a timer to keep the objects alive?


10 replies

Quick update.  I downloaded the code from github and compiled locally.  Used those in the project instead of getting the SDK from Nuget.  Isolated the issue to the PubnubCore ClientNetworkStatus.cs file.  Looks like the error is being thrown from the ParseCheckSocketConnectException<T> method.  Looks like it believes that the Internet/socket connection was lost.  Still looks like an object was caught up by garbage collection but I can't tell which one.

I have the same experience. its an issue with pubnub. I publicly complaint about it on stackoverflow a year ago. http://stackoverflow.com/questions/24144196/keeping-connection-to-pubnub-open

Definitely leaning toward an issue with pubnub.  Getting these errors continuously today.

StatusCode=5040
Severity=Critical
MessageSource=Server
IsDotNetException=False
Message=
DetailedDotNetException=
PubnubWebRequest=PubNubMessaging.Core.PubnubWebRequest PubnubWebResponse=PubNubMessaging.Core.PubnubWebResponse
Channel=
ChannelGroup=
Description=Gateway Timeout. Please try again. If the issue continues, please contact PubNub support
ErrorDateTimeGMT=12/10/2015 5:47:56 PM

After receiving that particular message, I wait 60 seconds and reconnect to the subscription. It will run for about 60 seconds and then throw the error again.

@chris & @eziel, please contact us directly at support@pubnub.com so we can get the appropriate steps to repro, and more info on your configs, so we can fix this.
Got it.  Just sent an email over with all of the details.  I'll be happy to share the exact code that we are using to test the functionality if the instructions for recreating don't make sense in the support ticket.
Hello Chris,

Have you resolved this issue with Geremy's assistance?
Hi everyone I am also having issue with Pubnub C# sdk and Presence Api. I am not being able to receive notifications when RingCentral phone changes its state. can anyone please help me?

I have created a new forum post link is below please have a look
https://devcommunity.ringcentral.com/ringcentraldev/topics/having-issue-when-using-c-sdk-and-using-p...

We are aware of these blocking issues which have been reported in the Github repository for the RingCentral C# SDK, and we are working on prioritizing this work to get our developers unblocked.

In the meantime, the RingCentral C# SDK is open source, and we welcome contributions from our community. Please see the Github Issue tracker for reported issues and follow the contribution documentation to become an active contributor this open source project.https://github.com/ringcentral/ringcentral-csharp/issues
We have uploaded an alpha fix for this on to NuGet:

0.1.2 alpha 4: http://www.nuget.org/packages/RingCentralSDK/0.1.2-alpha4

Please try it out and provide feedback here or on GitHub:

GitHub issues: https://github.com/ringcentral/ringcentral-csharp/issues

Thanks!
Testing with the simplified code shared above.  Looks like the original issues are fixed.  Ran for many hours and did not see a disconnect.  A new issue seems to be we are not getting subscription messages when the presence is supposed to change to "Ringing".  The softphone is still configured to connect to the sandbox account and is prompting correctly for inbound calls.  When watching the code execution we are getting nothing on the notification side from the subscription.  Tested this out on the original code, and the simplified example shared above.  No dice.

Reply