aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2010-11-26 12:22:13 -0500
committerjim-p <jimp@pfsense.org>2010-11-26 12:22:13 -0500
commit614531ee9c99126263cc3e1623221e395e0347d1 (patch)
tree6fe0ca7f4f1f902fe0bbc766df90a070b4d35d0e /config
parent12168601ee0cdbf239ccff803e79f359e4ca0c65 (diff)
downloadpfsense-packages-614531ee9c99126263cc3e1623221e395e0347d1.tar.gz
pfsense-packages-614531ee9c99126263cc3e1623221e395e0347d1.tar.bz2
pfsense-packages-614531ee9c99126263cc3e1623221e395e0347d1.zip
Add settings for expidited SIP, input/output dejitter, and tcp timeout values for phones that do SIP over TCP.
Diffstat (limited to 'config')
-rw-r--r--config/siproxd.inc23
-rw-r--r--config/siproxd.xml36
2 files changed, 59 insertions, 0 deletions
diff --git a/config/siproxd.inc b/config/siproxd.inc
index b6217f24..37a98bdd 100644
--- a/config/siproxd.inc
+++ b/config/siproxd.inc
@@ -183,6 +183,19 @@ function sync_package_siproxd() {
if($siproxd_conf['expeditedforwarding'] != "")
fwrite($fout, "rtp_dscp = 46\n");
+ if($siproxd_conf['expeditedsipforwarding'] != "")
+ fwrite($fout, "sip_dscp = 26\n");
+
+ if ($siproxd_conf['rtp_input_dejitter'] != "")
+ fwrite($fout, "rtp_input_dejitter = " . $siproxd_conf['rtp_input_dejitter'] . "\n");
+ if ($siproxd_conf['rtp_output_dejitter'] != "")
+ fwrite($fout, "rtp_output_dejitter = " . $siproxd_conf['rtp_output_dejitter'] . "\n");
+ if ($siproxd_conf['tcp_timeout'] != "")
+ fwrite($fout, "tcp_timeout = " . $siproxd_conf['tcp_timeout'] . "\n");
+ if ($siproxd_conf['tcp_connect_timeout'] != "")
+ fwrite($fout, "tcp_connect_timeout = " . $siproxd_conf['tcp_connect_timeout'] . "\n");
+ if ($siproxd_conf['tcp_keepalive'] != "")
+ fwrite($fout, "tcp_keepalive = " . $siproxd_conf['tcp_keepalive'] . "\n");
fclose($fout);
@@ -222,6 +235,16 @@ function validate_form_siproxd($post, $input_errors) {
$input_errors[] = 'Invalid hostname or IP address entered for "Outbound Proxy Host".';
if ($post['outboundproxyport'] && !is_port($post['outboundproxyport']))
$input_errors[] = 'Invalid port entered for "Outbound Proxy Port".';
+ if ($post['rtp_input_dejitter'] && (!is_numeric($post['rtp_input_dejitter']) || ($post['rtp_input_dejitter'] < 0)))
+ $input_errors[] = '"Input Dejitter" must be numeric and greater than 0.';
+ if ($post['rtp_output_dejitter'] && (!is_numeric($post['rtp_output_dejitter']) || ($post['rtp_output_dejitter'] < 0)))
+ $input_errors[] = '"Output Dejitter" must be numeric and greater than 0.';
+ if ($post['tcp_timeout'] && (!is_numeric($post['tcp_timeout']) || ($post['tcp_timeout'] < 0)))
+ $input_errors[] = '"TCP inactivity timeout" must be numeric and greater than 0.';
+ if ($post['tcp_connect_timeout'] && (!is_numeric($post['tcp_connect_timeout']) || ($post['tcp_connect_timeout'] < 0)))
+ $input_errors[] = '"TCP Connect Timeout" must be numeric and greater than 0.';
+ if ($post['tcp_keepalive'] && (!is_numeric($post['tcp_keepalive']) || ($post['tcp_keepalive'] < 0)))
+ $input_errors[] = '"TCP Keepalive" must be numeric and greater than 0.';
}
?>
diff --git a/config/siproxd.xml b/config/siproxd.xml
index 5d0d35ef..1041a1df 100644
--- a/config/siproxd.xml
+++ b/config/siproxd.xml
@@ -133,6 +133,36 @@
<type>input</type>
</field>
<field>
+ <fielddescr>Input Dejitter</fielddescr>
+ <fieldname>rtp_input_dejitter</fieldname>
+ <description>Artificial delay to be used to de-jitter RTP data streams. This time is in microseconds. 0 - completely disable dejitter (default)</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>Output Dejitter</fielddescr>
+ <fieldname>rtp_output_dejitter</fieldname>
+ <description>Artificial delay to be used to de-jitter RTP data streams. This time is in microseconds. 0 - completely disable dejitter (default)</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>TCP inactivity timeout</fielddescr>
+ <fieldname>tcp_timeout</fieldname>
+ <description>Inactivity timeout (seconds). After that an idling TCP connection is disconnected. NOTE: Making this too short may cause multiple parallel registrations for the same phone. This timeout must be set larger than the used registration interval.</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>TCP Connect Timeout</fielddescr>
+ <fieldname>tcp_connect_timeout</fieldname>
+ <description>Defines How many msecs siproxd will wait for an successful connect when establishing an outgoing SIP signalling connection. This should be kept as short as possible as waiting for an TCP connection to establish is a BLOCKING operation - while waiting for a connect to succeed no SIP messages are processed (RTP is not affected).</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>TCP Keepalive</fielddescr>
+ <fieldname>tcp_keepalive</fieldname>
+ <description>For TCP SIP signalling, if > 0 empty SIP packets will be sent every 'n' seconds to keep the connection alive. Default is off.</description>
+ <type>input</type>
+ </field>
+ <field>
<fielddescr>Enable proxy authentication</fielddescr>
<fieldname>authentication</fieldname>
<description>If this is checked, clients will be forced to authenticate themselves at the proxy (for registration only).</description>
@@ -157,6 +187,12 @@
</description>
<type>checkbox</type>
</field>
+ <field>
+ <fielddescr>Expedited SIP Forwarding</fielddescr>
+ <fieldname>expeditedsipforwarding</fieldname>
+ <description>This service is designed to allow ISPs to offer a service with attributes similar to a "leased line". This service offers the ULTIMATE IN LOW LOSS, LOW LATENCY AND LOW JITTER by ensuring that there is always sufficient room in output queues for the contracted expedited forwarding traffic.</description>
+ <type>checkbox</type>
+ </field>
</fields>
<custom_php_global_functions>
</custom_php_global_functions>