gossip icon indicating copy to clipboard operation
gossip copied to clipboard

Modernization and support for video, reachability changes, STUN, TURN and more!

Open marcetcheverry opened this issue 9 years ago • 2 comments

All changes are committed back to the public domain. Thanks for Gossip.

Note that PJSIP trunk is recommended, with a minimum of PJSIP 2.5.5 as it contains patches to support recent a modern OpenH264 and to fix some issues with video support in Darwin.

Note that I have not tested the sample project to see if it is compatible with all these new changes. I have a separate build system to support OpenSSL, OpenH264 and more.

Major

  • Add support for video.
  • Add support for handling reachability changes.
  • Add support for STUN and TURN servers that can be changed on-demand.
  • Add support for detecting system DNS servers (these are also updated on reachability changes).
  • Add API to verify SIP URI strings.
  • Add support for keeping alive a TCP connection in the background (pre iOS 9). Note that a proper solution would require support for the new VOIP APIs in iOS 9 and 10.
  • Add support for parsing SIP Reason headers (RFC 3326) on CANCEL messages.

Minor

  • Partial update to modern Objective-C syntax.
  • Use PJ_LOG instead of NSLog when appropriate.
  • Do not assume sip and support sips addresses.
  • For safety, make sure that stringWithPJString copies the memory.
  • Prioritize Opus and H264.
  • Rename GSLogSipError to GSLogPJSIPError.
  • Support custom headers in SIP INVITES.
  • Add the ability to answer a call with codes.
  • Fix wrong if (self = [super init]) initializers.
  • Add support for checking if calls have ended.
  • Add support for checking the remote information in a call.
  • Add support for getting the last SIP status text and code in a call.
  • Make all delegates weak.

marcetcheverry avatar Sep 04 '16 07:09 marcetcheverry

@sammacros hey this month has been super busy so I barely checked up on my projects. Thanks for this!!! I'll try to check this out on the weekend, feel free to spam ping me if I disappear for whatever reason.

chakrit avatar Sep 29 '16 08:09 chakrit

@chakrit : Is this branch merge on master branch? I am looking for support for checkking if calls have ended.

I tried using GSSIPCallStateDidChangeNotification notification observation, but not getting enough help to get each call state. I also tried using GSCallStatus in GSCall class but that also did not work somehow. JFYI, I am using this with swift language.

Let me know if you have any input to check the call status, whether call is connected, disconnected.

shahdhiren avatar Oct 09 '16 15:10 shahdhiren