gossip
gossip copied to clipboard
Modernization and support for video, reachability changes, STUN, TURN and more!
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.
@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 : 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.