Wiki

Android softphone development



Development
MizuDroid is a fast and feature rich SIP softphone for Android devices, developed by Mizutech with special care for the latest Android features and optimizations for minimal battery usage. 
The MizuDroid Android Softphone is based on the high performance AJVoIP Android SIP library.
New major released (published also on our website and on Google Play) are released usually twice per year, however the software is in continuous development and new stable versions are released almost every week to be delivered for our customers.
MizuDroid is a mature, stable SIP client solution for Android and we provide customized versions for our customers.

The relevant changes in the major new versions are listed below:

Latest stable:
For new customers we always send the latest stable version which usually contains many improvements above the last published demo release. Internally we release a new stable version every month, however the downloadable demo on this website is updated only around once per year.

MizuDroid v.2.7 (November 2, 2018):
  • new: optimizations for Android Pie
  • new: audio focus
  • new: AudioAttributes.Builder with FLAG_LOW_LATENCY on api level 21
  • new: AudioAttributes.Builder with PERFORMANCE_MODE_LOW_LATENCY on api level 26
  • new: FLAG_AUDIBILITY_ENFORCED for loudspeaker
  • new: improved network change detection
  • new: offloading all time consuming tasks from the main thread
  • new: start page customization
  • new: group chat
  • new: offline messaging
  • new: advanced number rewrite
  • new: display contacts with pictures
  • new: centralized SIP account login settings
  • new: my profile with profile picture
  • new: second press on contact trigger the call
  • new: long press action for the main page entries
  • new: "Edit before call" setting
  • new: preferred codec setting
  • new: server side address book integration
  • new: incoming call settings
  • improved: multiple account handling
  • improved: incoming call/chat notifications (fullscreen vs notification)
  • improved: major SIP stack update
  • improved: user interface improvements
  • improved: video callback
  • improved: WiFi lock
  • improved: idle management
  • improved: cpu speed detection
  • improved: reduced audio latency
  • improved: FCM push notifications
  • improved: conference calls and group chat
  • improved: direx: getExternalFilesDir() getExternalMediaDirs()
  • improved: start the sipstack (commoninit) from a separate thread
  • improved: put back DeviceIsIdle for android sdk 23
  • improved: recheck permission request before call
  • improved: works also without permission for the native contact list
  • improved: start on boot
  • improved: performance (various optimizations)
  • fix: wifi lock only if current network is wifi WIFI_MODE_FULL_HIGH_PERF
  • fix: setStreamSolo deprecated sinceapi 23
  • fix: unreg also secondary accounts on exit
  • fix: incoming voip call while other voip call is already in progress
  • fix: incoming voip call while other native call is already in progress
  • fix: no dtmf sounds on keypad (should be very quiet sounds like the system dialer does)
  • fix: ask to save contact even if already exists
  • fix: Context.startForegroundService ANR
  • fix: handle split screen
  • fix: numerous other minor bug fixes
MizuDroid v.2.6 (July 22, 2018):
  • new: Android Oreo (API level 27) optimizations (while keeping full backward compatibility)
  • new: OPUS codec (full support, including all modes, FEC, mixing and recording)
  • new: presence
  • new: in-band DTMF (previously only RFC 2833 and SIP INFO was supported)
  • new: wideband conference
  • new: handle incoming calls while in sleep
  • new: push notification support (direct to SIP server or via FCM gateway)
  • new: WebRTC video support
  • new: quick fine-tune wizards
  • new: ability to move app to SD card
  • new: runtime permissions
  • new: scheduled wake up (used only for service mode to improve reliability on forced terminate)
  • new: enabledirectcalls config option
  • new: def mute and def hold settings
  • new: setting for realm
  • new: unicode for chat
  • new: chat composing notifications
  • new: sms auth (otp)
  • new: eof call stats per connection type
  • new: option to reject phone calls if VoIP call in progress
  • new: optimizations for Android 8 (Oreo)
  • new: improved backward compatibility with very old phones (API level 9)
  • new: option for native contact edit
  • new: forcereregister parameter
  • new: contact image/avatar display
  • new: last call details from the menu
  • new: upload log via email option
  • new: use latest android sdk features when available (codec, agc, etc)
  • new: quick restart sipstack on network change
  • new: check GetNetworkSpeed also before calls
  • new: AGC for recorded voice and volume normalization for the sides
  • new: auto codec switch from wide-band to narrow-band when low quality network is detected
  • new: handle the TRIM_MEMORY_RUNNING_LOW OS event
  • new: Native call on VoIP busy option
  • improved: many performance related optimizations
  • improved: native dialer integration
  • improved: hardware proximity
  • improved: SIP MESSAGE protocol for IM/chat
  • improved: multiple accounts
  • improved: local conference mixer
  • improved: background call handling (incoming calls while device in sleep)
  • improved: speed up activity load time
  • improved: sip stack updated to v.2.6 with many improvements and better compatibility
  • improved: battery usage (multiple micro optimizations)
  • improved: call quality (multiple related improvements and bug fixes)
  • improved: performance while in calls
  • improved: default contacts on the main page (favorites and last calls from native call history)
  • improved: exit behavior
  • improved: voicemail display and better voicemail asterisk compatibility
  • improved: background listener
  • improved: auto-start
  • improved: VoIP call hold
  • improved: CPU performance detection
  • improved: PLC
  • improved: multiple simultaneous calls
  • improved: various GUI improvements
  • improved: device id calculation
  • improved: call disconnect rason display
  • improved: remove ftp lib dependency: eliminate org.apache.commons (ftp)
  • improved: remove apache http client dependency (org.apache.http.client.HttpClient)
  • improved: removed all external dependencies
  • improved: use the API_GetPushNotificationsEx(false) / API_GetPushNotifications
  • improved: phone numbers for contact is displyed as "Call Other"
  • improved: double back key handling
  • improved: proguard config optimizations
  • improved: native call integration
  • improved: all tests wiht StrictMode
  • improved: NAT keep alive
  • improved: use of getLinkUpstreamBandwidthKbps
  • improved: removed exit popus
  • improved: minimize network usage
  • improved: keyboard shorcuts to work with Chromebox (chromeOS - ARCHon) ...especially for the dialpad
  • improved: password requirements verification
  • improved: no need for native dial permission anymore (so no any "dangerious" permission is asked at install)
  • improved: quick settings save
  • improved: various optimizations for chromebook
  • improved: correct handling of various number formats
  • improved: battery usage: check reregistration if no networks, also with tunneling
  • improved: isDeviceIdleMode() isPowerSaveMode()
  • improved: handle network changes better
  • improved: remember last internet speed
  • improved: turn on wifi only when user launch the app or make call
  • improved: a long list of other micro optimizations
  • fix: number rewrite (prefix rewrite)
  • fix: voice record
  • fix: G.729 framing/ptime for voice call recording
  • fix: double register at start
  • fix: multiple frames per packet for speex
  • fix: audio recording problem
  • fix: reject on busy option
  • fix: various SIP protocol related bug fixes
  • fix: remove unnecessary wifi scans (also "stuck partial wake loks", "excessive wakeups")
  • fix: file transfer require filemanager
  • fix: chat messages with special characters
  • fix: synchronized call for null objects
  • fix: disable spellcheck in target number box (and everywhere except chat)
  • fix: phone PopulateTask onPostExecute, activity has stopped
  • fix: settings save only on OK (not on cancel)
  • fix: reject double outbound calls to same destination
  • fix: slow loading and phone remains in loading issues
  • fix: if call was not connected, don't popup ask to save contact
  • fix: unable to register multiple accounts at the same time
  • fix: call recording playback
  • fix: phone PopulateTask onPostExecute, activity has stopped
  • fix: unreg also secondary accounts on exit
  • fix: more then 40 minor bug fix
  • known limitation:
  • -doesn't work with all bluetooth devices
  • -video requires RTC (handles automatically if SIP server has public IP)

You can access the archived change list from here.
MizuDroid is based for our Java SIP library and Android SIP library. You can find the changes for these here and here.




MizuDroid



 |  View Topic History  |