Fix FLEXIAPI-144 Introduce APP_FLEXISIP_PUSHER_FIREBASE_KEYSMAP as a...

This commit is contained in:
Timothée Jaussoin 2024-03-05 14:51:49 +00:00
parent 6da23a50a8
commit 9e2fcf2c3d
6 changed files with 124 additions and 90 deletions

View file

@ -2,6 +2,11 @@
v1.5
----
- Fix FLEXIAPI-145 Put back the 'code' parameter as an alias for the 'confirmation_key' for the activateEmail and activatePhone endpoints
- Fix FLEXIAPI-144 Introduce APP_FLEXISIP_PUSHER_FIREBASE_KEYSMAP as a replacement for APP_FLEXISIP_PUSHER_FIREBASE_KEY
- Fix FLEXIAPI-142 PUT /accounts endpoint doesn't allow overiding values anymore
- Fix FLEXIAPI-140 Fix the display_name attribute in the Vcard4 render
- Fix FLEXIAPI-139 Refactor the email and phone API documentation
- Fix FLEXIAPI-138 Add ip and user_agent columns to all the tokens and code tables, fill the values when required and display them in the admin
- Fix FLEXIAPI-136 Refactor the Web Panel toggle mechanism and move it to a proper Middleware
- Fix FLEXIAPI-134 Add a system to detect and block abusive accounts

View file

@ -103,7 +103,7 @@ You can find an example CSS file at `public/css/custom.style.css`.
#### Flexisip Push notifications pusher
The API endpoint `POST /account_creation_tokens/send-by-push` uses the `flexisip_pusher` binary delivered by the [Flexisip](https://gitlab.linphone.org/BC/public/flexisip) project (and related package). You must configure the `APP_FLEXISIP_PUSHER_PATH` and `APP_FLEXISIP_PUSHER_FIREBASE_KEY` environnement variables to point to the correct binary.
The API endpoint `POST /account_creation_tokens/send-by-push` uses the `flexisip_pusher` binary delivered by the [Flexisip](https://gitlab.linphone.org/BC/public/flexisip) project (and related package). You must configure the `APP_FLEXISIP_PUSHER_PATH` and `APP_FLEXISIP_PUSHER_FIREBASE_KEYSMAP` environnement variables to point to the correct binary.
APP_FLEXISIP_PUSHER_PATH=/opt/belledonne-communications/bin/flexisip_pusher

View file

@ -7,7 +7,7 @@ APP_SIP_DOMAIN=sip.example.com
APP_LINPHONE_DAEMON_UNIX_PATH=
APP_FLEXISIP_PUSHER_PATH=
APP_FLEXISIP_PUSHER_FIREBASE_KEY=
APP_FLEXISIP_PUSHER_FIREBASE_KEYSMAP= # Each pair is separated using a space and defined as a key:value
APP_API_KEY_EXPIRATION_MINUTES=60 # Number of minutes the generated API Keys are valid
APP_API_ACCOUNT_CREATION_TOKEN_RETRY_MINUTES=60 # Number of minutes between two consecutive account_creation_token creation

View file

@ -23,10 +23,11 @@ use Illuminate\Support\Facades\Log;
class FlexisipPusherConnector
{
private $pusherPath;
private $pnProvider;
private $pnParam;
private $pnPrid;
private ?string $pusherPath = null;
private ?string $pnProvider = null;
private ?string $pnParam = null;
private ?string $pnPrid = null;
private ?string $pusherFirebaseKey = null;
public function __construct(string $pnProvider, string $pnParam, string $pnPrid)
{
@ -35,8 +36,25 @@ class FlexisipPusherConnector
$this->pnParam = $pnParam;
$this->pnPrid = $pnPrid;
if ($this->pnProvider == 'fcm' && config('app.flexisip_pusher_firebase_key') == null) {
Log::error('Firebase pusher key not configured');
if ($this->pnProvider == 'fcm' && config('app.flexisip_pusher_firebase_keysmap') == null) {
Log::error('Firebase pusher keysmap not configured');
}
$firebaseKeysmap = explode(' ', config('app.flexisip_pusher_firebase_keysmap'));
if (count($firebaseKeysmap) > 0) {
$pusherFirebaseKeysmap = [];
foreach ($firebaseKeysmap as $map) {
if (str_contains($map, ':')) {
list($id, $value) = explode(':', $map);
$pusherFirebaseKeysmap[$id] = $value;
}
}
if (array_key_exists($pnParam, $pusherFirebaseKeysmap)) {
$this->pusherFirebaseKey = $pusherFirebaseKeysmap[$pnParam];
}
}
}
@ -51,9 +69,13 @@ class FlexisipPusherConnector
. " --pn-prid " . $this->pnPrid
. " --customPayload '" . $payload . "'";
$command .= in_array($this->pnProvider, ['apns', 'apns.dev'])
? " --apple-push-type Background"
: " --key " . config('app.flexisip_pusher_firebase_key');
if (in_array($this->pnProvider, ['apns', 'apns.dev'])) {
$command .= " --apple-push-type Background";
}
if ($this->pusherFirebaseKey) {
$command .= " --key " . $this->pusherFirebaseKey;
}
$output = null;
$retval = null;

163
flexiapi/composer.lock generated
View file

@ -72,25 +72,25 @@
},
{
"name": "awobaz/compoships",
"version": "2.2.3",
"version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/topclaudy/compoships.git",
"reference": "404901e2ebd6794f70d2710a56edd4b0c500ce1f"
"reference": "25a4ed2aeeb22033cd951e71e661eed235d58698"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/topclaudy/compoships/zipball/404901e2ebd6794f70d2710a56edd4b0c500ce1f",
"reference": "404901e2ebd6794f70d2710a56edd4b0c500ce1f",
"url": "https://api.github.com/repos/topclaudy/compoships/zipball/25a4ed2aeeb22033cd951e71e661eed235d58698",
"reference": "25a4ed2aeeb22033cd951e71e661eed235d58698",
"shasum": ""
},
"require": {
"fakerphp/faker": "^1.18",
"illuminate/database": ">=5.6 <11.0"
"illuminate/database": ">=5.6 <12.0"
},
"require-dev": {
"ext-sqlite3": "*",
"phpunit/phpunit": "^6.0|^8.0|^9.0"
"fakerphp/faker": "^1.18",
"phpunit/phpunit": "^6.0|^8.0|^9.0|^10.0"
},
"suggest": {
"awobaz/blade-active": "Blade directives for the Laravel 'Active' package",
@ -122,7 +122,7 @@
],
"support": {
"issues": "https://github.com/topclaudy/compoships/issues",
"source": "https://github.com/topclaudy/compoships/tree/2.2.3"
"source": "https://github.com/topclaudy/compoships/tree/2.3.0"
},
"funding": [
{
@ -130,7 +130,7 @@
"type": "custom"
}
],
"time": "2023-02-22T16:52:55+00:00"
"time": "2024-02-28T22:21:15+00:00"
},
{
"name": "bacon/bacon-qr-code",
@ -530,16 +530,16 @@
},
{
"name": "doctrine/dbal",
"version": "3.8.2",
"version": "3.8.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "a19a1d05ca211f41089dffcc387733a6875196cb"
"reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/a19a1d05ca211f41089dffcc387733a6875196cb",
"reference": "a19a1d05ca211f41089dffcc387733a6875196cb",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/db922ba9436b7b18a23d1653a0b41ff2369ca41c",
"reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c",
"shasum": ""
},
"require": {
@ -555,12 +555,12 @@
"doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.1",
"phpstan/phpstan": "1.10.57",
"phpstan/phpstan": "1.10.58",
"phpstan/phpstan-strict-rules": "^1.5",
"phpunit/phpunit": "9.6.16",
"psalm/plugin-phpunit": "0.18.4",
"slevomat/coding-standard": "8.13.1",
"squizlabs/php_codesniffer": "3.8.1",
"squizlabs/php_codesniffer": "3.9.0",
"symfony/cache": "^5.4|^6.0|^7.0",
"symfony/console": "^4.4|^5.4|^6.0|^7.0",
"vimeo/psalm": "4.30.0"
@ -623,7 +623,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.8.2"
"source": "https://github.com/doctrine/dbal/tree/3.8.3"
},
"funding": [
{
@ -639,7 +639,7 @@
"type": "tidelift"
}
],
"time": "2024-02-12T18:36:36+00:00"
"time": "2024-03-03T15:55:06+00:00"
},
{
"name": "doctrine/deprecations",
@ -3123,16 +3123,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.0.0",
"version": "v5.0.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc"
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69",
"reference": "2218c2252c874a4624ab2f613d86ac32d227bc69",
"shasum": ""
},
"require": {
@ -3175,9 +3175,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1"
},
"time": "2024-01-07T17:17:35+00:00"
"time": "2024-02-21T19:24:10+00:00"
},
{
"name": "nunomaduro/termwind",
@ -3379,20 +3379,21 @@
},
{
"name": "phar-io/manifest",
"version": "2.0.3",
"version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
"reference": "97803eca37d319dfa7826cc2437fc020857acb53"
"reference": "54750ef60c58e43759730615a392c31c80e23176"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
"reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
"reference": "54750ef60c58e43759730615a392c31c80e23176",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
@ -3433,9 +3434,15 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
"source": "https://github.com/phar-io/manifest/tree/2.0.3"
"source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
"time": "2021-07-20T11:28:43+00:00"
"funding": [
{
"url": "https://github.com/theseer",
"type": "github"
}
],
"time": "2024-03-03T12:33:53+00:00"
},
{
"name": "phar-io/version",
@ -3565,16 +3572,16 @@
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.30",
"version": "9.2.31",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089"
"reference": "48c34b5d8d983006bd2adc2d0de92963b9155965"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089",
"reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965",
"reference": "48c34b5d8d983006bd2adc2d0de92963b9155965",
"shasum": ""
},
"require": {
@ -3631,7 +3638,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31"
},
"funding": [
{
@ -3639,7 +3646,7 @@
"type": "github"
}
],
"time": "2023-12-22T06:47:57+00:00"
"time": "2024-03-02T06:37:42+00:00"
},
{
"name": "phpunit/php-file-iterator",
@ -3884,16 +3891,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.6.16",
"version": "9.6.17",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f"
"reference": "1a156980d78a6666721b7e8e8502fe210b587fcd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3767b2c56ce02d01e3491046f33466a1ae60a37f",
"reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1a156980d78a6666721b7e8e8502fe210b587fcd",
"reference": "1a156980d78a6666721b7e8e8502fe210b587fcd",
"shasum": ""
},
"require": {
@ -3967,7 +3974,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.16"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.17"
},
"funding": [
{
@ -3983,7 +3990,7 @@
"type": "tidelift"
}
],
"time": "2024-01-19T07:03:14+00:00"
"time": "2024-02-23T13:14:51+00:00"
},
{
"name": "psr/cache",
@ -5325,16 +5332,16 @@
},
{
"name": "sebastian/cli-parser",
"version": "1.0.1",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
"reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
"reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
"reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
"shasum": ""
},
"require": {
@ -5369,7 +5376,7 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
"source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
},
"funding": [
{
@ -5377,7 +5384,7 @@
"type": "github"
}
],
"time": "2020-09-28T06:08:49+00:00"
"time": "2024-03-02T06:27:43+00:00"
},
{
"name": "sebastian/code-unit",
@ -5623,16 +5630,16 @@
},
{
"name": "sebastian/diff",
"version": "4.0.5",
"version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
"reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
"reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
"shasum": ""
},
"require": {
@ -5677,7 +5684,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
},
"funding": [
{
@ -5685,7 +5692,7 @@
"type": "github"
}
],
"time": "2023-05-07T05:35:17+00:00"
"time": "2024-03-02T06:30:58+00:00"
},
{
"name": "sebastian/environment",
@ -5752,16 +5759,16 @@
},
{
"name": "sebastian/exporter",
"version": "4.0.5",
"version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
"reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
"reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
"shasum": ""
},
"require": {
@ -5817,7 +5824,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
},
"funding": [
{
@ -5825,20 +5832,20 @@
"type": "github"
}
],
"time": "2022-09-14T06:03:37+00:00"
"time": "2024-03-02T06:33:00+00:00"
},
{
"name": "sebastian/global-state",
"version": "5.0.6",
"version": "5.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "bde739e7565280bda77be70044ac1047bc007e34"
"reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
"reference": "bde739e7565280bda77be70044ac1047bc007e34",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"shasum": ""
},
"require": {
@ -5881,7 +5888,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
},
"funding": [
{
@ -5889,7 +5896,7 @@
"type": "github"
}
],
"time": "2023-08-02T09:26:13+00:00"
"time": "2024-03-02T06:35:11+00:00"
},
{
"name": "sebastian/lines-of-code",
@ -8511,16 +8518,16 @@
},
{
"name": "theseer/tokenizer",
"version": "1.2.2",
"version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
"reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
"reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
"reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"shasum": ""
},
"require": {
@ -8549,7 +8556,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
"source": "https://github.com/theseer/tokenizer/tree/1.2.2"
"source": "https://github.com/theseer/tokenizer/tree/1.2.3"
},
"funding": [
{
@ -8557,7 +8564,7 @@
"type": "github"
}
],
"time": "2023-11-20T00:12:19+00:00"
"time": "2024-03-03T12:36:25+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@ -8832,16 +8839,16 @@
"packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.10.5",
"version": "v3.10.6",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
"reference": "d1a48965f2b25a6cec2eea07d719b568a37c9a88"
"reference": "1fcb37307ebb32207dce16fa160a92b14d8b671f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/d1a48965f2b25a6cec2eea07d719b568a37c9a88",
"reference": "d1a48965f2b25a6cec2eea07d719b568a37c9a88",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/1fcb37307ebb32207dce16fa160a92b14d8b671f",
"reference": "1fcb37307ebb32207dce16fa160a92b14d8b671f",
"shasum": ""
},
"require": {
@ -8855,7 +8862,7 @@
"require-dev": {
"mockery/mockery": "^1.3.3",
"orchestra/testbench-dusk": "^5|^6|^7|^8|^9",
"phpunit/phpunit": "^8.5.30|^9.0",
"phpunit/phpunit": "^9.6|^10.5",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
@ -8900,7 +8907,7 @@
],
"support": {
"issues": "https://github.com/barryvdh/laravel-debugbar/issues",
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.10.5"
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.10.6"
},
"funding": [
{
@ -8912,7 +8919,7 @@
"type": "github"
}
],
"time": "2024-02-15T10:45:45+00:00"
"time": "2024-03-01T14:41:13+00:00"
},
{
"name": "composer/pcre",

View file

@ -49,7 +49,7 @@ return [
* External interfaces
*/
'flexisip_pusher_path' => env('APP_FLEXISIP_PUSHER_PATH', null),
'flexisip_pusher_firebase_key' => env('APP_FLEXISIP_PUSHER_FIREBASE_KEY', null),
'flexisip_pusher_firebase_keysmap' => env('APP_FLEXISIP_PUSHER_FIREBASE_KEYSMAP', null),
'linphone_daemon_unix_pipe' => env('APP_LINPHONE_DAEMON_UNIX_PATH', null),
/**