Force close port (#6870)

* force close profile sip ports

* create force_close_port function

* force close profile sip ports
This commit is contained in:
frytimo
2024-01-17 12:05:28 -04:00
committed by GitHub
parent 81fbd31524
commit 0b977f044d
2 changed files with 75 additions and 0 deletions

View File

@@ -50,6 +50,26 @@
$profile_name = $database->select($sql, $parameters, 'column');
unset($sql, $parameters);
//get the port from sip profile name
$sql = "select sip_profile_setting_value from v_sip_profile_settings ";
$sql .= "where sip_profile_uuid = (select sip_profile_uuid from v_sip_profiles where sip_profile_name = :profile_name limit 1) ";
$sql .= "and sip_profile_setting_name = 'sip-port' ";
$sql .= "and sip_profile_setting_enabled = 'true' ";
$sql .= "limit 1";
$parameters['profile_name'] = $profile;
$profile_port = $database->select($sql, $parameters, 'column');
unset($sql, $parameters);
//get the tls port from sip profile name
$sql = "select sip_profile_setting_value from v_sip_profile_settings ";
$sql .= "where sip_profile_uuid = (select sip_profile_uuid from v_sip_profiles where sip_profile_name = :profile_name limit 1) ";
$sql .= "and sip_profile_setting_name = 'tls-sip-port' ";
$sql .= "and sip_profile_setting_enabled = 'true' ";
$sql .= "limit 1";
$parameters['profile_name'] = $profile;
$profile_tls_port = $database->select($sql, $parameters, 'column');
unset($sql, $parameters);
//validate the gateway
if (!empty($_GET['gateway']) && is_uuid($_GET['gateway'])) {
$gateway_name = $_GET['gateway'];
@@ -62,6 +82,9 @@
break;
case "start":
$command = "sofia profile '".$profile_name."' start";
//ensure there are no stuck ports before trying to start the profile
force_close_port($profile_port);
force_close_port($profile_tls_port);
break;
case "stop":
$command = "sofia profile '".$profile_name."' stop";