Skip to content

Releases: VIHATTeam/OmiKit

v1.11.4

19 Mar 08:45

Choose a tag to compare

CI/CD

  • Added GitHub Actions workflow for automated CocoaPods release (tag + lint + trunk push on version bump)
  • Added s.changelog URL to podspec for CocoaPods changelog display

v1.11.3

19 Mar 08:42

Choose a tag to compare

Crash Fixes (Crashlytics top crashes — ~503 crashes eliminated)

  • NSRangeException crash (OMIEndpoint.h, Crash #2/#7/#8 — 255 crashes) — OMIEndpointStateString macro had 3 elements but enum had 4 (OMIEndpointClosing). objectAtIndex:3 on 3-element array → crash. Fixed: added "OMIEndpointClosing" + safe bounds check returns "Unknown" for any future out-of-range values.

  • EXC_BAD_ACCESS pjmedia_codec_mgr_enum_codecs (OMIEndpoint.m, OMICallStats.m, Crash #3 — 72 crashes) — pjsua_enum_codecs() called with NULL codec_mgr during VoIP push cold start. 4 call sites missing NULL guard (1 already had it). Fixed: added pjsua_get_pjmedia_endpt() + pjmedia_endpt_get_codec_mgr() NULL check before every pjsua_enum_codecs call.

  • PushKit VoIP kill by iOS (VoIPPushHandler.m, Crash #4 — 85 crashes) — Duplicate VoIP push detection (FIX PUSH-1) called completion() without reportNewIncomingCall → iOS killed app. Fixed: duplicate push path now calls reportAndEndDummyCallWithCompletion to satisfy PushKit requirement.

  • pjsip_timer_init_session crash (OMICallManager.m, Crash #5 — 91 crashes) — startCallToNumberNoReg created PJSIP session while endpoint transitioning to Closing state → session pool corrupt → crash. Fixed: added pjsua_get_state() != PJSUA_STATE_RUNNING guard before call creation.

Call Handling

  • OMIHaveAnotherCall false positive (OmiClient.m) — getNewestCall != nil rejected new calls even when existing call was already disconnected/disconnecting (PJSIP cleanup delay). Most common customer complaint. Fixed: added callState check — only reject if existing call is truly active (not disconnected/disconnecting).

  • OMIHaveAnotherCall diagnostic logging (OmiClient.m) — All 3 HaveAnotherCall exit paths now log full context (SIP user, endpoint state, all active calls with uuid/state/phone/createDate) and auto-upload log file. Search [HaveAnotherCall] on server to diagnose.

Audio

  • AUDIO-STORM speaker toggle fix (OMIEndpoint.m) — Toggle speaker caused ~30 audio underflows in 0.3s → AUDIO-STORM detector killed the call. Fixed: increased threshold from 30→60 and decreased window from 2s→0.5s. Speaker switch (~30 underflows) stays below threshold, real network death (100+ underflows) still detected.

Sample App

  • CallingView timer not starting (ViewController.m) — Outgoing call: CallingView presented at CALLING state, then CONFIRMED created a NEW CallingView → timer reset to 0. Fixed: CONFIRMED reuses existing CallingView, only updates callUUID. Incoming call: CallingView presented AT CONFIRMED → missed CONFIRMED notification. Fixed: startCallTimer called in present completion block.

Release 1.9.26

08 Jan 08:30

Choose a tag to compare

  • Upgrade core omi to version 2.16
  • Improve call audio
  • improve quality call video

1.8.1

09 Oct 03:07

Choose a tag to compare

  • Optimize performane

1.7.39

04 Oct 10:39

Choose a tag to compare

  • Add func set project_id off firebase
  • Optimize code

1.7.38

01 Oct 08:12

Choose a tag to compare

  • Optimize codecs, media
  • Add support get sip_number at OMICALL
  • Add more message error code

1.7.26

23 Jul 02:31

Choose a tag to compare

Release last version
Fix:

  • Missed omi_call off incomming call
  • Improve performance, quality call

1.7.12

01 Mar 06:41

Choose a tag to compare

Release version

  • Improve quality for call

1.6.38

19 Dec 10:43

Choose a tag to compare

  • stable version

release framework

21 Apr 02:14

Choose a tag to compare

  • update Video Calling
  • bug fix
  • Perfomance tunning
  • Quality call control reactive