Release notes
- ## 1.0.36
Fixed parsing SDP with wrong attributes order, which could cause to lose codecs settings
Filter out special characters from the ‘brandName’
Android Flutter: Added ongoing call notification
Android Flutter: Updated notifications using CallStyle/MessagingStyle and separate channels
Android Flutter: Redesigned Activity’s lock screen visibility (enable only when call present)
iOS Flutter: Updated CallKit implementation
iOS Flutter: Added ability to detect and notify Bluetooth device connection
Flutter: Implemented Iterator for CallsModel
Flutter: Added attribute ‘reason’ to the CDR model
//2026.03.29
- ## 1.0.35
Fixed bug with losing mute state when switch between calls or make conference
Improved handling RtcpMux/BUNDLE options when ICE enabled
MacOS: Fixed potential crash on initialize
Fixed triggering ‘OnPlayerState’ event
Added ability to set brandName in the ‘msid’ SDP attribute
Android Flutter: Added ability to sync calls state when Activity destroyed during the call
Android Flutter: Fixed potential exception on display incoming call notification
iOS Flutter: Fixed bug with inverted mute behaviour on iOS 17+
iOS Flutter: Signal Flutter when call muted by CalKit
iOS Flutter: Added new setting ‘enableCallKitMute’ (ability to mute call by CallKit)
iOS Flutter: Added new setting ‘enableCallKitReportCallAsVideo’ (ability to mute call by CallKit)
//2026.03.18
- ## 1.0.34
Windows: Fixed handling homeFolder with Unicode symbols
Windows: Added ability to detect default audio device changes and switch audio during a call
Added ability to retrieve last received SIP message when call terminated
Added ability to end call when it’s waiting on Re-Invite response
Don’t update registration when it’s failed on TCP connection closed by remote side
Redesigned deleting subscriptions (after receive confirmation from remote side)
iOS: improved switching between transports
iOS: converted SiprixPushRegistry to singleton.
Android: added ability to request full screen intent permission
Added ability to set ContentType for Message requests
Flutter: Added homeFolder setting
Added new exampe app with single model for easy start (https://github.com/siprix/SampleFlutter)
//2026.02.25
- ## 1.0.33
Added new method ‘PlayTone’ and ability to play files/tones to local speaker even where there is no call
Redesigned internal mixer impl to avoid sound artifacts when SDK hosts conference call
Added ability to send SIP responses back to sender
Added ability to create few subscriptions for the same ext@account with different events
Added ability to set body for SUBSCRIBE request
Fixed handling SDP with enabled ‘rtcp-mux’
iOS: updated CallKit impl (accept SIP call after activate audio session)
iOS: imroved handling networks switching and restore connection when app become active
Flutter-Android: fixed potential security exception on handling reject call notification
Flutter: updated ‘SubscriptionsModel’ implementation
Flutter example: added popup dialogs for dtmf/transfer.. actions in call UI
Flutter example: added more explicit way to display and set default SIP account
//2025.12.19
- ## 1.0.32
Fixed sound artifacts which could appear when SDK hosts conference call
Added ability to skip registration request when SDK has been successfully registered less than 1sec ago
Android: Use Bluetooth as default device when it present
Android: Added fallback to default ringtone. Redesigned CallNotif service impl
iOS: Added new method ‘handlePushNotif’ which restores registration when push received. Fixes related to handling connection in background mode
//2025.12.05
- ## 1.0.31
Updated upgradeToVideo implementation. Added new mode ‘manual’
Added new event ‘onCallVideoUpgradeRequested’. Triggered when specified ‘acc.upgradeToVideo=manual’ and remote side requests to add video
Added new method ‘acceptVideoUpgrade’. App has invoke it from ‘onCallVideoUpgradeRequested’ event handler.
iOS: Added new method ‘endCallKitCall’. Example app uses it to end CallKit calls when SIP INVITE hasn’t received
Android: Added ability to disable displaying activity on lock screen by adding to manifest. <meta-data android:name=”com.siprix.DontShowWhenLocked” android:value=”true” />
//2025.11.16
- ## 1.0.30
Added new setting ‘acc.upgradeToVideo’ and event ‘onCallVideoUpgraded’
//2025.11.07
- ## 1.0.29
Added new setting ‘ini.enableVUmeter’ and event ‘onVuMeterLevel’. Allow display mic/spkr volume level indicator
Added new setting ‘ini.enableAes128Sha32’. Enable using aes128_sha1_32 SRTP crypto cipher
Added new event ‘onSipNotify’. Triggered when received SIP NOTIFY message. Allow handle voicemail (Message Waiting) notifications.
Added new method ‘getStats(callId)’. Returns call statistics details as string in json format
Fixed handling H264 packetization settings
Android: Fixed potential crash when app uses TLS transport and switches between networks
//2025.11.03
- ## 1.0.28
Added new method ‘UpgradeToVideo’
Fixed handling case when call started with video on hold
iOS/Android: Fixed handling device rotation on capturing video
iOS/Android: Added new method ‘SwitchCamera’
//2025.09.29
- ## 1.0.27
Android: Fixes related to 16K page size support
iOS: Updated handling push notif and incoming calls
//2025.09.20
- ## 1.0.26
Fixed remote hold detection (when all media lines are sendonly or inactive)
Modified handling ‘sips’ scheme (put ‘sips’ to Contact header)
iOS: Added ability to activate audio session manually (when push notification not received)
iOS: Modified internal video rendering implementation
iOS: Fixed ability to use jpeg image instead of camera
iOS: Added new method ‘getCallKitCallUUID’
Android: added ability to skip permissions request
Added new method ‘WriteLog’, and integrated it in the iOS/Android flutter plugins
Updated ‘SiprixVideoRenderer::onResize’ callback in Flutter wrapper;
Modifed ‘unInitialize’ implementation in the Flutter plugins
//2025.09.14
- ## 1.0.25
Added G729 codec support
Fixed handling connection candidates of inactive media lines
Added fallback to first available H264 codec when baseline profile missed
//2025.08.31
- ## 1.0.24
iOS: Revert mistakenly published changes caused build error
//2025.08.26
- ## 1.0.23
Improved detection of the avialability IPv4/IPv6 interfaces
Updated previous fix, which reduces delay on collecting candidates
Added fix for H264 profile-level-id negotiation
//2025.08.24
- ## 1.0.22
Fixed crash on ios/macos when license string is empty
Added fix which prevents long delay on collecting candidates when enabled STUN
Added handler for case when connection can’t be created because of wrong STUN/TURN address
iOS: Added ability to toggle front/back camera
Added new option ‘ini.transpForceIPv4’
Example app: modified default codecs, trigger ‘notifyListeners’ on ‘CallsModel::onConnected’
//2025.08.16
- ## 1.0.21
Prevent potential crash on hold when call initiated as video/fixed handling Hold events
Fixed bug which prevents adding multiple TLS transports
Fixed TURN address resolution
‘OnMessageIncoming’ API update (added messageId arg)
Android: Added 16K page size support
Android: Added ability to display notification when message received
Android: Fixed bug with select audio device on tabled without earpiece
Example app: messages handling improvements
//2025.08.09
- ## 1.0.20
Added new account properties ‘stunServer’,’turnServer’
Added new ini property ‘VideoCallEnabled’
Added new video data property ‘Rotation’
iOS: Fixed conflict class names preventing upload to AppStore
Fixed handling ACK/SDP response (missed ‘onCallConnected’ event)
Fixed potential crash when received SIP MESSAGE without body
Example app: added blind/attended transfer pages
//2025.07.31
- ## 1.0.19
Added new method ‘stopRingtone’
iOS: fixed sound issue when received incoming call in terminated state
Android: added new option ‘listenVolChange’
Android: set BLUETOOTH permissions enabled by default
Example app: added ‘advanced mode’ of the AddAccount page
//2025.06.04
- ## 1.0.18
Windows: Fixed plugin build error, caused by last update
Android: Modified foreground service type (allows to access microphone Android 15 when app is in background)
- ## 1.0.17
Fixed bug with find local account which matches received SIP request
Added new option ‘iceEnabled’
Android: Added ability to request ‘USE_FULL_SCREEN_INTENT’ permission, when it’s declared in app’s manifest
Windows: Fixed bug with detecting is IPv4 available
- ## 1.0.16
Improved CallRecording (capture local+remote sound, use mp3 encoder, write mono or stereo)
Added new ini properties ‘recordStereo’, ‘useDnsSrv’
Flutter example app: Added ‘Record’ menu, updated ‘PlayFile’ menu impl
Android: Fixed bug which prevents stop foreground service after re-create Activity
Android: Fixed crash when library instance has been destroyed and re-initialized in the same process
Android: Fixed crash on create service and resolve app name
- ## 1.0.15
Fixed bug with sending statusCode in the ‘onTerminated’ callback
Added ability to switch calls automatically after call un-held, connected
iOS: Fixed switching between calls and join calls to conference when enabled CallKit
- ## 1.0.14
Added new ini property ‘UnregOnDestroy’
Updated ‘CdrsModel’ with ability to set MaxNumber of items and access items from inherited class
Android: Set compileSdk version to 35
Android.Notifications:
Set notification style ‘CallStyle.forIncomingCall’ on devices with SDK_INT>=31
Added ability to set notification icon in app resources
Added ability to customize notification using own native class
Android.Permissions:
Request permission ‘BLUETOOTH_CONNECT’ in runtime, prevent crash when it missed
Request camera permission only when manifest contains it
Android: Fix vibrate in background
iOS: Send events from library to the app using UI thread
- ## 1.0.13
Android: Updated SiprixRinger implementation
Android: Redesigned plugin with ability to work in background isolate and handle push notif
Updated example app with Firebase push notification related functionality
- ## 1.0.12
iOS: Redesigned and improved CallKit+PushKit implementation
Updated example app with PushKit related functionality
- ## 1.0.11
Added ability to send and receive text messages (SIP MESSAGE request)
Added ability to override DisplayName in outgoing call (method ‘Dest_SetDisplayName’)
Added ability to handle received MediaControlEvent ‘picture_fast_update’
Fixed bug in ‘RewriteContactIp’ option implementation when TCP/TLS transport is using
Fixed parsing RTCP FB parameters of video in SDP
Android: added ability to switch camera by invoke ‘setVideoDevice(0)’
Android: updated permissions request functionality
iOS: Added PushKit support
- ## 1.0.10
iOS: Fixed closing app caused by SIGPIPE signal
Android: Send callIncoming/accept events to the app only after sync accounts
Android: Restored foreground service permissions in example app manifest. (plugin doesn’t add them by default)
Added more arguments to the method ‘CallsModel::sendDtmf’
- ## 1.0.9
iOS: Updated TLS transport implementation (use TLS1.3 by default, ability to use also 1.2 and 1.0)
iOS: Improved ability to detect transports lose/switch and automatically restore registration
iOS: Added more detailed log output for some cases
iOS: Added CallKit icon
Android: Removed foreground service permissions
- ## 1.0.8
Android, iOS: Fixed potential crash when app switched between networks and updates registration
Generate random port number on plugin level when adding new account
- ## 1.0.7
Android: Added ability to handle AirPlaneMode ON/OFF; Fixes related to handle networks switching;
iOS: Fixes related to handle networks switching and restore registration when app becomes active;
- ## 1.0.6
iOS: Fixed crash when app restored from background
- ## 1.0.5
iOS: Added ability to re-create transports when app become active after long time in background
Fixed wrong argument of method ‘updateAccount’ in ‘platform_interface’
- ## 1.0.4
Added CallKit support to iOS (library automatically manages it)
Fixed logs flooding with UDP transport error
- ## 1.0.3
Updated iOS lib (added MinimumOSVersion in plist)
- ## 1.0.2
Fixed handling case when app adds duplicate subscription.
Now library raises error ‘ESubscrAlreadyExist’ and also returns existing subscrId
- ## 1.0.1
Fixed podspec file for ios/macos
Added documentation comments
Added new ini property ‘brandName’
Enabled ability to make attended transfer when call on hold
- ## 1.0.0
Initial release.
Includes SiprixSDK in binary form for 5 platforms and ready to use models for easy UI development.
//2024.11.28