We are excited to announce the general availability of sip:providerCE mr3.5.1 and sip:providerPRO mr3.5.1, aka the new v3.5 Version.

What’s the sip:provider platform?

sip:provider PRO Architecture Overview

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.5.1?

The most important changes for mr3.5.1 are:

  • Developed new sip:Carrier 3.x architecture
  • RTPEngine supports interface bridging now
  • Using Elasticsearch as main logs storage for sip:Carrier 3.x
  • Kamailio has been updated to version 4.1.6
  • Add numbers and names to prosody sipwise-vcard module
  • New REST API methods
  • Debian/Jessie basic preparations/cleanups
  • Kamailio uses Redis for concurrent calls tracking now

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: region us-east-1: ami-c647ffae , region us-west-2: ami-abe6aa9b , region us-west-1: ami-055f4a40 , region eu-west-1: ami-7e54f809 , region ap-southeast-1: ami-649fb936 ,  region ap-southeast-2: ami-15462b2f , region ap-northeast-1: ami-610d3b60 , region sa-east-1: ami-3da41020 .

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.5.1 from scratch.

For users of the SPCE mr3.4.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.5.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#9581 SLA NOTIFY is not routed properly in Carrier 3.x
MT#9579 Carrier 3.x Database.central.dbhost must be pointed to db01
MT#9573 Carrier 3.x Update mysql perms for sp1/sp2
MT#9569 Empty user in location table generate invalid INVITE for SEMS
MT#9515 Sems-pbx reply 488 Invalid Fingerprint in mr3.4.2 to call to auto-attendand
MT#9481 Add credit via REST API
MT#9479 Carrier 3.x NGCP related cron jobs are being installed and executed on all the nodes
MT#9469 Monit restarts nginx if ngcp-panel is not running
MT#9445 Voicemail notification report wrong time
MT#9441 Fixed Call Forwarding to external Voice-Mail
MT#9439 Multiple rewrites of Allow header produce malformed heaeder
MT#9431 Huntgroup policy provisioned via API seems not properly applied in DB
MT#9427 ngcpcfg apply produce an error on inactive node during upgrade (ERROR: connect_unix_sock: connect(ctl.proxy.sock): No such file)
MT#9425 monit 5.9 failed to start some components in trunk (proxy,sems,prosody,ngcp-panel) due to wrong umask on /tmp/XXX folders
MT#9423 Improve ngcp-ppa usability
MT#9419 Remove Diversion from inbound message
MT#9407 Carrier 3.x Add Elasticsearch old indexes cleanup via cron
MT#9403 Voicebox: play empty-prompt when changing to empty folder
MT#9397 Carrier 3.x check_mysql_repl cannot connect database on non-proxy servers
MT#9393 /etc/ngcp-monitoring-tools/collective-check.conf has mysql check on DB node only
MT#9385 Carrier 3.x obtain a unique dbnode
MT#9379 Modifications on db01b are not replicated on the slaves
MT#9377 Carrier 3.x Fixed MWI for carrier case
MT#9373 Kamailio cannot start, low PKG_MEMORY:<core> [io_wait.c:516]: init_io_wait(): ERROR: init_io_wait: could not alloc fd array ()
MT#9369 Export primary_number and alias_numbers in device config
MT#9365 Carrier 3.x Elasticsearch 1.3.4 should be installed by default
MT#9333 Improve debug output for tt2-daemon cannot create socket (error: can’t setup server at /usr/share/ngcp-ngcpcfg/helper//tt2-daemon line 37)
MT#9331 Improve error checking for call to Mobile Push
MT#9329 Call Dsitribution graph – timeout with less then 1 million entries
MT#9319 Fixed JS errors on ngcp-panel in IE9
MT#9313 Document early_reject sound prompts
MT#9307 Ngcp-panel: broken invoice-gen cron job
MT#9299 Single PRO node doesn’t became active on inital boot (HA ERROR: Return code 255 from /etc/init.d/redis-master)
MT#9295 Ngcp-panel: avoid external jquery.min.js resource inclusion in our source code
MT#9291 API Callforwards implement uri deflation
MT#9285 Carrier 3.x Redesign config.yml to be equel on all hosts.
MT#9281 Carrier 3.x Redesign network.yml to be equel on all hosts.
MT#9269 Fixed REST API for pbxdevicemodels to be compatible with 3.4
MT#9263 REST API: cfdestinationsets has incomplete documentation and wrong properties
MT#9253 Pushd uses wrong syslog severities
MT#9251 Installer: replace dependency on aptitude with script to install aptitude
MT#9247 Sshd template: fall back to ListenAddress on all IPs if we got localhost only
MT#9239 Rewrite rule – replacement string validation
MT#9237 Advanced CF config only shows first active mapping entry
MT#9229 Carrier 3.x Proposal to change ‘ds_select_dst’ flag from hash with callid to something else for REGISTER messages
MT#9225 Add numbers to allowed_clis if ossbss.provisioning.auto_allow_cli is set
MT#9213 Re-writing Rules after edit is moved up/down if were moved up/down just before editing
MT#9209 introduce preference allowed_clis_reject_policy
MT#9205 Carrier 3.x Sometimes registration get 200 OK but no entry in location neither in kamailio mem
MT#9189 Update kamailio to 4.1.6
MT#9171 Package captagent for Debian
MT#9169 Carrier 3.x With bonding interface SNMP log daemon.debug snmpd error on subcontainer ‘ia_addr’ insert (-1)
MT#9167 Fixed contract timestamps on create/terminate
MT#9113 Fixed some minor problems during Carrier 3.x installation
MT#9085 $avp(s:acc_state) not always set
MT#9067 Db connection pooling for kamailio-lua
MT#9065 Rtpengine package upgrade ordering
MT#9051 Lookup callee via PBX extension instead of RWR
MT#9047 Remove voip_allowed_ip_groups when terminating subscriber
MT#9041 sipwise-kamailio-config-tests starts failing after upgrade CE mr3.4->trunk since Sep 8
MT#9023 Fixed Unattended/Blind transfer for some corner cases.
MT#9003 Fixed upgrade problem after changing SPCE hostname
MT#8995 Removed hardcoded sp1/sp2 from snmpd.conf.tt2
MT#8981 Non descriptive error on wrong user name in subscribers put api request
MT#8969 cdr-exporter: fixed perlcritic errors
MT#8967 Carrier 3.x Fixed voicemail/faxserver/appserver routing
MT#8961 Fixed auth.log, contained tons of pam_env(cron:session): Unable to open env file: /etc/default/locale: No such file or directory
MT#8959 [ngcp-panel] correct peering server’s weight field validation
MT#8951 Add numbers and names to prosody sipwise-vcard module
MT#8915 Double Record_route entry in INVITE after Failure Route cause ACK getting lost
MT#8911 Carrier 3.x will have the same software installed on all the nodes.
MT#8903 Carrier 3.x Monit starts unnecessary services on inactive node (with status Execution failed)
MT#8901 redis-server has sed -e which aborts init script execution in case on non-zero ngcp-check_active exit code
MT#8895 Moving hylafax and iaxmodem under monit
MT#8889 SP2 on newly installed PRO-trunk doesn’t have role RTP (Monit doesn’t monitor rtpengine).
MT#8873 ngcp-panel subscriber dashboard doesn’t show number of recent calls
MT#8859 Fix $rU, $tU handling on blind transfer
MT#8851 xmpp pushd support
MT#8833 Prosody init script is outdated in templates (missed support of /etc/default/prosody)
MT#8831 Nginx init script from templates is outdated
MT#8829 Apache init script from templates is outdated and has a typo
MT#8827 Collectd init script from templates is outdated
MT#8823 ngcp-panel – create special offpeak date error on validate
MT#8809 ngcp-upgrade – renaming customtt.tt2 to customtt.tt2.ngcp-old – only once
MT#8797 w_record_route(): Double attempt to record-route
MT#8793 Fixed new preference music_on_hold after upgrade to 3.4 (0 by default)
MT#8777 templates – move logrotate.d / glusterfs -> system
MT#8773 ngcpcfg-api: adapt api to Carrier 3.x
MT#8767 Use peer rewrite rules for calls forced to peer by pref.
MT#8763 ngcpcfg – extend to cover multi template paths
MT#8753 kamailio-config-tests: avoid changes on already configured files
MT#8745 CE has no rc*.d symlinks
MT#8743 Improve ngcp-backup stability
MT#8741 Remove unnecessary [- IF PRO -] checks in case of using ngcp-check_active
MT#8739 glusterfs installation fails on Debian/jessie
MT#8735 Fraud lock e-mail lists terminated subscribers
MT#8729 Failing api test
MT#8727 Please add ngcp-check_active as a link to true for CE
MT#8723 CloudPBX: provide direct link for firmware download
MT#8721 Kamailio-config-tests: responder sipp pid are not correct
MT#8715 Prevent system to start more than one ngcp-www_csc daemon
MT#8711 Review contact masking using advertised address
MT#8709 API REST: Always update lock-level
MT#8707 Optimize EC2 AMI for public usage
MT#8703 Provide facilities to check NGCP code and default configuration integrity: ngcp-status
MT#8699 kamailio: debugger reset_msgid fails when the message has been processed already
MT#8673 uninitialized variables are used in ROUTE_EARLY_REJECT
MT#8663 PRO: redis.lua:764: could not connect to localhost:6379
MT#8659 Nginx fails to install on Debian/jessie
MT#8657 EC2 AMI: improve setup for lower performance systems
MT#8653 Unable to register to peer via sems reg_agent
MT#8649 callforwards link missed in subscriber api info
MT#8639 Carrier 3.x update admin_telnet config
MT#8633 is_primary flag in provisioning.voip_dbaliases not set when creating new subscriber
MT#8627 Implement checking URI field in simple callforwards form
MT#8623 Do not brake the replication if repuser password changes
MT#8621 Check callforward spec against empty desctinations
MT#8609 REST API: CFT – description and half empty objects after deleting.
MT#8591 With sst_enable=no, Session-Expires, Min-SE are not propagated but Supported: timer yes.
MT#8589 installer: check for cdrom entry in sources.list and warn user
MT#8577 system-tools: provide make target to check for syntax errors
MT#8567 Allow to supress file changed as we read it in ngcp-backup
MT#8563 Fix style errors and typos in documentation
MT#8561 Filter write methods in API for r/o users
MT#8559 CallFowardings: dapt URI field helpers to empty value (on creation).
MT#8553 Re-INVITE from upstream breaks masking contact
MT#8549 PRO: hb_watchdog, sshd connection limits and sshd_config.tt2
MT#8547 ngcp-panel/ngcp-schema: use of given and Smartmatch breaking with Perl >=5.18
MT#8545 Apache 2.4 expects sites as $site.conf instead of $site
MT#8527 collectd-mod-redis: uses wrong include path for collectd-dev in Debian/jessie
MT#8523 Use alias number for edr export.
MT#8521 Introduce: role rtp in network.yml (supporting proxy and rtpproxy on separate hosts)
MT#8517 Carrier 3.x kamailio: lookup always on DB
MT#8507 ngcp-panel: get rid of libdigest-sha3-perl usage
MT#8503 Add cluster_set section for controlling multiple lbs and rtpengines
MT#8495 banlist on lb via xmlrpc can return another level of nesting
MT#8491 Fixed ability to terminate subscriber via REST – get 500
MT#8481 Improve ngcp-upgrade behaviour re mysql db dumps
MT#8477 service ngcp-rate-o-mat stop produces: Can’t call method finish on an undefined value at /usr/sbin/rate-o-mat line 1495
MT#8475 asterisk doesn’t listen at the sip_int shared IP
MT#8463 HA node failed to became active (HA ERROR: Return code 255 from /etc/init.d/redis-master)
MT#8449 Missing entry in kamailio.dbaliases if subscriber is created via REST API
MT#8447 redis: configure persistence
MT#8441 CE ngcp-eaddress moves ssh_ext to $IFACE, so we cannot connect SSH to previous address anymore.
MT#8437 Discrepancy between CSC Web password field and Admin Web password field
MT#8433 [mkth] Invoice does not show all information
MT#8419 use /etc/nodename not hostname generally
MT#8409 Introduce redis on CE
MT#8401 Encoding problem with special characters in invoice generation
MT#8397 Remove usage of libsys-sig-perl, libregexp-parser-perl, libmoosex-fileattribute-perl
MT#8395 Remove usage of libcatalyst-plugin-email-perl
MT#8387 There seems to be a rounding problem in invoice pdf totals
MT#8371 Customer search is terribly slow in case of big customer’s amount
MT#8367 REST API: Mysql error on reseller login
MT#8359 Add SIP INFO support
MT#8353 Increase number of digits after the decimal point for printed invoices
MT#8329 Add allowed_clis as customer preference
MT#8325 Fixed ngcp-terminate_subscriber
MT#8311 Carrier 3.x add support to ngcp-collective-check
MT#8309 Get rid of JSON::Types::bool()
MT#8299 CloudPBX: implement visual key/line selection in web interface
MT#8297 Start SSH server in reboot after installation grml process
MT#8287 Fixed minor issues with PBX extension management
MT#8279 User input validation for CF target numbers in new admin panel seems to be broken.
MT#8271 Carrier 3.x introduce mgm_int interface type
MT#8261 REST API: api/cftimesets unable to create time set with minutes interval starting with ‘0’
MT#8259 mediaproxy session is not destroyed in ROUTE_STOP_RTPPROXY_BRANCH
MT#8247 Search sipstats by UUID fails
MT#8243 dlg counters in central redis
MT#8225 HA not working for Cloud PBX
MT#8215 Research central log storage options for carrier 3.x open
MT#8203 Registered Devices are not deleted on subscriber termination
MT#8195 Rate-o-mat selecting wrong billing profile if peers have same host name
MT#8193 Use proper firmware for SPA512G and SPA514G phones
MT#8181 Sems 1.6: db_reg_agent functions are not exported to XMLRPC API
MT#8171 asterisk/ngcpcfg.services doesn’t check active node
MT#8167 Move sp*-var-lib-glusterfs-export.pid to /var/run
MT#8157 REST API: Callforward destinations are removed when clearing time sets
MT#8155 ngcp-sync-constants needs to connect to the right server and sync the proper grants to it
MT#8153 ngcpcfg push produces an error even with packages that are not installed.
MT#8127 Carrier 3.x Multiple instance of mysql service
MT#8125 Carrier 3.x Run services depending the role the node has open
MT#8121 Incoming calls interrupted afer 90-180 seconds: fix adding P-Out-Socket to reply (remove ambigous checks)
MT#8117 Carrier 3.x Introduce: role db
MT#8093 Fix instructions for downloading ngcp-installer in 3.x handbooks
MT#8071 Unable to re-assign a number of a terminated subscriber
MT#8067 Create /etc/ngcp_nodename
MT#8065 Problem with billing profile changing
MT#8063 API REST: api/soundfiles unable to upload MOH sound file
MT#8035 Write start_ivr and end_ivr events
MT#8031 ngcpcfg-api: migrate from apache to nginx
MT#7995 lcr_rate: ignore peers without valid fees
MT#7985 Allow ntp listen all interafces but restrict to ntp.servers from config.yml
MT#7943 API: prevent accessing provisioning.voip_subscriber fields on termination if it doesn’t exist anymore
MT#7931 Missed grouping on captured dialogs section of subscriber page for voice calls
MT#7927 Cannot SSH system using cdrexport account (su: Cannot determine your user name.)
MT#7867 Logo inside PDF invoice can’t be changed
MT#7861 Invoice template creation: Use pixels as main unit to be in accordance with svg-edit.
MT#7843 VAT Rate and VAT included missing from Billing Fees
MT#7805 Commit noatime by default to improve system performance
MT#7803 Show invoice links and sections in panel
MT#7791 ngcp-panel: no callthrough CLIs configuration page
MT#7705 Increase the oss.log. No significant info provided right now
MT#7673 Possibility to set the Voicemail number
MT#7607 glusterfs – Fixed logs rotation issue
MT#7573 Upgrade script will cleanup old core files
MT#7533 kamailio-config-tests: stop rate-o-mat service during kamailio tests
MT#7335 Debian/jessie issues in ngcp and related packages
MT#7331 PRO: Update Hylafax+ package to latest upstream release
MT#7327 add jessie support in daily builds/Jenkins jobs
MT#7319 RTP bandwidth limits and optimizations for calls within same network
MT#7275 templates/lsb_scripts are out of sync with debian/${init} scripts
MT#7177 Rewrite numbers for subscriber roles in panel based on its rewrite rules
MT#7007 Use dom/usr outbound_* preferences when force_outbound_calls_to_peer=1
MT#6969 ngcp-panel: trigger SPA device resync via SIP NOTIFY
MT#6485 Improve docker images for sip:provider CE
MT#6299 Challenge domain deletion with security dialog
MT#5879 Improving PDF Invoice generation
MT#5599 Rework ngcp-panel auth/authz to support password-based API access