We are excited to announce the general availability of sip:providerCE mr3.6.1, sip:providerPRO mr3.6.1 and sip:CARRIER mr3.6.1
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 mr3.6.1?
The most important changes for mr3.6.1 are:
- Central config management on SIP:Carrier 3.x installations
- General system cleanup before the next LTS release
- Full migration from Apache to Nginx
- SOAP API is deprecated for now
- Central storage for all SSL certificates under /etc/ngcp-config/ssl/
- Old Subscriber interface has been disabled
- New Subscriber interface has been separated from ngcp-panel Admin interface
- XMPP Multi-user Chat (MUC) is enabled in Prosody
- CloudPBX: Implement park/unpark via VSC: *97* to park and *98* to unpark the call
- CloudPBX: Add auto-provisioning for Panasonic devices
- New REST API methods are now available (e.g. search for customers by external_id, resellers can manage callforwards and faxserver settings, add credits via REST API and more)
- CDR-exporter: dynamic field selection and sftp transfer
- Custom fields gpp0-gpp9 can be stored in CDR tables
- SSLv3 is completely disabled (CVE-2014-3566)
Important upgrade notes:
- Apache is not going to be installed on new installations since mr3.6.1, while we keep it installed during upgrade. Feel free to remove it manually using “apt-get purge apache2” if you do not use it. Otherwise, please migrate your virtualhosts to Nginx and remove Apache.
- SOAP/XMLRPC API has been migrated to Nginx and disabled by default. They are deprecated for now, please switch your components to REST API. Still, SOAP/XMLRPC API are available and can be enabled in config.yml (ossbss->frontend:fcgi). They are going to be deleted in upcoming release(s).
- Old Subscriber selfcare interface is deprecated and has been disabled by default. New ngcp-panel based Subscriber interface has been separated from ngcp-panel Admin interface and available on the old port 443. System owners can separate and control the network interfaces where Subscriber and Admin panels are available (please use web_ext type to assign Subscriber selfcare interface in network.yml and web_int for Admin interface). IMPORTANT: Admin ngcp-panel interface listens on localhost only by default, please assign “web_int” type to appropriate network interface in /etc/ngcp-config/network.yml and run ngcpcfg apply.
- All default SSL certificates described in config.yml were copied to folder /etc/ngcp-config/ssl for central backup/management. Please check and move personal SSL certificates to new storage for further usage.
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. Also you can use our AMI (Amazon Machine Images) image or Docker container. For those of you using Amazon Cloud we provide the EC2 AMIs in the following regions: us-east-1: ami-0033a668, us-west-2: ami-5b165c6b, us-west-1: ami-2feff96a, eu-west-1: ami-8ad661fd, ap-southeast-1: ami-8298bbd0, ap-southeast-2: ami-59294763, ap-northeast-1: ami-0b9aa20a, sa-east-1: ami-df63d5c2.
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 mr3.6.1 from scratch.
For users of the SPCE mr3.5.x, 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?
We are publishing 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.
Acknowledgements
We want to thank our CARRIER and 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 mr3.6.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 of Bugfixes and Enhancements
MT#10117 Fixed SOAP API under nginx (WSDL caching has been improved)
MT#10077 Fixed anonymous calls between subscribers of same customer
MT#10061 Invoice module calculates with different precisions than rate-o-mat
MT#10053 Disable sems 1.6 tm blacklist
MT#10041 REST API request with noAdministrator credentials returns error
MT#10021 PRO: Improved the ha.cf pingnodes building logic
MT#10005 w_record_route(): Double attempt to record-route
MT#9985 Enable MUC in prosody
MT#9983 PRO: Captagent process is controlled by HA now
MT#9971 PRO: ngcpcfg restarts monit first to prevent errors
MT#9965 PRO: skip heartbeat restart on update monit-services
MT#9949 Kamailio-Prox TCP_KEEPIDLE requires SO_KEEPALIVE to function (tcp idle timer)
MT#9941 API REST: PBX Group creation do not set correctly cloud_pbx_hunt_timeout
MT#9937 Carrier 3.x carrier handbook package has been created
MT#9901 CloudPBX: Implement park/unpark via VSC *97* to park and *98* to unpark
MT#9897 Customer Concurrent_max_total_out and max_total
MT#9889 Prosody: Added Audiocodes devices workaround
MT#9885 Added XMPP Last Activity to Prosody
MT#9881 CloudPBX: Implement Panasonic network phone book
MT#9869 Fix bashism on fastcgi daemons
MT#9857 ngcpcfg-api: must run on both nodes
MT#9849 Carrier 3.x mysql: add missing auto_increment_increment option
MT#9843 Add help option to ngcp-ppa command
MT#9837 VMs PRO-trunk failed to be install due to missed web_int on eth0 of sp2
MT#9829 PRO: Can’t uninstall ngcp-templates-pro-hylafaxplus-iax on PRO 3.4+
MT#9787 Emergency call should be always reachable even with concurrent max call set
MT#9775 Carrier 3.x Fixed ngcp-upgrade to installs ngcp-ngcp-carrier package
MT#9773 Collective-check issues in trunk
MT#9745 Error in log file from ROUTE_PREPARE_MOH
MT#9733 Call get stuck if caller is a PBX user and caller max out is reached
MT#9711 CloudPBX: Implement directed call pickup
MT#9709 Fixed error: dispatcher [dispatch.c:1240]: ds_get_index(): destination set [50] not found
MT#9677 Disable old ngcp-panel selfcare interface and move new one to port 443
MT#9675 Remove old ngcp components: subscriber selfcare and apache2
MT#9671 REST API: Search for customers by external_id
MT#9653 API: allow resellers to access callforwards and faxserver settings
MT#9643 Fixed deadlock in tm module
MT#9637 cdr-exporter: implement dynamic field selection and sftp transfer
MT#9633 Sems in prepaid scenario seems to check the wrong database
MT#9623 ngcp-status: ignore /usr/share/keyrings/debian-archive-removed-keys.gpg failure
MT#9607 Failed to terminate subscriber
MT#9603 Fixed lintian errors on captagent package
MT#9601 Rewrite rules are not applied on blind transfer
MT#9599 Fails to delete Allowed_ips list
MT#9597 [Security issue] Disable SSLv3 due to “Poodle (CVE-2014-3566)”
MT#9583 Carrier 3.x MySQL on proxy nodes occupied 100% RAM for bufferpool
MT#9579 Carrier 3.x database.central.dbhost must be switched from db01a to db01
MT#9573 Fixed MySQL perms for sp1/sp2
MT#9569 Empty user in location table generate invalid INVITE for SEMS
MT#9567 Port 1443 was reachable on every IPs (binding to web_ext/web_int now)
MT#9565 Define gpp0-gpp9 as usr-prefs and pass them to CDRs
MT#9563 Office hours not triggered for huntgroup
MT#9561 kamailio crash on dialog timer in mr3.5
MT#9547 ngcp-ossbss migration to nginx
MT#9515 sems-pbx reply 488 Invalid Fingerprint in mr3.4.2 to call to auto-attendand
MT#9497 Remove automatic build of hylafax configs by ngcp-templates-*-hylafax package
MT#9481 REST API: new method to add credits
MT#9479 NGCP related cron jobs are being installed and executed on all the nodes
MT#9447 REST API: Search for customers by external_id
MT#9441 Call Forwarding to external Voice-Mail doesn’t work anymore
MT#9439 Multiple rewrites of Allow header produce malformed heaeder
MT#9431 Huntgroup policy provisioned via API seems not properly applied in DB
MT#9423 Improve ngcp-ppa usability
MT#9385 Carrier 3.x obtain a unique dbnode
MT#9287 Improve ngcpcfg to handle Carrier 3.x configs from central place (mgmt node)
MT#9285 Redesign config.yml to be equal on all hosts.
MT#9281 Redesign network.yml to be equel on all hosts.
MT#9277 PRO: IVR Voucher code to add credit
MT#9275 PRO: IVR check the credit status
MT#9209 Introduce preference allowed_clis_reject_policy
MT#9171 Updated package captagent
MT#9155 Carrier 3.x Fixed LB error: lval_assign (): assignment failed at pos (588,22-588,56)
MT#8995 Removed hardcoded “sp1” and “sp2” from snmpd.conf.tt2
MT#8961 auth.log contains tons of “pam_env(cron:session): Unable to open env file: /etc/default/locale: No such file or directory”
MT#8895 Moving hylafax and iaxmodem under monit
MT#8773 ngcpcfg-api: adapt api to 3.x
MT#8759 Carrier 3.x Aliases for connecting to specific mysql instance
MT#8741 Remove unnecessary [- IF PRO -] checks in case of using ngcp-check_active
MT#8661 Rename mediaproxy-ng to rtpengine in public documentation
MT#8311 Carrier 3.x ngcp-collective-check support
MT#8299 CloudPBX: implement visual key/line selection in web interface
MT#8245 Separate CSC and admin web interface from network perspective
MT#8117 Introduce: role db
MT#6969 ngcp-panel: trigger SPA device resync via SIP NOTIFY
MT#6499 kamailio-config-tests: fix problems on EC2 environment
MT#6243 allow multipart body on kamailio