Java VoIP Library Description

The Mizu Java VoIP SDK (JVoIP) is a compact and flexible SIP library which consists of one single jar file of 1 MB and it can be used in many ways:

  • java VoIP library: add VoIP to you java app or (or any JVM based) or create your own Java VoIP SIP client
  • standalone VoIP desktop application: as a compact convenient dialer
  • console/command line VoIP: flexible java SIP client for any automation with endless configuration capabilities
  • VoIP applet: embedded to your website (you can create a custom HTML/CSS design and access from JS)
Cross platform: runs on all OS with Java SE support (Windows, Linux, MAC, others).
It can be used directly from any JVM language such as Java, Kotlin, Closure, Scala, Groowy, JRuby or Jython.
The API can be accessed from: Java, JavaScript or any others via UDP, TCP or HTTP (clear text, URL, JSON, XML).
Compatible with all SIP server, softswitch or IP-PBX such as Asterisk, Freeswitch, FreePBX, Cisco and others.
The settings can be specified from: API, command line, config file, URL or sent via SIP signaling.

With this Java VoIP SDK you have a full featured SIP/media stack in a single jar file, easy to integrate or embed into your desktop or web java application. Create your custom java voip client, integrate it with callcenter software or embed in VoIP devices such as IP-PBX or gateways so users will have a fully functional VoIP softphone without the need to download any other third-party software. You can create your own custom java softphone or use it to add VoIP call capabilities into any software not directly related to VoIP (such as games or CRM’s) or to perform any kind of VoIP automation (auto dialer, auto answer machine, etc).


Download webphone package

Example

 //Include the JVoIP.jar to your project (both the package and the main class is named "webphone")
import webphone.*;

//Get a webphone instance

webphone wobj = new webphone();

//Set parameters (replace uppercase words)
wobj.API_SetParameter("serveraddress", "VOIP_SERVER_IP_OR_DOMAIN");
wobj.API_SetParameter("username", "SIP_USERNAME");
wobj.API_SetParameter("password", "SIP_PASSWORD");

//Initialize the sip stack
wobj.API_Start();    

//Make a call (replace DESTINATION with a SIP username, extension, phone number or SIP URI)
wobj.API_Call(-1, "DESTINATION");

//You can also register, accept incoming calls, send chat message and perform other operations.
//Download a working example from here: Java SDK Test.
//See the documentation for more details.


Features

  • Standard SIP client for voice calls (in/out), chat, conference and others
  • SIP/media stack compatible with any VoIP server or client (Asterisk, any softswitch, gateways, ATA, softphones, IP Phones, X-Lite and many others)
  • Protocols: SIP, RTP, SRTP, UDP, TCP, TLS
  • Peer to peer encrypted media (between JVoIP instances; no server support required for this; can be disabled)
  • NAT/Firewall support: stable SIP and RTP ports, keep-alive, rport support, proxy traversal, fast ICE/fast STUN protocols and auto configuration
  • RFC’s: 2543, 3261, 2976, 3892, 2778, 2779, 3428, 3265, 3515, 3311, 3911, 3581, 3842, 1889, 2327, 3550, 3960, 4028, 3824, 3966, 2663, 3022 and others
  • Supported methods: REGISTER, INVITE, reINVITE, ACK, PRACK, BYE, CANCEL, UPDATE, MESSAGE, INFO, OPTIONS, SUBSCRIBE, NOTIFY, REFER
  • Audio codec: PCMU, PCMA, G.729, GSM, iLBC, SPEEX, OPUS
  • Video codec: H264, H263, H261, MPEG1, MPEG4, MPEG2, VP8, Theora (optional "as-is")
  • HD Audio: Wideband, ultra-wideband and full-band codecs (speex, opus)
  • Audio enhancements: stereo output (will convert mono sources to stereo) , PLC (packet loss concealment), AEC (acoustic echo canceller), noise suppression, silence suppression, AGC (automatic gain control) and auto QoS
  • Conference calls (built-in RTP mixer)
  • Voice recording (local, ftp, http), custom audio streaming
  • DTMF (INFO method in signaling or RFC2833)
  • IM/Chat (RFC 3428), SMS and presence capability
  • Redial, call hold, mute, forward and transfer (attended and unattended)
  • Balance display, call timer, inbound/outbound calls, Caller-ID display, Voicemail (MWI)
  • Additional features: call parking, barge-in, early media, local ring-back, PRACK and 100rel, replaces
  • Pure Java implementation (you don't have to play compiling native code to various platforms)
  • Unlimited lines
Usage
The Java client can be used in a flexible way, suitable for multiple purposes:
  • Use it as a Java SIP library to implement any VoIP solution (VoIP framework for Java)
  • Use it from console as a command line SIP client (it is a powerful SIP client tool with endless configuration options)
  • Use it as a standalone Java SIP application (it has it's own simple dialer GUI)
  • Custom Java callcenter VoIP client (integrate with your call center frontend)
  • Implement a custom Java SIP client
  • Implement a Java softphone
  • Add VoIP call capabilities into any JVM application using as a Java VoIP toolkit (Java, Closure, Scala, Kotlin, Groowy, JRuby or Jython)
  • Java VoIP client for your desktop or web application (you can also integrate into custom hardware such as a mini IP-PBX)
  • Initiate/receive SIP calls from Java, send/receive chat, make conference calls or use any IP-PBX function from Java

What's New

The latest version (v.6.4) have been released at June 7, 2017 with the following changes:
  • new: presence complete rewrite with support for PUBLISH/SUBSCRIBE/NOTIFY
  • new: unicode for chat
  • new: public universal API accessible via UDP/TCP/HTTP (clear text/XML/JSON or URL parameters)
  • new: ability to receive the media streams from the SDK
  • new: multiple simultaneous registrations (multi-account capability via the “extraregisteraccounts” setting)
  • new: UPNP NAT (better NAT handling behind UPNP capable routers)
  • new: reinvite with private media ip if no incoming audio with stun enabled (handling stun external port mismatch)
  • new: more settings such as allowcallredirect, disablesamecall, checkvolumelevel and usecommdevice
  • new: chat composing notifications and send via API_SendChatIsComposing
  • new: detailed call details (API_GetLastCallDetails)
  • new: recorded voice upload via http post (previously only FTP was available)
  • new: auto call forward on no answer (“callforwardonnoanswer” settings)
  • new: enableaudiostreams setting (set to 0 to disable audio recording and playback)
  • improvements: IM delivery robustness
  • improvements: SIP stack handle warning and diversion headers
  • improvements: stun and turn (earlier public IP discovery, doesn’t use on local LAN’s)
  • improvement: various improvements for SIP and mediaench and more native audio features on Windows OS
  • improvement: local conference RTP mixer
  • improvement: SIP proxy and registrar handling
  • improvement: VoIP logs in a separate low-priority thread
  • improvement: better proxy detection for UDP/TCP/TLS
  • improvement: various improvements for direct encrypted peer to peer media handling
  • fix: HTTP API
  • fix: config and log file management
  • fix: DNS SRV record timeout handling
  • fix: AEC for wideband speex and opus
  • fix: audio device listing
  • fix: ptime settings for G.729
  • fix: reject double outbound calls to same destination
  • fix: more than 70 minor fixes and improvements

Pricing


Demo Basic Advanced Gold
Trial Limiations: yes - - -
Max. nr. of Clients: 100 400 unlimited unlimited
Max. nr. of Servers: 1 1 4 10 or more
Audio Codec: all G.711, GSM + G.729, Speex, Opus all
Conference: yes no yes yes
Other features: all standard all all
Email Support: presales support 5 requests / 2 hours 15 requests / 8 hours 40 requests / 24 hours
Dev. Support: - - 1 hour included 8 hours included
Priority Support: - - yes yes, high
Maintenance Upgrades: - 1 year 2 years 4 years
Price: - $990 $1,900 $3,900
Pay with PayPal: Download Buy Now Buy Now Buy Now
Pay with Credit-Card: Download Buy Now Buy Now Buy Now


All prices are in USD. You can find the other payment options here. Delivery time: one workday.


webphone@mizu-voip.com