3. Upgrading from previous versions

3.1. Upgrade from v2.6 to v2.7

The system upgrade from sip:provider CE v2.6 to 2.7 will perform a couple of tasks:

  1. Migrate configuration system to a rolling release schema
  2. Migrate database system to a rolling release schema
  3. Upgrade NGCP software packages
  4. Upgrade NGCP configuration templates
  5. Upgrade base system within Debian 6.0 to latest package versions

For upgrading the sip:provider CE from v2.6 to the latest 2.7 release, execute the following commands:

sed -i 's/2.6/2.7/' /etc/apt/sources.list.d/sipwise.list
apt-get update
apt-get install ngcp-upgrade-2.7-ce

Run the upgrade script as root like this:

ngcp-upgrade

The upgrade script will ask you to confirm that you want to start. Read the given information carefully, and if you agree, proceed with y.

The upgrade process will take several minutes, depending on your network connection and server performance. After everything has been updated successfully, it will finally ask you to reboot your system. Confirm to let the system reboot (it will boot with an updated kernel).

Once up again, double-check your config file /etc/ngcp-config/config.yml (sections will be rearranged now and will contain more parameters) and your domain/subscriber/peer configuration and test the setup. You can find a backup of some important configuration files of your existing 2.6 installation under /var/backup/ngcp-2.7-* (where * is a place holder for a timestamp) in case you need to roll back something at any time. A log file of the upgrade procedure is available at /var/backup/ngcp-2.7-*/upgrade.log.

3.2. What’s new

3.2.1. From v2.6 to v2.7

  • System Enhancements:

    • New network.yml config file defining the full network configuration of the system.
    • Daily-limits based fraud detection.
    • Least-Cost-Routing for SIP peerings.
    • NCOS-level setting per domain.
    • Definition of allowed IPs and/or networks per subscriber.
    • Italian language support.
    • Support to scale SIP routing.

3.2.2. From v2.5 to v2.6

  • IM/Presence, Buddy List and Remote Client Provisioning Support:

    • SIP/SIMPLE for server-side presence handling, supporting PUBLISH, SUBSCRIBE and NOTIFY.
    • XCAP for server-side buddy list management (add, delete and authorize contacts in buddy list).
    • Instant Messaging (page mode supporting MESSAGE).
    • Full support for the Jitsi multi-platform SIP client, including encrypted voice, video, instant messages, screen sharing, remote desktop control and contact lists.
    • Remote Client Provisioning for Jitsi.
  • System Enhancements:

    • Domain- and subscriber-specific sound sets for various announcements like caller busy, caller/callee locked, caller/callee blocked, number unavailable etc.
    • Full rolling-release support with config- and db-schema management, making platform upgrades starting from 2.6 to any future version a breeze.
    • TCP and TLS Support for Peering Servers.
    • Control Session-Timer settings per peer, domain and subscriber.
    • Control user-provided and network-provided number handling for inbound calls per peer, domain and subscriber via the Admin panel.
    • Control the content of various CLI related fields (From-Display, From-User, P-Preferred-Identity, P-Asserted-Identity) per peer, domain and subscriber via the Admin panel.
    • Improved Emergency Call handling with full control over number normalization via Rewrite Rules.
    • Security Handling to view and manage blocked Subscribers and IPs via the Admin Panel.
    • Configuration of Trusted Subscribers to allow unauthenticated calls via the Admin Panel.
    • Disable number normalization in Admin Panel, everything is expected to be entered as E.164 for better transparency.
    • Upgrade of Kamailio to version 3.3.
    • Multi-Threading support in mediaproxy-ng

3.2.3. From v2.4 to v2.5

  • Video Calls: The SPCE now supports video calls, optionally encrypted end-to-end with ZRTP by using a proper SIP client like Jitsi.
  • Time Based Call Forwards: You can define complex time period definitions to trigger call forwards, e.g. for call deflections outside of office hours.
  • Serial Call Hunting: This feature allows you to create serial hunt groups, e.g. to ring your land-line for 10sec, then ring your mobile phone for 30sec, and finally route the call to your voicebox if those targets haven’t picked up the call.
  • Permanent Location Entries: If your device (e.g. a Cisco CallManager Express) can’t register on the platform, you can manually define a permanent registration entry via the Admin Panel.
  • Parallel call limits have been added at peer and subscriber levels.
  • Fraud Detection: Post-Paid Subscribers can automatically get locked for outbound calls if they exceed a certain billing fee threshold during a month. You will receive regular emails with a list of affected subscribers.
  • Call Initiation Time in CDRs: The initiation timestamp of calls is now stored along with the connect timestamp, so you can fetch the call establishment duration from CDRs.
  • The CDR fileformat has been changed. Please check the field list in the handbook to adapt your CDR parsers.
  • IPv6 Support: The SPCE now supports IPv6 both for subscribers and for peerings. It also supports transparent bridging between IPv4 and IPv6 networks and vice versa, both for signaling and for media sessions.
  • Stateless Load-Balancer: The load-balancer has been reworked to operate completely stateless. This change squeezes out even more performance of the system while at the same time reducing the memory foot-print.
  • Strict Rewrite-Rule Checks: When adding rewrite rules to the system, these rules are strictly checked for syntactic and semantic errors before being saved to the DB in order to prevent the proxy from refusing to come up on restarts due to regex errors.
  • Rolling Release Support for DB Schema: All DB Schema changes are now versioned in a separate table, which allows for rolling releases from any past version to the latest one. This is also the first step towards a bleeding-edge trunk version where you can test the latest features without having to wait for stable releases.
  • Optimized I/O Scheduler: Due to the heavy I/O operations for DB access and logging under high load, the I/O scheduler of the kernel has been changed to deadline to increase the throughput.