Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

marcetcheverry
Copy link

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.

Use PJ_LOG instead of NSLog when appropriate.
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.
Do not assume sip and support sips addresses.
For safety, make sure that stringWithPJString copies the memory.
Add support for keeping alive a TCP connection in the background (pre iOS 9).
Prioritize Opus and H264.
Rename GSLogSipError to GSLogPJSIPError.
Support custom headers in SIP INVITES.
Add the ability to answer a call with codes.
Add support for parsing SIP Reason headers (RFC 3326) on CANCEL messages.
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.
@chakrit
Copy link
Owner

chakrit commented Sep 29, 2016

@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.

@shahdhiren
Copy link

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants