We are excited to announce the general availability of sip:providerCE v3.1 and sip:providerPRO v3.1, which provide strong improvements of the current 3.x product line!
What’s the sip:provider platform?
The Sipwise sip:provider platform is a highly versatile open source based VoIP soft-switch for ISPs and ITSPs to serve large numbers of SIP subscribers. It leverages existing building blocks like Kamailio, Sems and Asterisk to create a feature-rich and high-performance system by glueing them together in a best-practice approach and implementing missing pieces on top of it.
Sipwise engineers have been working with Asterisk and Kamailio (and its predecessors SER and OpenSER) since 2004, and have roles on the management board of Kamailio and are contributing to these projects both in terms of patches and also financially by sponsoring development tasks. The sip:provider platform is available as a Community Edition (SPCE), which is fully free and open source, and as a commercial PRO appliance shipped turn-key in a high availability setup.
The SPCE provides secure and feature-rich voice and video communication to end customers (voice, video, instant messaging, presence, buddy lists, file transfer, screen sharing, remote desktop control) and connect them to other SIP-, Mobile- or traditional PSTN-networks. It can therefore act as open Skype replacement system, traditional PSTN replacement, Over-The-Top (OTT) platform and also as a Session Border Controller in front of existing VoIP services in order to enable signaling encryption, IPv6 support, fraud- and Denial-of-Service prevention. Another use-case is to act as a Class4 SIP concentrator to bundle multiple SIP peerings for other VoIP services.
What’s new in v3.1?
The majority of the changes compared to v3.0 are lots of bug fixes and usability enhancements. The most important changes are
-
NGCP Panel
- Implement first version of Customer Self Care based on NGCP Panel.
- Implement limitiation of subscribers per Customer Contract.
- Migrate to nginx and optimize RAM usage significantly.
- Graph MySQL statistics in Dashboard.
- Graph hardware stats (fans, temperature, power consumption, etc.) on PRO.
- Store filter/paging selections on dynamic tables.
- Add external SBC hop option to Peering Servers.
- Show corresponding request method for replies in graphical Call Flows on PRO.
-
Billing Enhancements
- Allow higher precision of rates in Billing Fees.
-
Internal Enhancements
- Improve mediaproxy handling on call teardown.
- Improve speed of ngcp-update-db-schema and ngcp-update-cfg-schema.
How do I test-drive the new version?
As usual, we’re providing a VMWare Image, a Virtualbox Image and a Vagrant Box for quick evaluation testing. Check the relevant section in the Handbook for detailed instructions.
How do I install the new version or upgrade from an older one?
For new users, please follow the Installation Instructions in the Handbook to set up the SPCE v3.1 from scratch.
For users of the SPCE v3.0, please follow the upgrade procedure outlined in the Handbook. If you have customized your configurations using customtt.tt2 files, you must migrate your changes to the new configuration files after the upgrade, otherwise all your calls will most certainly fail.
How can I contribute to the project?
Over the last months we’ve started to publish our software components at github.com/sipwise. This is still an on-going effort, which is done on a component-per-component basis. Please check back regularly for new projects to appear there, and feel free to fork them and send us pull requests. For development related questions, please subscribe to our SPCE-Dev Mailing-List at lists.sipwise.com/listinfo/spce-dev.
What’s coming up next?
We are currently working especially hard on the WebRTC part of mediaproxy-ng to implement stream multiplexing and DTLS support to keep up with the latest WebRTC changes, and we hope this will make it into v3.2.
The second important part we’re currently working on is providing you with a new REST interface, which will make it easier to develop third party applications like your own customer interfaces or integration into your soft-clients.
Also, we’re going to change our release cycle from a rough interval of ~3 months to an 8 weeks cycle to be able to bring you new features even quicker. More on the details and the support structure for new releases in a separate post.
Acknowledgements
We want to thank our PRO customers and the SPCE community for their feedback, bug reports and feature suggestions to make this release happen. We hope you enjoy using the v3.1 release and keep your input coming. A big thank you also to all the developers of Kamailio, Sems and Prosody, who make it possible for us to provide an innovative and future-proof SIP/XMPP engine as the core of our platform! And last but not least a HUGE thank you to the Sipwise development team, who worked insanely hard to create this release. You are awesome!
Full Changelog
[Bugfix] Add pbx port to call flow graph
[Bugfix] Adopt upstream patch for milliseconds precision in acc
[Bugfix] caller avp not set when calling from foreign (Andreas Granig) – in progress.
[Bugfix] CDRs shows %23 instead of ‘#’ symbol
[Bugfix] Execute all db-schema scripts in sequential order sorted by ID revision number
[Bugfix] Fix accounting for PBX calls
[Bugfix] Fix statistics for sp-SELF
[Bugfix] In subscriber list of captured calls, show cseq_method instead of method
[Bugfix] kamailio-config-tests: review and check current tests with master
[Bugfix] kamailio-lb should mask internal PBX contact
[Bugfix] kamailio-proxy should clear $var(dpid) after use
[Bugfix] Load caller preferences of referring party in case of blind transfer
[Bugfix] Music on hold from PBX is not proxied
[Bugfix] ngcpcfg-ha: fix syntax error in functions/ha_features
[Bugfix] ngcp-installer fails on Amazon/EC2
[Bugfix] NGCP-Panel: Don’t let admin subscribers terminate their own subscriber
[Bugfix] NGCP-Panel: don’t select own contract id twice when fetching contract structure
[Bugfix] NGCP-panel: Failed to load list of resellers on WEB
[Bugfix] ngcp-panel-nginx: allow http for auto-provisioning devices
[Bugfix] NGCP-panel: Optimisation of memory usage
[Bugfix] ngcp-panel statistics don’t work if rrd name contrains non-alphanumeric chars
[Bugfix] NGCP-panel: Fix warning during WEB startup process.
[Bugfix] Nginx doesn’t start kamailio-presence server
[Bugfix] Nginx doesn’t start on PRO immediately after the installation
[Bugfix] reminder call doesn’t work for PBX users
[Bugfix] Fix weight values for Sip peering gateway
[Enhancement] Ability to debug deployment.sh (the first stage of NGCP installation)
[Enhancement] add deb-src entry (commented) into sources.list
[Enhancement] Add sems-pbx to rsyslog
[Enhancement] Allow sequential PBX device firmware upgrade
[Enhancement] collectd: Add redis plugin
[Enhancement] Don’t leak NGCP-internal headers to the UA
[Enhancement] Enable ipmi plugin in collectd
[Enhancement] Enable nginx plugin in collectd
[Enhancement] force sshd service to start early in the boot process
[Enhancement] Increase rating decimals to allow lower rates
[Enhancement] Migrate apache configs to nginx
[Enhancement] ngcpcfg: Performance optimisation of “ngcpcfg apply” (execution time)
[Enhancement] ngcp-installer fails quietly when encountering errors during ‘ngcpfg build’ run
[Enhancement] ngcp-mediaproxy-ng-daemon does not need to Pre-Depend on ngcp-mediaproxy-ng-kernel-dkms
[Enhancement] ngcp-panel: Avoid unnecessary DB lookups for ACL handling
[Enhancement] NGCP-Panel: Implement limitation for subscribers per contract
[Enhancement] ngcp-update-db-schema: avoid re-execution of ngcp-check_active
[Enhancement] no longer install kamailio + percona repository keys
[Enhancement] Only use mediaproxy for replies to INVITE
[Enhancement] Prepare sems path and config files for multiple instances
[Enhancement] proxy: route out-of-dialog Invite with Replaces to PBX
[Enhancement] Send browser to PBX device when syncing
[Enhancement] Show reseller in device management for config, firmware, profile
[New Feature] kamailio: implement hunt groups in routing
[New Feature] NGCP-Panel: Implement line-based subscriber/feature assignment for PBX product
[New Feature] ngcpsh: implement setting debug levels for sems, kam-lb and kam-proxy