Skip to content

Implement intercom-first CallWaveKit 0.4 - #7

Merged
PetrShtuka merged 1 commit into
mainfrom
codex/callwavekit-0.4
Aug 4, 2026
Merged

Implement intercom-first CallWaveKit 0.4#7
PetrShtuka merged 1 commit into
mainfrom
codex/callwavekit-0.4

Conversation

@PetrShtuka

Copy link
Copy Markdown
Owner

Summary

  • rebuild PJSIP 2.17 with Apple Network.framework TLS and IPv6 support, remove --disable-ssl, and add deterministic binary verification
  • add TURN over UDP/TCP/TLS, automatic/IPv4-only/IPv6-only policy, remote-cancel handling, VoIP token invalidation, audio route/interruption events, diagnostics snapshots, periodic raw RTP statistics, and async cancellation
  • add an IntercomDemo, DocC documentation, a Linphone migration guide, compatibility/security/roadmap documentation, issue templates, and the Major-ios field checklist

Context

The public API advertised TLS while the bundled PJSIP binary was built with --disable-ssl and IPv6 disabled. Remote push cancellation, audio-session recovery, route changes, and PushKit token invalidation also had no complete host-facing flow.

Validation

  • 67 unit tests pass: 19 Objective-C reliability/registry tests and 48 Swift tests
  • generic iOS device build succeeds
  • strict Swift concurrency build succeeds
  • pod lib lint CallWaveKit.podspec --skip-tests --platforms=ios succeeds without --allow-warnings
  • the PJSIP verifier confirms architectures, iOS 15 minimum deployment target, Apple TLS backend, and IPv6 capability
  • demo Swift sources, plist, and entitlements pass static validation

Release gates

This PR intentionally remains a draft. It does not create a tag, GitHub Release, or CocoaPods publication.

Before releasing 0.4.0:

  • pass the real SIPp/Asterisk integration matrix, including REGISTER, INVITE response variants, BYE, DTMF, hold, TLS certificate rejection, SRTP, and TURN
  • pass the Major-ios device/field checklist, including cold launch, locked screen, Wi-Fi/cellular switching, Bluetooth, interruptions, late INVITE, remote cancellation, and repeated calls
  • upload PJSIP.xcframework.zip, SHA-256, SwiftPM checksum, licenses, and the build manifest to the GitHub Release, then switch Package.swift from the local binary target to that release asset
  • verify the appropriate PJSIP licensing terms for the closed-source Majordom application

@PetrShtuka
PetrShtuka marked this pull request as ready for review August 4, 2026 06:16
@PetrShtuka
PetrShtuka merged commit c0bff33 into main Aug 4, 2026
4 checks passed
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.

1 participant