We are excited to announce the general availability of sip:providerCE mr4.5.1 and sip:providerPRO mr4.5.1.

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

The most important changes for mr4.5.1 compared to mr4.4.x are:

  • final stabilization for upcoming mr4.5.2 LTS announcement
  • kamailio: upgrade to latest stable 4.4.2
  • faxserver – full carrier support and remote faxes queuing, faxes retain and retrieval support, various fixes and improvements.
  • ngcp-sync-grants – internal ngcp component for mysql credentials and mysql grants synchronization rework.
  • emergency mapping to extend the emergency_prefix handling
  • configuration option for Admin Web-UI to add links to “Documentation” panel
  • [PRO/Carrier] RTCEngine has been migrated from mongodb to mysql
  • CDR cleanup mechanism is improved to prevent filling up the cdrexport file system
  • new lawful intercept mode via a loop over a peering server
  • [CE] mysql now listens on the loopback interface by default (it was socket)
  • ngcp-panel: password in logs are now masked by default
  • collectd: upgrade to 5.5.1-3~bpo8+1
  • sems: prevent crashes on shutdown
  • [Carrier] optional mysql-cluster support (ndb) for scaling registrations

Is mr4.5.1 LTS (long time supported) release?

The current release line mr4.5.x is going to be the next NGCP LTS and will officially be announced as LTS when mr4.5.2 is released. The only changes from the current mr4.5.1 to the next official mr4.5.2 LTS are an upgrade script for direct mr3.8.x to mr4.5.x upgrade, and potential bug fixes. Otherwise the feature set, functionality and API is fixed and won’t change anymore.

Is it possible to upgrade directly from mr3.8* LTS to mr4.5.1 LTS release?

We will implement such upgrade step for mr4.5.2+. While currently is it possible to update on mr4.5.1 from mr4.4.* only.

Is it possible to upgrade directly from 2.8 LTS to mr4.5.1 LTS release?

No, it is not possible. It is not allowed to jump over LTS releases. Upgrade from 2.8 LTS must be performed on the latest build of release mr3.8 LTS first.

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. For those of you using Amazon Cloud we provide the EC2 AMIs in the following regions:

  • AMI ID for region us-east-1: ami-e69bf9f1
  • AMI ID for region us-west-2: ami-811acde1
  • AMI ID for region us-west-1: ami-e3387583
  • AMI ID for region eu-central-1: ami-28d42447
  • AMI ID for region eu-west-1: ami-2d98e95e
  • AMI ID for region ap-southeast-1: ami-ea1dc589
  • AMI ID for region ap-southeast-2: ami-50784e33
  • AMI ID for region ap-northeast-1: ami-2762ac46
  • AMI ID for region sa-east-1: ami-d953c2b5

Check the relevant section in SPCE 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 mr4.5.1 from scratch.

For the users of the previous version of the SPCE, 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.

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 mr4.5.1 build 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#22251 ngcp-clish is broken for Carrier mr4.5.1 due to missing variable
MT#22237 ngcp-collective-check: Several issues trigger false-positive warnings
MT#22235 Carrier trunk failed to execute sync-db on ngcpcfg apply: Access denied for user ‘sipwise’
MT#22233 Monit reports error for asterisk on Carrier trunk:  Process ‘asterisk’  Connection failed
MT#22217 ngcp-sync-constants fixes/improvements
MT#22211 ngcp-sync-constants hide passwords output
MT#22185 Carrier mr4.5.1 has wrong MySQL grants/credentials just after new installation
MT#22125 Update goss for ngcp system-tests to the latest version 0.2.3
MT#22049 ngcp-reminder 0.13.1.2+0~mr4.4.1.2  error cannot connect to db: Access denied
MT#21879 upgrade mr3.8.7->…->mr4.4.1 doesn’t pass the tests after upgrade to mr4.4.1
MT#21861 Should rtcengine data be migrated from mongodb to mysql during the ngcp upgrade mr4.4->mr4.5 (users,…)?”
MT#21853 rtcengine cannot start with fileshare disabled
MT#21841 MCID – should use central mysql db instead of local
MT#21827 Wrong closing class in Model::InterceptDB
MT#21803 check-ngcp-packages-version failure for ngcp-cloudpbx-devices package
MT#21763 Fixed ngcp-sems segfault due to sbc.so
MT#21753 Improve ngcp-io-scheduler: recent kernel versions (esp when derived from RHEL) don’t support special schedulers in virtio backed VMs anymore
MT#21693 Notify is missing if subscriber has queue enable
MT#21685 ngcp-faxserver carrier support
MT#21683 hide passwords in ngcp-panel logs
MT#21675 DB update from 4.4.1 to trunk fails
MT#21635 remove mongodb
MT#21627 split fileshare from rtcengine
MT#21609 With Remote authentication enabled, each Proxy sends his REGISTER request to external server
MT#21583 Proxy report that user_agent doesn’t have a default value
MT#21557 Subscribers of a “PBX” customer cannot enter the same conference room
MT#21543 Implement emergency mapping
MT#21535 CE mysql skip_networking / skip_name_resolve
MT#21529 support gppX parameters for the peer
MT#21525 Fix templates/mysql services and mysql restart
MT#21513 peer_auth_register parameters not correctly evaluated by SEMS
MT#21477 Add ability to playback audio announcement for non ported LNP number
MT#21459 add “level” filter for api ncoslevels collection
MT#21439 proxy nodes on Carrier mr4.4.1 requires manual ‘db01a->local’ replication fix after new installation
MT#21435 API: pbxdevices GET fails for the reseller account
MT#21415 get rid of unused /etc/apache2/ports.conf
MT#21401 Creating a reminder via API throws a 500 Internal Server Error
MT#21383 Carrier trunk cannot be installed, fixing various errors.
MT#21355 voisniff-ng integration with PINE: ability to parse From/To instead of P-NGCP-* headers
MT#21321 Emergency mode enabled, but calling still possible for caller without  priority enabled
MT#21317 pilot subscriber does not have Numbers table when creating subscriber
MT#21303 Fix cdr-export stability after upgrade
MT#21299 After upgrade mr4.3.1->mr4.4.1 service io-scheduler doesn’t start on system boot anymore
MT#21293 Remote registration using API calls was not successful.
MT#21285 check-tools: RRDs change basename depending on whether SIP_INT_IP is being set
MT#21283 Fixed Loop Detection
MT#21269 Implement snom redirect service (the first step towards snom support)
MT#21267 Upgrade mr4.4->trunk(mr4.5) failed on steps 2.8/ngcpcfg_commit because file /etc/default/ngcp-db doesn’t exist
MT#21247 exim listen all IPs on boot just after installation (randomly reproducible)
MT#21227 consolidate all passwords in constants.yml
MT#21209 Reminder call does not work – Asterisk spool file ‘Permission denied’
MT#21195 Kamailio Trusted IPs are not loaded in cache cause permission db_mode=0
MT#21193 Perl code inconsistencies and best practices changes
MT#21177 Upgrade 2.8->mr3.8.6 failed due to missing file /etc/apt/trusted.gpg.d/sipwise.gpg
MT#21151 templates: Get check-tools templates closer to the check-tools package conffiles
MT#21143 Loop in call to PSTN via LNP and via PBX
MT#21141 ngcp-panel: Access to the handbook is missing
MT#21063 Add ngcp-snmp-agent under monit
MT#21061 Rtpengine start regression in 4.4.1
MT#21057 customtt upgrade improvemets from #20785 affects nigtly ngcp auto upgrade tests
MT#21019 Voicemail Language X header is reseted on Re-Invite
MT#21011 API returns error for Subrscribers if reseller_id is defined
MT#21001 cloud_pbx_callqueue feature does not work. Sems-pbx does not find audio file (queue_waiting_music) from db
MT#20971 New NGCP parameter for Audiocodes SIP device template
MT#20927 kamailio: upgrade to latest stable 4.4.2
MT#20921 Add RTCengine fileshare mysql storage support
MT#20913 IC-Test DTAG / wrong index and content of HIST-INFO-HEADER ( sequential call-forwarding )
MT#20889 Cancel Request contains Route header.
MT#20887 Backport nodejs debian package from stretch to jessie
MT#20847 Collectd plugin NGCP.pm is not thread safe
MT#20807 check-tools: Handle SIP code 204
MT#20797 Add configuration option to Admin Web-UI to add links to “Documentation” pane
MT#20795 fix check_ngcp_status.sh script
MT#20793 After upgrade to 4.4.1 I have ngcp-wrong-packages due to some package in rc state
MT#20787 Document all VSC and their function
MT#20785 ngcp-upgrade should not detect existing customtt.tt2-old files
MT#20781 Fix sdp normalization mechanism in browser sdk
MT#20773 Rewiev the monitoring.txt.tt2 file
MT#20759 acc_callee_user_in and acc_callee_domain_in are NULL in case of call rejected
MT#20747 Master slave replication on PRX-node
MT#20743 Various improvements for MR4.5 handbook
MT#20737 [from|to]_tag field size iall other table that store tag
MT#20735 ngcp-sems cc_sw_prepaid.conf.tt2 and mod_swrating.conf.tt2 has debug=0 hardcoded
MT#20715 Approx refuses connects from (sp2 sp1)
MT#20695 After manual switchover, ngcpcfg status order to “execute ‘etckeeper commit”
MT#20687 Inform PRO/Carrier users about approx cache in use for “apt-get update”
MT#20679 check-tools: Remove obsolete utils.pm module
MT#20655 NGCP panel validation allows spaces in country/area code
MT#20649 Sems doesn’t fail to start if prompt is missing.
MT#20617 Fixed Kamailio core dumps when parsing tcap data
MT#20591 Easy way where to fetch NGCP default tt2
MT#20579 Fixed hb_watchdog causes every 60s a switchover
MT#20573 Call to PBX with CFU: no X2/X3
MT#20557 Update NGCP prompts: IT RO RU US DE
MT#20543 sipwise-base: Reenable the test suite
MT#20525 Set callee lbrtp_set to caller on BLF pickup call
MT#20523 collectd: Does not start on upgrade due to obsolete redis.conf file
MT#20521 Looks like sems generates 486 with double quotes
MT#20511 NGCP discards received History Info Header ( sequential call-forwarding )
MT#20499 A CDR cleanup mechanism is required to prevent filling up the cdrexport file system
MT#20493 Rtpengine module creates double newline in SDP after have extraced the SDP part from a multipart body
MT#20479 Wrong packaging metadata in multiple packages
MT#20465 ngcp-approx-cache-helper works improperly if current folder has a file ends with ‘list’
MT#20441 Wrong CLI presented when call is coming in via an Auto Attendant
MT#20395 NGCP does not send 200ok after client phone sends replaces
MT#20391 Collectd Plugin NGCP.pm use a cmd ‘mk-table-checksum’ which is not installed on OS
MT#20369 API “Internal Server Error” code 500 trying to save an already used number as an alias number to the subscriber
MT#20361 IC-Test DTAG / no cause in RURI of INVITE’s of forwarded calls
MT#20359 Sems issue about not clear “expires” RFC definition in 200OK reply to REGISTER
MT#20349 kamailio LB doesn’t work on CE-trunk while works well on PRO-trunk
MT#20341 ngcp-fraud-daily-lock claims on selfsigned certificate and cannot use ngcp-panel trusted certificate.
MT#20325 All jessie: ngcp-panel doesn’t start due to new perl version 5.20.2-3+deb8u5 (works well on 5.20.2-3+deb8u4)
MT#20315 API PATCH method for the customers is broken
MT#20257 Filter ubscriber for external_id field
MT#20247 Fixed hardcoded RTP set
MT#20235 Yealink devices not upgrading firmware on FW version >V80
MT#20225 Improve our solution for emergency calls from fritzbox
MT#20221 CDR reports local domain as destination domain for PBX
MT#20219 kamailio lawful incercept over peer
MT#20207 Sound set failover
MT#20197 CDR-Exporter doesnt do what it suposed to do
MT#20189 libtcap-binaries: lintian error
MT#20151 MYSQL error: Data too long for column ‘from_tag’
MT#20143 IPv6 address comparison problem in loose_route
MT#20139 lock level 5 should disable register for subscriber
MT#20135 Callqueue resets P-headers
MT#20125 When a CFT or CFB to a PSTN number is used on a call coming in from the PSTN, no call can be set up between the two PST
MT#20105 ngcp-status add support for non-default ssh port
MT#20095 Put kamailio debug level in config.yml
MT#20031 ngcp-approx-cache-helper: Option -n silently changed semantics
MT#20023 API: Delete LNPCarriers
MT#20021 mod_sipwise_vjud: add some debug messages related to normalize_number and search_by_number
MT#20011 Add elasticserach.enable support to start/stop on PRO
MT#20005 collective-check: Emits warnings when exim_queue.rrd has undefined values
MT#19999 Document new fax settings on API
MT#19997 Fax API has wrong documentation
MT#19993 ngcp collective check repors wrong hostname
MT#19987 Document SIP-Signalling LOOP-Detection feature
MT#19985 Call Push fails for “Unknown caller in call from sbc”
MT#19965 rtcengine firefox screenshare problems
MT#19963 approx public access limitation from #12171 doesn’t work
MT#19959 Documentation link not visible if you access as non super-user login
MT#19939 Use Anonymous / Privacy Mechanism based on RFC3323 for outbound calls to PSTN
MT#19901 RTCengine: Migrate to MySQL
MT#19829 upgrade from ‘mr4.2.1’ to ‘mr4.2.2’ is not possible
MT#19821 May Controller::SubscriberProfile::profile_edit delete cc for all customers
MT#19795 refactor provisioning api for creating rtc sessions
MT#19783 Creating a new locked Subscriber wrong Lock Level set
MT#19757 Describe how to configure CLI to show extension for ext-to-ext calls
MT#19755 additional documentation to the pushd part of config.yml
MT#19733 batch size/row limit for cdr-exporter
MT#19731 prevent cdr-exporter from simultaneous execution/piling up cron invocations
MT#19729 Error in Web SIP Call Flows if the Call-ID contains strange characters
MT#19625 Vague error when NCOS name is too long
MT#19623 Create an Invoice failed with 504 Gateway Time-out
MT#19605 [sipphone mobile] Document how to configure NGCP pushd service for both Android and Apple
MT#19549 spce user reported about broken conferencing in mr4.2.1+
MT#19509 Filterinfrom date” and “to date” in Subscriber Calllist in panel produces wrong result
MT#19481 rtcengine send websocket packets to homer
MT#19457 Make LNP lookup conditional on prefix
MT#19407 [CARRIER] Fixed MySQL grants changes are not “spread” for all nodes
MT#19363 In Carrier vTrunk on DB/Mgmt nodes missing RRD information
MT#19301 After upgrade to 3.8.4 BLF pickup doesnt work
MT#19277 NGCP-Sems crashed: “AmRtpAudio.cpp: No such file or directory” (AmRtpAudio::receive at AmRtpAudio.cpp:114)
MT#19023 Vague statements in the PRO Guide
MT#19009 upgrade kamailio to release 4.4.x
MT#18999 Invoice generator doesn’t like & symbol
MT#18993 Expose option to opt-in or opt-out of Sipwise Support access via Web interface
MT#18961 Update doc for new NGCP fax server
MT#18863 Please add ngcp-customtt-diff-helper file to the ngcp platform
MT#18839 upc-cto hpbx pre-prod: Calls to Conference Rooms have bad QoS
MT#18819 PRO is a degraded CARRIER, merge templates packages
MT#18771 Asterisk update severity warnings incorrect
MT#18745 Move announce codes and reasons to config.yml
MT#18723 collectd: Perl plugin segfaults when using Redis perl module
MT#18719 Parameter “from” needs to be removed from ~/.ssh/authorized_keys file
MT#18593 Implement emergency priorization
MT#18561 LI rest API do not reply 40x on LLID change attempt
MT#18507 Test session for new email2fax, fax2mail, webfax and Voicemail with Asterisk 11
MT#18403 collectd: We should switch to upstream’s write_redis module when we switch to 5.5
MT#18235 db_mysql [km_dbase.c:122]: db_mysql_submit_query(): driver error on query: Data too long for column ‘caller_contact’ at row 1
MT#18171 faxserver – retain successful faxes + api to manage them
MT#18105 Ngcp-sems-pbx component is crashing
MT#18055 mod_sipwise_vjud: use proper fields for search by number
MT#17909 NGCP LNP proxy/daemon
MT#17801 rest-api internal authentication for ngcp-* clients
MT#17661 [PRO] Split huge cloudpbx-devices repository/package (extract code from garbage of firmwares)
MT#17655 Enanchment for Kamailio readability and patching customization
MT#17625 ngcp-cloudpbx-pro: metapackage for pbx
MT#17417 Error editing subcriber associated to a Cloud PBX Customer
MT#17041 Research and implement gaps towards SipConnect 1.1
MT#16901 add CDR index on rating_status and start_time
MT#16623 Content of frame for editing invoice template is empty for google chrome > 48
MT#16479 Easy way to know the current CallID engaging a peering server
MT#16473 Fixing several possible software license problems
MT#16273 Voisniff-ng integration with EVE Pine, Utimaco and Lima Group2000
MT#8041 ngcp-sems v.1.6 crashes randomly during nightly builds
MT#31 Create a snmpd configuration