From 7f48c0f6763ce6365d94508b149b8fe04dc8b0b4 Mon Sep 17 00:00:00 2001 From: fusionate Date: Thu, 7 Sep 2023 23:26:27 +0000 Subject: [PATCH] Device - Edit: Integrate QR provisioning for Sipnetic softphone. --- app/devices/app_config.php | 8 ++++- app/devices/device_edit.php | 33 ++++++++++++++++++- .../provision/sipnetic/default/template.csv | 1 + 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 resources/templates/provision/sipnetic/default/template.csv diff --git a/app/devices/app_config.php b/app/devices/app_config.php index b9f7d028fc..b1d1a8f5cc 100644 --- a/app/devices/app_config.php +++ b/app/devices/app_config.php @@ -4189,4 +4189,10 @@ $vendors[$y]['name'] = "linphone"; $z=0; -?> + //sipnetic details + $y++; + $vendors[$y]['uuid'] = "d3e71b2e-f272-4455-ae46-6ac94bdd75cc"; + $vendors[$y]['name'] = "sipnetic"; + $z=0; + +?> \ No newline at end of file diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index f4a99851f0..9093d47483 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -747,7 +747,10 @@ if ($device_template == "grandstream/wave") { $qr_code_enabled = true; } - elseif ($device_template == "linphone/default") { + else if ($device_template == "linphone/default") { + $qr_code_enabled = true; + } + else if ($device_template == "sipnetic/default") { $qr_code_enabled = true; } else { @@ -803,6 +806,34 @@ $content .= ""; } + //build content for sipnetic + else if ($device_template == 'sipnetic/default') { + switch ($row['sip_transport']) { + case 'udp': $sip_transport = 0; break; + case 'tls': $sip_transport = 2; break; + default: $sip_transport = 1; //tcp + } + //check custom template provision location + if (is_file('/usr/share/fusionpbx/templates/provision/'.$device_template.'/template.csv')) { + $template = file_get_contents('/usr/share/fusionpbx/templates/provision/'.$device_template.'/template.csv'); + } + else if (is_file('/var/www/fusionpbx/resources/templates/provision/'.$device_template.'/template.csv')) { + $template = file_get_contents('/var/www/fusionpbx/resources/templates/provision/'.$device_template.'/template.csv'); + } + if (!empty($template)) { + $template = str_replace('{$server_address}', $outbound_proxy_primary, $template); + $template = str_replace('{$user_id}', $row['user_id'], $template); + $template = str_replace('{$password}', str_replace(';',';;',$row['password']), $template); + $template = str_replace('{$display_name}', ($row['display_name'] ?? $row['user_id']), $template); + $template = str_replace('{$auth_id}', ($row['auth_id'] ?? $row['user_id']), $template); + $template = str_replace('{$sip_transport}', $sip_transport, $template); + $template = str_replace('{$outbound_proxy}', $outbound_proxy_primary, $template); + $template = str_replace('{$sip_port}', $row['sip_port'], $template); + $content = $template; + unset($template); + } + } + } //build content for linphone diff --git a/resources/templates/provision/sipnetic/default/template.csv b/resources/templates/provision/sipnetic/default/template.csv new file mode 100644 index 0000000000..a934ce037f --- /dev/null +++ b/resources/templates/provision/sipnetic/default/template.csv @@ -0,0 +1 @@ +d={$server_address};u={$user_id};p={$password};n={$display_name};au={$auth_id};R=1;dt={$sip_transport};op={$outbound_proxy}:{$sip_port};exp=120;vm=*97; \ No newline at end of file