Skip to content

Commit

Permalink
Merge commit for 2.17.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Kaian committed Feb 22, 2021
2 parents 080ce8a + f3edf2e commit ab59c3d
Show file tree
Hide file tree
Showing 248 changed files with 4,761 additions and 715 deletions.
29 changes: 29 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
Mon, 22 Feb 2021 12:12:13 +0100 IvozProvider Team <[email protected]>

* IvozProvider 2.17.0 released

* Cgrates
- Added reload mutex: ensures no parallel reloads

* Proxies
- Made multiContact per AoR configurable
- Add quality log messages on dialog end
- Fix LCR rule weight for carriers with more than 10 servers
- Fix per-branch WSS detector

* vPBX
- Added configurable call reject method

* API
- Added security testing tools for API
- Added /users/mass_import brand API endppoint in order to allow mass user/extension/terminal/ddi provision
- Improved api response codes: 422 Unprocessable Entity if the payload includes a non existing entity reference

* Provisioning
- Added support for certificate chains for Snom provisioning certificates

* Portals
- Updated invoice generator library in order to avoid some segmentation fault errors
- Allowed null/not null search operation on billable calls price and cost
- Added range holiday date creation screen

Tue, 22 Dec 2020 11:42:13 +0100 IvozProvider Team <[email protected]>

* IvozProvider 2.16.3 released
Expand Down
18 changes: 9 additions & 9 deletions asterisk/agi/composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions asterisk/agi/src/Agi/Action/FaxReceiveStatusAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ public function process()
->setFileBaseName($faxPdfName);

$this->entityTools->persistDto($faxInDto, $faxIn, true);
/** @var FaxesInOutDto $faxInDto */
$faxInDto = $this->entityTools->entityToDto($faxIn);

$this->agi->verbose("Fax %s completed (%d pages)", $faxIn, $faxIn->getPages());
Expand Down
2 changes: 2 additions & 0 deletions asterisk/agi/src/Agi/Action/ServiceAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use Ivoz\Core\Infrastructure\Persistence\Doctrine\Model\Helper\CriteriaHelper;
use Ivoz\Provider\Domain\Model\BrandService\BrandServiceInterface;
use Ivoz\Provider\Domain\Model\CallForwardSetting\CallForwardSetting;
use Ivoz\Provider\Domain\Model\CallForwardSetting\CallForwardSettingDto;
use Ivoz\Provider\Domain\Model\CallForwardSetting\CallForwardSettingInterface;
use Ivoz\Provider\Domain\Model\Company\CompanyInterface;
use Ivoz\Provider\Domain\Model\CompanyService\CompanyServiceInterface;
Expand Down Expand Up @@ -472,6 +473,7 @@ protected function processCallForwardSetting($callForwardType)
}

// Create a new callForwardSetting if none found
/** @var CallForwardSettingDto $callForwardSettingDto */
$callForwardSettingDto = $callForwardSetting
? $this->entityTools->entityToDto($callForwardSetting)
: CallForwardSetting::createDto();
Expand Down
2 changes: 1 addition & 1 deletion asterisk/config/pjsip.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
;;
[global]
type=global
user_agent=Irontec IvozProvider v2.16
user_agent=Irontec IvozProvider v2.17
endpoint_identifier_order=ip,contact,username,anonymous

;;
Expand Down
4 changes: 2 additions & 2 deletions asterisk/config/sorcery.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
;

[res_pjsip]
endpoint/cache = memory_cache,expire_on_reload=yes,object_lifetime_maximum=120
endpoint = config,pjsip.conf,criteria=type=endpoint
endpoint/cache = memory_cache,expire_on_reload=yes,object_lifetime_maximum=120
endpoint = realtime,ps_endpoints
aor/cache = memory_cache,expire_on_reload=yes,object_lifetime_maximum=120
aor = config,pjsip.conf,criteria=type=aor
aor/cache = memory_cache,expire_on_reload=yes,object_lifetime_maximum=120
aor = realtime,ps_aors
voicemail = realtime,voicemail

Expand Down
10 changes: 8 additions & 2 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
ivozprovider (2.16~2.16.3) UNRELEASED; urgency=medium
ivozprovider (2.17~2.17.0) UNRELEASED; urgency=medium

* Version bump to 2.17.0

-- Irontec IvozProvider Team <[email protected]> Mon, 28 Dec 2020 11:34:54 +0100

ivozprovider (2.16~2.16.3) stable; urgency=medium

* Version bump to 2.16.3

-- Irontec IvozProvider Team <[email protected]> Thu, 19 Nov 2020 14:29:25 +0100
-- Irontec IvozProvider Team <[email protected]> Mon, 28 Dec 2020 11:34:53 +0100

ivozprovider (2.16~2.16.2) stable; urgency=medium

Expand Down
4 changes: 4 additions & 0 deletions debian/ivozprovider-profile-portal.postinst
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ function setup_apache_config()
[ ! -L /etc/apache2/sites-enabled/030-ivozprovider-prov.conf ] && /usr/sbin/a2ensite 030-ivozprovider-prov.conf
[ ! -L /etc/apache2/sites-enabled/060-ivozprovider-api.conf ] && /usr/sbin/a2ensite 060-ivozprovider-api.conf

/bin/sed -i 's/^#ServerSignature Off/ServerSignature Off/g' /etc/apache2/conf-enabled/security.conf
/bin/sed -i 's/^ServerSignature On/#ServerSignature On/g' /etc/apache2/conf-enabled/security.conf
/bin/sed -i 's/^ServerTokens .*/ServerTokens Prod/g' /etc/apache2/conf-enabled/security.conf

# Enable services
/bin/systemctl enable apache2
/bin/systemctl reload apache2
Expand Down
4 changes: 2 additions & 2 deletions doc/UPGRADE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ apt-get update

Upgrade your installed ivozprovider-packages:
```
dpkg --get-selections | grep ivozprovider | cut -f1 | xargs apt-get install
apt install $(dpkg --get-selections | grep ivozprovider | cut -f1)
```

Note: Using the previous command instead of tradicional `apt-get upgrade` will warranty new package depencencies to be pulled for installation.
Expand All @@ -22,4 +22,4 @@ We strive to make each minor release compatible with the previous one, but this

## Release upgrade

Upgrading between mayor releases (p.e. from 1.5.0 to 2.1.0) will be by default impossible unless specific instructions are provided. This allows us to make big changes to the codebase without taking into account already existing installations.
Upgrading between mayor releases (p.e. from 1.5.0 to 2.1.0) will be by default impossible unless specific instructions are provided. This allows us to make big changes to the codebase without taking into account already existing installations.
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ These are the configurable settings of *Residential devices*:
If set to 'yes', call won't be established unless it's possible to encryption its audio. If set to 'no',
audio won't be encrypted.

Multi Contact
Same SIP credentials can be configured in multiple SIP devices. In that case, all devices ring
simultaneously when receiving a call. Setting this toggle to 'No' limits this behaviour so that
only latest registered SIP device rings.

.. tip:: Residential device can be contacted due to calls to several DDIs. *DDI In* setting allows remote SIP endpoint to
know which number caused each call, setting that number as destination (R-URI and To headers). This way, residential
device can handle calls differently.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ These are the configurable settings of *Retail accounts*:
If set to 'yes', call won't be established unless it's possible to encryption its audio. If set to 'no',
audio won't be encrypted.

Multi Contact
Same SIP credentials can be configured in multiple SIP devices. In that case, all devices ring
simultaneously when receiving a call. Setting this toggle to 'No' limits this behaviour so that
only latest registered SIP device rings.

.. warning:: All retail accounts within a retail client will have the transcoding capabilities configured at client level.

.. tip:: On retail account edit screen **id** field shows internal identification number assigned to the retail account.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,11 @@ These are the configurable settings of *friends*:
If set to 'yes', call won't be established unless it's possible to encryption its audio. If set to 'no',
audio won't be encrypted.

Multi Contact
Same SIP credentials can be configured in multiple SIP devices. In that case, all devices ring
simultaneously when receiving a call. Setting this toggle to 'No' limits this behaviour so that
only latest registered SIP device rings.

.. note:: Calls to *friends* are considered internal. That means that ACLs won't
be checked when calling a friend, no matter if the origin of the call
is a user or another friend.
Expand Down
15 changes: 14 additions & 1 deletion doc/sphinx/administration_portal/client/vpbx/users.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,25 @@ Basic Configuration
Call waiting
Limits received calls when already handling this number of calls. Set 0 for unlimited.

Calls from non-granted IPs:
Calls from non-granted IPs
Enable calling from non-granted IP addresses for this user.
It limits the number of outgoing calls to avoid toll-fraud.
'None' value makes outgoing calls unlimited as long as client IP
policy is fulfilled. Read :ref:`roadwarrior_users` for further reference.

Multi Contact
Same SIP credentials can be configured in multiple SIP devices. In that case, all devices ring
simultaneously when receiving a call. Setting this toggle to 'No' limits this behaviour so that
only latest registered SIP device rings.

Call Rejection Method
This setting allows configuring a behaviour on call rejection for users with several
SIP devices (Multi Contact: yes). In such scenarios, all devices ring simultaneously and call rejection must
choose whether rejecting call just in the device that declined or in all ringing devices.
Default behaviour is to cancel call in all devices for 600/603 response codes and only in
current device for 480/486. Choose whether you want to force one behaviour or another no
matter which response code your SIP device sends on call rejection.

*********
Voicemail
*********
Expand Down
4 changes: 2 additions & 2 deletions doc/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
# built documents.
#
# The short X.Y version.
version = "2.16"
version = "2.17"
# The full version, including alpha/beta/rc tags.
release = 'Artemis'

Expand Down Expand Up @@ -276,7 +276,7 @@
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'IvozProvider.tex', 'IvozProvider 2.16 Documentation',
(master_doc, 'IvozProvider.tex', 'IvozProvider 2.17 Documentation',
'Irontec', 'manual'),
]

Expand Down
6 changes: 3 additions & 3 deletions kamailio/trunks/config/kamailio.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ log_facility=LOG_LOCAL0
onsend_route_reply=yes

# Add custom Server header
server_header="Server: Irontec IvozProvider v2.16"
user_agent_header="User-Agent: Irontec IvozProvider v2.16"
server_header="Server: Irontec IvozProvider v2.17"
user_agent_header="User-Agent: Irontec IvozProvider v2.17"

####### Modules Section ########

Expand Down Expand Up @@ -556,7 +556,7 @@ route[CHECK_BOUNCE] {
$xavp(ra) = $null;
sql_xquery("cb", "SELECT C.type FROM DDIs D INNER JOIN Companies C ON C.id=D.companyId WHERE D.DDIE164='$rU'", "ra");
if ($xavp(ra=>type) != $null) {
xinfo("[$dlg_var(cidhash)] CHECK-BOUNCE: Call is to one of my DDIs\n");
xnotice("[$dlg_var(cidhash)] CHECK-BOUNCE: Call is to one of my DDIs\n");
$dlg_var(bounced) = '1';
}

Expand Down
Loading

0 comments on commit ab59c3d

Please sign in to comment.