summaryrefslogtreecommitdiffstats
path: root/src/gui/userprofileform.ui
diff options
context:
space:
mode:
authorLubos Dolezel <lubos@dolezel.info>2015-06-01 22:04:50 +0200
committerLubos Dolezel <lubos@dolezel.info>2015-06-01 22:04:50 +0200
commitaa9b140a7bb49eb9666678bcbbb544cc536bd6de (patch)
treeaf36808d3322315335cf1e1da5f66435c3282fa5 /src/gui/userprofileform.ui
parent4423e9c3d3a1894359d11ba6097b5cc1aa49ad91 (diff)
downloadtwinkle-aa9b140a7bb49eb9666678bcbbb544cc536bd6de.tar
twinkle-aa9b140a7bb49eb9666678bcbbb544cc536bd6de.tar.gz
twinkle-aa9b140a7bb49eb9666678bcbbb544cc536bd6de.tar.lz
twinkle-aa9b140a7bb49eb9666678bcbbb544cc536bd6de.tar.xz
twinkle-aa9b140a7bb49eb9666678bcbbb544cc536bd6de.zip
GUI build in progress.
The next step is to adapt .ui.h files to use Qt4 UIC-generated headers.
Diffstat (limited to 'src/gui/userprofileform.ui')
-rw-r--r--src/gui/userprofileform.ui9778
1 files changed, 4579 insertions, 5199 deletions
diff --git a/src/gui/userprofileform.ui b/src/gui/userprofileform.ui
index d9f63c2..4758dcc 100644
--- a/src/gui/userprofileform.ui
+++ b/src/gui/userprofileform.ui
@@ -1,3473 +1,3098 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>UserProfileForm</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>UserProfileForm</cstring>
- </property>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0" stdsetdef="1">
+ <author></author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>UserProfileForm</class>
+ <widget class="QDialog" name="UserProfileForm">
<property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>783</width>
- <height>594</height>
- </rect>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>783</width>
+ <height>594</height>
+ </rect>
</property>
- <property name="caption">
- <string>Twinkle - User Profile</string>
+ <property name="windowTitle">
+ <string>Twinkle - User Profile</string>
</property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>layout142</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>profileTextLabel</cstring>
- </property>
- <property name="text">
- <string>User profile:</string>
- </property>
- </widget>
- <widget class="QComboBox">
- <property name="name">
- <cstring>profileComboBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select which profile you want to edit.</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QListBox" row="1" column="0">
- <item>
- <property name="text">
- <string>User</string>
- </property>
- <property name="pixmap">
- <pixmap>penguin.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>SIP server</string>
- </property>
- <property name="pixmap">
- <pixmap>package_network.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Voice mail</string>
- </property>
- <property name="pixmap">
- <pixmap>mwi_none.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Instant message</string>
- </property>
- <property name="pixmap">
- <pixmap>message32.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Presence</string>
- </property>
- <property name="pixmap">
- <pixmap>presence.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>RTP audio</string>
- </property>
- <property name="pixmap">
- <pixmap>kmix.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>SIP protocol</string>
- </property>
- <property name="pixmap">
- <pixmap>package_system.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Transport/NAT</string>
- </property>
- <property name="pixmap">
- <pixmap>yast_babelfish.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Address format</string>
- </property>
- <property name="pixmap">
- <pixmap>yast_PhoneTTOffhook.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Timers</string>
- </property>
- <property name="pixmap">
- <pixmap>clock.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Ring tones</string>
- </property>
- <property name="pixmap">
- <pixmap>knotify.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Scripts</string>
- </property>
- <property name="pixmap">
- <pixmap>edit.png</pixmap>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Security</string>
- </property>
- <property name="pixmap">
- <pixmap>encrypted32.png</pixmap>
- </property>
- </item>
- <property name="name">
- <cstring>categoryListBox</cstring>
- </property>
- <property name="sizePolicy">
+ <layout class="QGridLayout">
+ <item row="0" column="0" rowspan="1" colspan="2">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="profileTextLabel">
+ <property name="text">
+ <string>User profile:</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="profileComboBox">
+ <property name="sizePolicy">
<sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>7</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
</sizepolicy>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select which profile you want to edit.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="Q3ListBox" name="categoryListBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="midLineWidth">
+ <number>0</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select a category for which you want to see or modify the settings.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>User</string>
</property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
+ <property name="pixmap">
+ <pixmap>penguin.png</pixmap>
</property>
- <property name="midLineWidth">
- <number>0</number>
+ </item>
+ <item>
+ <property name="text">
+ <string>SIP server</string>
</property>
- <property name="whatsThis" stdset="0">
- <string>Select a category for which you want to see or modify the settings.</string>
+ <property name="pixmap">
+ <pixmap>package_network.png</pixmap>
</property>
- </widget>
- <widget class="QLayoutWidget" row="2" column="0">
- <property name="name">
- <cstring>layout12</cstring>
+ </item>
+ <item>
+ <property name="text">
+ <string>Voice mail</string>
</property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer8</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>441</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>okPushButton</cstring>
- </property>
- <property name="text">
- <string>&amp;OK</string>
- </property>
- <property name="accel">
- <string>Alt+O</string>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Accept and save your changes.</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>cancelPushButton</cstring>
- </property>
- <property name="text">
- <string>&amp;Cancel</string>
- </property>
- <property name="accel">
- <string>Alt+C</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Undo all your changes and close the window.</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QWidgetStack" row="1" column="1" rowspan="2" colspan="1">
- <property name="name">
- <cstring>settingsWidgetStack</cstring>
+ <property name="pixmap">
+ <pixmap>mwi_none.png</pixmap>
</property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>5</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ </item>
+ <item>
+ <property name="text">
+ <string>Instant message</string>
</property>
- <property name="frameShape">
- <enum>Box</enum>
+ <property name="pixmap">
+ <pixmap>message32.png</pixmap>
</property>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageUser</cstring>
- </property>
- <attribute name="id">
- <number>0</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>userTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
+ </item>
+ <item>
+ <property name="text">
+ <string>Presence</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>presence.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RTP audio</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>kmix.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>SIP protocol</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>package_system.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Transport/NAT</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>yast_babelfish.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Address format</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>yast_PhoneTTOffhook.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Timers</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>clock.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ring tones</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>knotify.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Scripts</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>edit.png</pixmap>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Security</string>
+ </property>
+ <property name="pixmap">
+ <pixmap>encrypted32.png</pixmap>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <layout class="QHBoxLayout">
+ <item>
+ <spacer name="spacer8">
+ <property name="sizeHint">
+ <size>
+ <width>441</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="okPushButton">
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+O</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Accept and save your changes.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelPushButton">
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+C</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Undo all your changes and close the window.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="1" rowspan="2" colspan="1">
+ <widget class="Q3WidgetStack" name="settingsWidgetStack">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>Box</enum>
+ </property>
+ <widget class="QWidget" name="pageUser">
+ <attribute name="id">
+ <number>0</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="userTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>User</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="accountGroupBox">
+ <property name="title">
+ <string>SIP account</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="1" column="0">
+ <widget class="QLabel" name="usernameTextLabel">
+ <property name="text">
+ <string>&amp;User name*:</string>
</property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
+ <property name="buddy" stdset="0">
+ <cstring>usernameLineEdit</cstring>
</property>
- <property name="frameShape">
- <enum>Box</enum>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="domainTextLabel">
<property name="text">
- <string>User</string>
+ <string>&amp;Domain*:</string>
</property>
- <property name="indent">
- <number>10</number>
+ <property name="buddy" stdset="0">
+ <cstring>domainLineEdit</cstring>
</property>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>accountGroupBox</cstring>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
- <property name="title">
- <string>SIP account</string>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="organizationTextLabel">
+ <property name="text">
+ <string>Or&amp;ganization:</string>
</property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>usernameTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;User name*:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>usernameLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="0">
- <property name="name">
- <cstring>domainTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Domain*:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>domainLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>organizationTextLabel</cstring>
- </property>
- <property name="text">
- <string>Or&amp;ganization:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>organizationLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="1" column="1">
- <property name="name">
- <cstring>usernameLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The SIP user name given to you by your provider. It is the user part in your SIP address, &lt;b&gt;username&lt;/b&gt;@domain.com This could be a telephone number.
+ <property name="buddy" stdset="0">
+ <cstring>organizationLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="usernameLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The SIP user name given to you by your provider. It is the user part in your SIP address, &lt;b&gt;username&lt;/b&gt;@domain.com This could be a telephone number.
&lt;br&gt;&lt;br&gt;
This field is mandatory.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="2" column="1">
- <property name="name">
- <cstring>domainLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The domain part of your SIP address, username@&lt;b&gt;domain.com&lt;/b&gt;. Instead of a real domain this could also be the hostname or IP address of your &lt;b&gt;SIP proxy&lt;/b&gt;. If you want direct IP phone to IP phone communications then you fill in the hostname or IP address of your computer.
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="domainLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The domain part of your SIP address, username@&lt;b&gt;domain.com&lt;/b&gt;. Instead of a real domain this could also be the hostname or IP address of your &lt;b&gt;SIP proxy&lt;/b&gt;. If you want direct IP phone to IP phone communications then you fill in the hostname or IP address of your computer.
&lt;br&gt;&lt;br&gt;
This field is mandatory.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="3" column="1">
- <property name="name">
- <cstring>organizationLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>You may fill in the name of your organization. When you make a call, this might be shown to the called party.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>displayLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>This is just your full name, e.g. John Doe. It is used as a display name. When you make a call, this display name might be shown to the called party.</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>dislpayTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Your name:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>displayLineEdit</cstring>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>authenticationGroupBox</cstring>
</property>
- <property name="title">
- <string>SIP authentication</string>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="organizationLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>You may fill in the name of your organization. When you make a call, this might be shown to the called party.</string>
</property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>authRealmTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Realm:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>authRealmLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>authNameTextLabel</cstring>
- </property>
- <property name="text">
- <string>Authentication &amp;name:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>authNameLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>authRealmLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The realm for authentication. This value must be provided by your SIP provider. If you leave this field empty, then Twinkle will try the user name and password for any realm that it will be challenged with.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="1" column="1">
- <property name="name">
- <cstring>authNameLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Your SIP authentication name. Quite often this is the same as your SIP user name. It can be a different name though.</string>
- </property>
- </widget>
- <widget class="QLabel" row="4" column="0">
- <property name="name">
- <cstring>authAkaAmfTextLabel</cstring>
- </property>
- <property name="text">
- <string>AKA AM&amp;F:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>authAkaAmfLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>authAkaOpTextLabel</cstring>
- </property>
- <property name="text">
- <string>A&amp;KA OP:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>authAkaOpLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="2" column="1">
- <property name="name">
- <cstring>authPasswordLineEdit</cstring>
- </property>
- <property name="echoMode">
- <enum>Password</enum>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Your password for authentication.</string>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="0">
- <property name="name">
- <cstring>authPasswordTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Password:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>authPasswordLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="4" column="1">
- <property name="name">
- <cstring>authAkaAmfLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Authentication management field for AKAv1-MD5 authentication.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="3" column="1">
- <property name="name">
- <cstring>authAkaOpLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Operator variant key for AKAv1-MD5 authentication.</string>
- </property>
- </widget>
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer9</cstring>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="displayLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>This is just your full name, e.g. John Doe. It is used as a display name. When you make a call, this display name might be shown to the called party.</string>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="dislpayTextLabel">
+ <property name="text">
+ <string>&amp;Your name:</string>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="buddy" stdset="0">
+ <cstring>displayLineEdit</cstring>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>110</height>
- </size>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageSipServer</cstring>
- </property>
- <attribute name="id">
- <number>1</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>sipServerTitleTextLabel</cstring>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="authenticationGroupBox">
+ <property name="title">
+ <string>SIP authentication</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="authRealmTextLabel">
+ <property name="text">
+ <string>&amp;Realm:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>authRealmLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="authNameTextLabel">
+ <property name="text">
+ <string>Authentication &amp;name:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>authNameLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="authRealmLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The realm for authentication. This value must be provided by your SIP provider. If you leave this field empty, then Twinkle will try the user name and password for any realm that it will be challenged with.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="authNameLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>Your SIP authentication name. Quite often this is the same as your SIP user name. It can be a different name though.</string>
</property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="authAkaAmfTextLabel">
+ <property name="text">
+ <string>AKA AM&amp;F:</string>
</property>
- <property name="frameShape">
- <enum>Box</enum>
+ <property name="buddy" stdset="0">
+ <cstring>authAkaAmfLineEdit</cstring>
</property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="authAkaOpTextLabel">
<property name="text">
- <string>SIP server</string>
+ <string>A&amp;KA OP:</string>
</property>
- <property name="indent">
- <number>10</number>
+ <property name="buddy" stdset="0">
+ <cstring>authAkaOpLineEdit</cstring>
</property>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>registrarGroupBox</cstring>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
- <property name="title">
- <string>Registrar</string>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="authPasswordLineEdit">
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
</property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>Your password for authentication.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="authPasswordTextLabel">
+ <property name="text">
+ <string>&amp;Password:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>authPasswordLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="authAkaAmfLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>Authentication management field for AKAv1-MD5 authentication.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="authAkaOpLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>Operator variant key for AKAv1-MD5 authentication.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer9">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>110</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageSipServer">
+ <attribute name="id">
+ <number>1</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="sipServerTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>SIP server</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="registrarGroupBox">
+ <property name="title">
+ <string>Registrar</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="registrarTextLabel">
+ <property name="text">
+ <string>&amp;Registrar:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>registrarLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="registrarLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The hostname, domain name or IP address of your registrar. If you use an outbound proxy that is the same as your registrar, then you may leave this field empty and only fill in the address of the outbound proxy.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="expiryTextLabel">
+ <property name="text">
+ <string>&amp;Expiry:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>expirySpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QSpinBox" name="expirySpinBox">
+ <property name="minimumSize">
+ <size>
+ <width>90</width>
+ <height>0</height>
+ </size>
</property>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>registrarTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Registrar:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>registrarLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>registrarLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The hostname, domain name or IP address of your registrar. If you use an outbound proxy that is the same as your registrar, then you may leave this field empty and only fill in the address of the outbound proxy.</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>expiryTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Expiry:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>expirySpinBox</cstring>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="1" column="1">
- <property name="name">
- <cstring>layout22</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>expirySpinBox</cstring>
- </property>
- <property name="minimumSize">
- <size>
- <width>90</width>
- <height>0</height>
- </size>
- </property>
- <property name="maxValue">
- <number>999999</number>
- </property>
- <property name="lineStep">
- <number>100</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The registration expiry time that Twinkle will request.</string>
- </property>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>secondsTextLabel</cstring>
- </property>
- <property name="text">
- <string>seconds</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>260</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>regAtStartupCheckBox</cstring>
- </property>
- <property name="text">
- <string>Re&amp;gister at startup</string>
- </property>
- <property name="accel">
- <string>Alt+G</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should automatically register when you run this user profile. You should disable this when you want to do direct IP phone to IP phone communication without a SIP proxy.</string>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>layout37</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>regAddQvalueCheckBox</cstring>
- </property>
- <property name="text">
- <string>Add q-value to registration</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The q-value indicates the priority of your registered device. If besides Twinkle you register other SIP devices for this account, then the network may use these values to determine which device to try first when delivering a call.</string>
- </property>
- </widget>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>regQvalueLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The q-value is a value between 0.000 and 1.000. A higher value means a higher priority.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer48</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>210</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </grid>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>outboundProxyGroupBox</cstring>
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The registration expiry time that Twinkle will request.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="secondsTextLabel">
+ <property name="text">
+ <string>seconds</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer1">
+ <property name="sizeHint">
+ <size>
+ <width>260</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="regAtStartupCheckBox">
+ <property name="text">
+ <string>Re&amp;gister at startup</string>
</property>
- <property name="title">
- <string>Outbound Proxy</string>
+ <property name="shortcut">
+ <string>Alt+G</string>
</property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>Indicates if Twinkle should automatically register when you run this user profile. You should disable this when you want to do direct IP phone to IP phone communication without a SIP proxy.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" rowspan="1" colspan="2">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QCheckBox" name="regAddQvalueCheckBox">
+ <property name="text">
+ <string>Add q-value to registration</string>
</property>
- <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>useProxyCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Use outbound proxy</string>
- </property>
- <property name="accel">
- <string>Alt+U</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should use an outbound proxy. If an outbound proxy is used then all SIP requests are sent to this proxy. Without an outbound proxy, Twinkle will try to resolve the SIP address that you type for a call invitation for example to an IP address and send the SIP request there.</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>proxyTextLabel</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Outbound &amp;proxy:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>proxyLineEdit</cstring>
- </property>
- </widget>
- <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>proxyNonResolvableCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Don't send a request to proxy if its destination can be resolved locally.</string>
- </property>
- <property name="accel">
- <string>Alt+D</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>When you tick this option Twinkle will first try to resolve a SIP address to an IP address itself. If it can, then the SIP request will be sent there. Only when it cannot resolve the address, it will send the SIP request to the proxy (note that an in-dialog request will only be sent to the proxy in this case when you also ticked the previous option.)</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="1" column="1">
- <property name="name">
- <cstring>proxyLineEdit</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The hostname, domain name or IP address of your outbound proxy.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>allRequestsCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Send in-dialog requests to proxy</string>
- </property>
- <property name="accel">
- <string>Alt+S</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>SIP requests within a SIP dialog are normally sent to the address in the contact-headers exchanged during call setup. If you tick this box, that address is ignored and in-dialog request are also sent to the outbound proxy.</string>
- </property>
- </widget>
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer10</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>The q-value indicates the priority of your registered device. If besides Twinkle you register other SIP devices for this account, then the network may use these values to determine which device to try first when delivering a call.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="regQvalueLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The q-value is a value between 0.000 and 1.000. A higher value means a higher priority.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer48">
+ <property name="sizeHint">
+ <size>
+ <width>210</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="outboundProxyGroupBox">
+ <property name="title">
+ <string>Outbound Proxy</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="useProxyCheckBox">
+ <property name="text">
+ <string>&amp;Use outbound proxy</string>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ <property name="shortcut">
+ <string>Alt+U</string>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="whatsThis" stdset="0">
+ <string>Indicates if Twinkle should use an outbound proxy. If an outbound proxy is used then all SIP requests are sent to this proxy. Without an outbound proxy, Twinkle will try to resolve the SIP address that you type for a call invitation for example to an IP address and send the SIP request there.</string>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>100</height>
- </size>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="proxyTextLabel">
+ <property name="enabled">
+ <bool>true</bool>
</property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageRtpAudio</cstring>
- </property>
- <attribute name="id">
- <number>2</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>rtpAudioTitleTextLabel</cstring>
+ <property name="text">
+ <string>Outbound &amp;proxy:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>proxyLineEdit</cstring>
</property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="proxyNonResolvableCheckBox">
+ <property name="text">
+ <string>&amp;Don't send a request to proxy if its destination can be resolved locally.</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+D</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When you tick this option Twinkle will first try to resolve a SIP address to an IP address itself. If it can, then the SIP request will be sent there. Only when it cannot resolve the address, it will send the SIP request to the proxy (note that an in-dialog request will only be sent to the proxy in this case when you also ticked the previous option.)</string>
</property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="proxyLineEdit">
+ <property name="enabled">
+ <bool>true</bool>
</property>
- <property name="frameShape">
- <enum>Box</enum>
+ <property name="whatsThis" stdset="0">
+ <string>The hostname, domain name or IP address of your outbound proxy.</string>
</property>
+ </widget>
+ </item>
+ <item row="2" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="allRequestsCheckBox">
<property name="text">
- <string>RTP audio</string>
+ <string>&amp;Send in-dialog requests to proxy</string>
</property>
- <property name="indent">
- <number>10</number>
+ <property name="shortcut">
+ <string>Alt+S</string>
</property>
- </widget>
- <widget class="QTabWidget">
- <property name="name">
- <cstring>rtpAudioTabWidget</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>SIP requests within a SIP dialog are normally sent to the address in the contact-headers exchanged during call setup. If you tick this box, that address is ignored and in-dialog request are also sent to the outbound proxy.</string>
</property>
- <widget class="QWidget">
- <property name="name">
- <cstring>tabCodecs</cstring>
- </property>
- <attribute name="title">
- <string>Co&amp;decs</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget" row="1" column="0">
- <property name="name">
- <cstring>layout18</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>ptimeTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;G.711/G.726 payload size:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>ptimeSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>ptimeSpinBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>46</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>32767</width>
- <height>32767</height>
- </size>
- </property>
- <property name="maxValue">
- <number>50</number>
- </property>
- <property name="minValue">
- <number>10</number>
- </property>
- <property name="lineStep">
- <number>10</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The preferred payload size for the G.711 and G.726 codecs.</string>
- </property>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>payloadMsTextLabel</cstring>
- </property>
- <property name="text">
- <string>ms</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer24</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>121</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QCheckBox" row="2" column="0">
- <property name="name">
- <cstring>inFarEndCodecPrefCheckBox</cstring>
- </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer10">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageRtpAudio">
+ <attribute name="id">
+ <number>2</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="rtpAudioTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>RTP audio</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="rtpAudioTabWidget">
+ <widget class="QWidget" name="tabCodecs">
+ <attribute name="title">
+ <string>Co&amp;decs</string>
+ </attribute>
+ <layout class="QGridLayout">
+ <item row="1" column="0">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="ptimeTextLabel">
+ <property name="text">
+ <string>&amp;G.711/G.726 payload size:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>ptimeSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="ptimeSpinBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>46</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32767</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>50</number>
+ </property>
+ <property name="minimum">
+ <number>10</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The preferred payload size for the G.711 and G.726 codecs.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="payloadMsTextLabel">
+ <property name="text">
+ <string>ms</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer24">
+ <property name="sizeHint">
+ <size>
+ <width>121</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="inFarEndCodecPrefCheckBox">
+ <property name="text">
+ <string>&amp;Follow codec preference from far end on incoming calls</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+F</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
+For incoming calls, follow the preference from the far-end (SDP offer). Pick the first codec from the SDP offer that is also in the list of active codecs.
+&lt;p&gt;
+If you disable this option, then the first codec from the active codecs that is also in the SDP offer is picked.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="outFarEndCodecPrefCheckBox">
+ <property name="text">
+ <string>Follow codec &amp;preference from far end on outgoing calls</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+P</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
+For outgoing calls, follow the preference from the far-end (SDP answer). Pick the first codec from the SDP answer that is also in the list of active codecs.
+&lt;p&gt;
+If you disable this option, then the first codec from the active codecs that is also in the SDP answer is picked.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <spacer name="spacer38">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="0">
+ <widget class="Q3GroupBox" name="codecsGroupBox">
+ <property name="title">
+ <string>Codecs</string>
+ </property>
+ <layout class="QHBoxLayout">
+ <item>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="availCodecTextLabel">
<property name="text">
- <string>&amp;Follow codec preference from far end on incoming calls</string>
+ <string>Available codecs:</string>
</property>
- <property name="accel">
- <string>Alt+F</string>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3ListBox" name="availCodecListBox">
+ <property name="resizePolicy">
+ <enum>Q3ScrollView::Manual</enum>
+ </property>
+ <property name="hScrollBarMode">
+ <enum>Q3ScrollView::AlwaysOff</enum>
</property>
<property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
-For incoming calls, follow the preference from the far-end (SDP offer). Pick the first codec from the SDP offer that is also in the list of active codecs.
-&lt;p&gt;
-If you disable this option, then the first codec from the active codecs that is also in the SDP offer is picked.</string>
+ <string>List of available codecs.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>G.711 A-law</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>G.711 u-law</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>GSM</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>speex-nb (8 kHz)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>speex-wb (16 kHz)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>speex-uwb (32 kHz)</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout">
+ <item>
+ <spacer name="spacer17_2">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
</property>
- </widget>
- <widget class="QCheckBox" row="3" column="0">
- <property name="name">
- <cstring>outFarEndCodecPrefCheckBox</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
</property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="addCodecPushButton">
<property name="text">
- <string>Follow codec &amp;preference from far end on outgoing calls</string>
+ <string/>
</property>
- <property name="accel">
- <string>Alt+P</string>
+ <property name="icon">
+ <pixmap>1rightarrow.png</pixmap>
</property>
<property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
-For outgoing calls, follow the preference from the far-end (SDP answer). Pick the first codec from the SDP answer that is also in the list of active codecs.
-&lt;p&gt;
-If you disable this option, then the first codec from the active codecs that is also in the SDP answer is picked.</string>
+ <string>Move a codec from the list of available codecs to the list of active codecs.</string>
</property>
- </widget>
- <spacer row="4" column="0">
- <property name="name">
- <cstring>spacer38</cstring>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="rmvCodecPushButton">
+ <property name="text">
+ <string/>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ <property name="icon">
+ <pixmap>1leftarrow.png</pixmap>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="whatsThis" stdset="0">
+ <string>Move a codec from the list of active codecs to the list of available codecs.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer18">
<property name="sizeHint">
- <size>
- <width>20</width>
- <height>16</height>
- </size>
- </property>
- </spacer>
- <widget class="QGroupBox" row="0" column="0">
- <property name="name">
- <cstring>codecsGroupBox</cstring>
- </property>
- <property name="title">
- <string>Codecs</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout19</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>availCodecTextLabel</cstring>
- </property>
- <property name="text">
- <string>Available codecs:</string>
- </property>
- </widget>
- <widget class="QListBox">
- <item>
- <property name="text">
- <string>G.711 A-law</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>G.711 u-law</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>GSM</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>speex-nb (8 kHz)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>speex-wb (16 kHz)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>speex-uwb (32 kHz)</string>
- </property>
- </item>
- <property name="name">
- <cstring>availCodecListBox</cstring>
- </property>
- <property name="resizePolicy">
- <enum>Manual</enum>
- </property>
- <property name="hScrollBarMode">
- <enum>AlwaysOff</enum>
- </property>
- <property name="whatsThis" stdset="0">
- <string>List of available codecs.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout14</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer17_2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>addCodecPushButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>1rightarrow.png</pixmap>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Move a codec from the list of available codecs to the list of active codecs.</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>rmvCodecPushButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>1leftarrow.png</pixmap>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Move a codec from the list of active codecs to the list of available codecs.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer18</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout20</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>useCodecTextLabel</cstring>
- </property>
- <property name="text">
- <string>Active codecs:</string>
- </property>
- </widget>
- <widget class="QListBox">
- <property name="name">
- <cstring>activeCodecListBox</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>List of active codecs. These are the codecs that will be used for media negotiation during call setup. The order of the codecs is the order of preference of use.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout15</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer19_2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>upCodecPushButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>1uparrow.png</pixmap>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Move a codec upwards in the list of active codecs, i.e. increase its preference of use.</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>downCodecPushButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>1downarrow.png</pixmap>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Move a codec downwards in the list of active codecs, i.e. decrease its preference of use.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer20_2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>31</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- </hbox>
- </widget>
- </grid>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>tabPreprocessing</cstring>
- </property>
- <attribute name="title">
- <string>Prepr&amp;ocessing</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>preprocessingGroupBox</cstring>
- </property>
- <property name="title">
- <string>Preprocessing (improves quality at remote end)</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout23</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox" row="0" column="0">
- <property name="name">
- <cstring>spxDspAgcCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Automatic gain control</string>
- </property>
- <property name="accel">
- <string>Alt+A</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Automatic gain control (AGC) is a feature that deals with the fact that the recording volume may vary by a large amount between different setups. The AGC provides a way to adjust a signal to a reference volume. This is useful because it removes the need for manual adjustment of the microphone gain. A secondary advantage is that by setting the microphone gain to a conservative (low) level, it is easier to avoid clipping.</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="1">
- <property name="name">
- <cstring>spxDspAgcLevelTextLabel</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Automatic gain control &amp;level:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>spxDspAgcLevelSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="0" column="2">
- <property name="name">
- <cstring>spxDspAgcLevelSpinBox</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="maxValue">
- <number>100</number>
- </property>
- <property name="minValue">
- <number>1</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Automatic gain control level represents percentual value of automatic gain setting of a microphone. Recommended value is about 25%.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="1" column="0">
- <property name="name">
- <cstring>spxDspVadCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Voice activity detection</string>
- </property>
- <property name="accel">
- <string>Alt+V</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>When enabled, voice activity detection detects whether the input signal represents a speech or a silence/background noise.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="2" column="0">
- <property name="name">
- <cstring>spxDspNrdCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Noise reduction</string>
- </property>
- <property name="accel">
- <string>Alt+N</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The noise reduction can be used to reduce the amount of background noise present in the input signal. This provides higher quality speech.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="3" column="0">
- <property name="name">
- <cstring>spxDspAecCheckBox</cstring>
- </property>
- <property name="text">
- <string>Acoustic &amp;Echo Cancellation</string>
- </property>
- <property name="accel">
- <string>Alt+E</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>In any VoIP communication, if a speech from the remote end is played in the local loudspeaker, then it propagates in the room and is captured by the microphone. If the audio captured from the microphone is sent directly to the remote end, then the remote user hears an echo of his voice. An acoustic echo cancellation is designed to remove the acoustic echo before it is sent to the remote end. It is important to understand that the echo canceller is meant to improve the quality on the remote end.</string>
- </property>
- </widget>
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer24</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>31</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer25</cstring>
+ <size>
+ <width>20</width>
+ <height>21</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
<property name="orientation">
- <enum>Vertical</enum>
+ <enum>Qt::Vertical</enum>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="useCodecTextLabel">
+ <property name="text">
+ <string>Active codecs:</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3ListBox" name="activeCodecListBox">
+ <property name="whatsThis" stdset="0">
+ <string>List of active codecs. These are the codecs that will be used for media negotiation during call setup. The order of the codecs is the order of preference of use.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout">
+ <item>
+ <spacer name="spacer19_2">
<property name="sizeHint">
- <size>
- <width>20</width>
- <height>121</height>
- </size>
+ <size>
+ <width>20</width>
+ <height>21</height>
+ </size>
</property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>tabIlbc</cstring>
- </property>
- <attribute name="title">
- <string>&amp;iLBC</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>ilbcGroupBox</cstring>
- </property>
- <property name="title">
- <string>iLBC</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout16</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>ilbcPayloadTextLabel</cstring>
- </property>
- <property name="text">
- <string>i&amp;LBC payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>ilbcPayloadSpinBox</cstring>
- </property>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>ilbcPayloadSizeTextLabel</cstring>
- </property>
- <property name="text">
- <string>iLBC &amp;payload size (ms):</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>ilbcPayloadSizeComboBox</cstring>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout17_2</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>ilbcPayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for iLBC.</string>
- </property>
- </widget>
- <widget class="QComboBox">
- <item>
- <property name="text">
- <string>20</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>30</string>
- </property>
- </item>
- <property name="name">
- <cstring>ilbcPayloadSizeComboBox</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The preferred payload size for iLBC.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer26</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>71</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer29_2</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
<property name="orientation">
- <enum>Vertical</enum>
+ <enum>Qt::Vertical</enum>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="upCodecPushButton">
+ <property name="text">
+ <string/>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>81</height>
- </size>
+ <property name="icon">
+ <pixmap>1uparrow.png</pixmap>
</property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>tabSpeex</cstring>
- </property>
- <attribute name="title">
- <string>&amp;Speex</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>speexGroupBox</cstring>
- </property>
- <property name="title">
- <string>Speex</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout17_3</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox" row="2" column="0">
- <property name="name">
- <cstring>spxPenhCheckBox</cstring>
- </property>
- <property name="text">
- <string>Perceptual &amp;enhancement</string>
- </property>
- <property name="accel">
- <string>Alt+E</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Perceptual enhancement is a part of the decoder which, when turned on, tries to reduce (the perception of) the noise produced by the coding/decoding process. In most cases, perceptual enhancement make the sound further from the original objectively (if you use SNR), but in the end it still sounds better (subjective improvement).</string>
- </property>
- </widget>
- <widget class="QLabel" row="4" column="1">
- <property name="name">
- <cstring>spxUwbPayloadTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Ultra wide band payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>spxUwbPayloadSpinBox</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="3" column="1">
- <property name="name">
- <cstring>spxWbPayloadTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Wide band payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>spxWbPayloadSpinBox</cstring>
- </property>
- </widget>
- <widget class="QCheckBox" row="0" column="0">
- <property name="name">
- <cstring>spxVbrCheckBox</cstring>
- </property>
- <property name="text">
- <string>Variable &amp;bit-rate</string>
- </property>
- <property name="accel">
- <string>Alt+B</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Variable bit-rate (VBR) allows a codec to change its bit-rate dynamically to adapt to the "difficulty" of the audio being encoded. In the example of Speex, sounds like vowels and high-energy transients require a higher bit-rate to achieve good quality, while fricatives (e.g. s,f sounds) can be coded adequately with less bits. For this reason, VBR can achieve a lower bit-rate for the same quality, or a better quality for a certain bit-rate. Despite its advantages, VBR has two main drawbacks: first, by only specifying quality, there's no guarantee about the final average bit-rate. Second, for some real-time applications like voice over IP (VoIP), what counts is the maximum bit-rate, which must be low enough for the communication channel.</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="4" column="2">
- <property name="name">
- <cstring>spxUwbPayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for speex wide band.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="1" column="0">
- <property name="name">
- <cstring>spxDtxCheckBox</cstring>
- </property>
- <property name="text">
- <string>Discontinuous &amp;Transmission</string>
- </property>
- <property name="accel">
- <string>Alt+T</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Discontinuous transmission is an addition to VAD/VBR operation, that allows to stop transmitting completely when the background noise is stationary.</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="3" column="2">
- <property name="name">
- <cstring>spxWbPayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for speex wide band.</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="2" column="2">
- <property name="name">
- <cstring>spxNbPayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for speex narrow band.</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="1">
- <property name="name">
- <cstring>spxQualityTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Quality:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>spxQualitySpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="0" column="2">
- <property name="name">
- <cstring>spxQualitySpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>10</number>
- </property>
- <property name="minValue">
- <number>0</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Speex is a lossy codec, which means that it achives compression at the expense of fidelity of the input speech signal. Unlike some other speech codecs, it is possible to control the tradeoff made between quality and bit-rate. The Speex encoding process is controlled most of the time by a quality parameter that ranges from 0 to 10.</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="1">
- <property name="name">
- <cstring>spxComplexityTextLabel</cstring>
- </property>
- <property name="text">
- <string>Co&amp;mplexity:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>spxComplexitySpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="1" column="2">
- <property name="name">
- <cstring>spxComplexitySpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>10</number>
- </property>
- <property name="minValue">
- <number>1</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>With Speex, it is possible to vary the complexity allowed for the encoder. This is done by controlling how the search is performed with an integer ranging from 1 to 10 in a way that's similar to the -1 to -9 options to gzip and bzip2 compression utilities. For normal use, the noise level at complexity 1 is between 1 and 2 dB higher than at complexity 10, but the CPU requirements for complexity 10 is about 5 times higher than for complexity 1. In practice, the best trade-off is between complexity 2 and 4, though higher settings are often useful when encoding non-speech sounds like DTMF tones.</string>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="1">
- <property name="name">
- <cstring>spxNbPayloadTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Narrow band payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>spxNbPayloadSpinBox</cstring>
- </property>
- </widget>
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer23_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>31</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer30_2</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>Move a codec upwards in the list of active codecs, i.e. increase its preference of use.</string>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="downCodecPushButton">
+ <property name="text">
+ <string/>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="icon">
+ <pixmap>1downarrow.png</pixmap>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Move a codec downwards in the list of active codecs, i.e. decrease its preference of use.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer20_2">
<property name="sizeHint">
- <size>
- <width>20</width>
- <height>121</height>
- </size>
+ <size>
+ <width>20</width>
+ <height>31</height>
+ </size>
</property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>tabG726</cstring>
- </property>
- <attribute name="title">
- <string>G.726</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>g726GroupBox</cstring>
- </property>
- <property name="title">
- <string>G.726</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget" row="0" column="0">
- <property name="name">
- <cstring>layout22</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>g72640PayloadTypeTextLabel</cstring>
- </property>
- <property name="text">
- <string>G.726 &amp;40 kbps payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>g72640PayloadSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="3" column="1">
- <property name="name">
- <cstring>g72640PayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for G.726 40 kbps.</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="2" column="1">
- <property name="name">
- <cstring>g72632PayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>0</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for G.726 32 kbps.</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>g72624PayloadTypeTextLabel</cstring>
- </property>
- <property name="text">
- <string>G.726 &amp;24 kbps payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>g72624PayloadSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="1" column="1">
- <property name="name">
- <cstring>g72624PayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for G.726 24 kbps.</string>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="0">
- <property name="name">
- <cstring>g72632PayloadTypeTextLabel</cstring>
- </property>
- <property name="text">
- <string>G.726 &amp;32 kbps payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>g72632PayloadSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="0" column="1">
- <property name="name">
- <cstring>g72616PayloadSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for G.726 16 kbps.</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>g72616PayloadTypeTextLabel</cstring>
- </property>
- <property name="text">
- <string>G.726 &amp;16 kbps payload type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>g72616PayloadSpinBox</cstring>
- </property>
- </widget>
- </grid>
- </widget>
- <spacer row="0" column="1">
- <property name="name">
- <cstring>spacer31</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>231</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>layout41</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>g726PackingTextLabel</cstring>
- </property>
- <property name="text">
- <string>Codeword &amp;packing order:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>g726PackComboBox</cstring>
- </property>
- </widget>
- <widget class="QComboBox">
- <item>
- <property name="text">
- <string>RFC 3551</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>ATM AAL2</string>
- </property>
- </item>
- <property name="name">
- <cstring>g726PackComboBox</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>There are 2 standards to pack the G.726 codewords into an RTP packet. RFC 3551 is the default packing method. Some SIP devices use ATM AAL2 however. If you experience bad quality using G.726 with RFC 3551 packing, then try ATM AAL2 packing.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer40_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>141</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer32</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
<property name="orientation">
- <enum>Vertical</enum>
+ <enum>Qt::Vertical</enum>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabPreprocessing">
+ <attribute name="title">
+ <string>Prepr&amp;ocessing</string>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3GroupBox" name="preprocessingGroupBox">
+ <property name="title">
+ <string>Preprocessing (improves quality at remote end)</string>
+ </property>
+ <layout class="QHBoxLayout">
+ <item>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="spxDspAgcCheckBox">
+ <property name="text">
+ <string>&amp;Automatic gain control</string>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>150</height>
- </size>
+ <property name="shortcut">
+ <string>Alt+A</string>
</property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>tabDtmf</cstring>
- </property>
- <attribute name="title">
- <string>DT&amp;MF</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>dtmfGroupBox</cstring>
- </property>
- <property name="title">
- <string>DTMF</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer row="1" column="1">
- <property name="name">
- <cstring>spacer17</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>280</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QLayoutWidget" row="1" column="0">
- <property name="name">
- <cstring>layout8</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QSpinBox" row="0" column="2">
- <property name="name">
- <cstring>dtmfPayloadTypeSpinBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>49</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>32767</width>
- <height>32767</height>
- </size>
- </property>
- <property name="maxValue">
- <number>127</number>
- </property>
- <property name="minValue">
- <number>96</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The dynamic type value (96 or higher) to be used for DTMF events (RFC 2833).</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="3">
- <property name="name">
- <cstring>dtmfDurationMsTextLabel</cstring>
- </property>
- <property name="text">
- <string>ms</string>
- </property>
- </widget>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>dtmfVolumeTextLabel</cstring>
- </property>
- <property name="text">
- <string>DTMF vo&amp;lume:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>dtmfVolumeSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="3" column="2">
- <property name="name">
- <cstring>dtmfVolumeSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>0</number>
- </property>
- <property name="minValue">
- <number>-63</number>
- </property>
- <property name="lineStep">
- <number>10</number>
- </property>
- <property name="value">
- <number>-10</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The power level of the DTMF tone in dB.</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="2" column="2">
- <property name="name">
- <cstring>dtmfPauseSpinBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>49</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>32767</width>
- <height>32767</height>
- </size>
- </property>
- <property name="maxValue">
- <number>100</number>
- </property>
- <property name="minValue">
- <number>20</number>
- </property>
- <property name="lineStep">
- <number>10</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The pause after a DTMF tone.</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>dtmfDurationTextLabel</cstring>
- </property>
- <property name="text">
- <string>DTMF &amp;duration:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>dtmfDurationSpinBox</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="3">
- <property name="name">
- <cstring>dtmfPauseMsTextLabel</cstring>
- </property>
- <property name="text">
- <string>ms</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>dtmfPayloadTypeTextLabel</cstring>
- </property>
- <property name="text">
- <string>DTMF payload &amp;type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>dtmfPayloadTypeSpinBox</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>dtmfPauseTextLabel</cstring>
- </property>
- <property name="text">
- <string>DTMF &amp;pause:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>dtmfPauseSpinBox</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="3" column="3">
- <property name="name">
- <cstring>dtmfVolDbmTextLabel</cstring>
- </property>
- <property name="text">
- <string>dB</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="1" column="2">
- <property name="name">
- <cstring>dtmfDurationSpinBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>49</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>32767</width>
- <height>32767</height>
- </size>
- </property>
- <property name="maxValue">
- <number>500</number>
- </property>
- <property name="minValue">
- <number>40</number>
- </property>
- <property name="lineStep">
- <number>10</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Duration of a DTMF tone.</string>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>layout15</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>dtmfTransportTextLabel</cstring>
- </property>
- <property name="text">
- <string>DTMF t&amp;ransport:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>dtmfTransportComboBox</cstring>
- </property>
- </widget>
- <widget class="QComboBox">
- <item>
- <property name="text">
- <string>Auto</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>RFC 2833</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Inband</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Out-of-band (SIP INFO)</string>
- </property>
- </item>
- <property name="name">
- <cstring>dtmfTransportComboBox</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;h2&gt;RFC 2833&lt;/h2&gt;
-&lt;p&gt;Send DTMF tones as RFC 2833 telephone events.&lt;/p&gt;
-&lt;h2&gt;Inband&lt;/h2&gt;
-&lt;p&gt;Send DTMF inband.&lt;/p&gt;
-&lt;h2&gt;Auto&lt;/h2&gt;
-&lt;p&gt;If the far end of your call supports RFC 2833, then a DTMF tone will be send as RFC 2833 telephone event, otherwise it will be sent inband.
-&lt;/p&gt;
-&lt;h2&gt;Out-of-band (SIP INFO)&lt;/h2&gt;
-&lt;p&gt;
-Send DTMF out-of-band via a SIP INFO request.
-&lt;/p&gt;</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer22_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>161</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer23_3</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>Automatic gain control (AGC) is a feature that deals with the fact that the recording volume may vary by a large amount between different setups. The AGC provides a way to adjust a signal to a reference volume. This is useful because it removes the need for manual adjustment of the microphone gain. A secondary advantage is that by setting the microphone gain to a conservative (low) level, it is easier to avoid clipping.</string>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="spxDspAgcLevelTextLabel">
+ <property name="enabled">
+ <bool>true</bool>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="text">
+ <string>Automatic gain control &amp;level:</string>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>120</height>
- </size>
+ <property name="buddy" stdset="0">
+ <cstring>spxDspAgcLevelSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QSpinBox" name="spxDspAgcLevelSpinBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="minimum">
+ <number>1</number>
</property>
- </spacer>
- </vbox>
+ <property name="whatsThis" stdset="0">
+ <string>Automatic gain control level represents percentual value of automatic gain setting of a microphone. Recommended value is about 25%.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="spxDspVadCheckBox">
+ <property name="text">
+ <string>&amp;Voice activity detection</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+V</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When enabled, voice activity detection detects whether the input signal represents a speech or a silence/background noise.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="spxDspNrdCheckBox">
+ <property name="text">
+ <string>&amp;Noise reduction</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+N</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The noise reduction can be used to reduce the amount of background noise present in the input signal. This provides higher quality speech.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="spxDspAecCheckBox">
+ <property name="text">
+ <string>Acoustic &amp;Echo Cancellation</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+E</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>In any VoIP communication, if a speech from the remote end is played in the local loudspeaker, then it propagates in the room and is captured by the microphone. If the audio captured from the microphone is sent directly to the remote end, then the remote user hears an echo of his voice. An acoustic echo cancellation is designed to remove the acoustic echo before it is sent to the remote end. It is important to understand that the echo canceller is meant to improve the quality on the remote end.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer24">
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
</widget>
- </widget>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageSipProtocol</cstring>
- </property>
- <attribute name="id">
- <number>3</number>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>sipProtocolTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>SIP protocol</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
- </widget>
- <widget class="QTabWidget" row="1" column="0">
- <property name="name">
- <cstring>sipProtoclTabWidget</cstring>
- </property>
- <widget class="QWidget">
- <property name="name">
- <cstring>tab</cstring>
- </property>
- <attribute name="title">
- <string>General</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
+ </item>
+ <item>
+ <spacer name="spacer25">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>121</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabIlbc">
+ <attribute name="title">
+ <string>&amp;iLBC</string>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3GroupBox" name="ilbcGroupBox">
+ <property name="title">
+ <string>iLBC</string>
+ </property>
+ <layout class="QHBoxLayout">
+ <item>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="ilbcPayloadTextLabel">
+ <property name="text">
+ <string>i&amp;LBC payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>ilbcPayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ilbcPayloadSizeTextLabel">
+ <property name="text">
+ <string>iLBC &amp;payload size (ms):</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>ilbcPayloadSizeComboBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QSpinBox" name="ilbcPayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for iLBC.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="ilbcPayloadSizeComboBox">
+ <property name="whatsThis" stdset="0">
+ <string>The preferred payload size for iLBC.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>20</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>30</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer26">
+ <property name="sizeHint">
+ <size>
+ <width>71</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <spacer row="2" column="1">
- <property name="name">
- <cstring>spacer24_2</cstring>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer29_2">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>81</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabSpeex">
+ <attribute name="title">
+ <string>&amp;Speex</string>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3GroupBox" name="speexGroupBox">
+ <property name="title">
+ <string>Speex</string>
+ </property>
+ <layout class="QHBoxLayout">
+ <item>
+ <layout class="QGridLayout">
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="spxPenhCheckBox">
+ <property name="text">
+ <string>Perceptual &amp;enhancement</string>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ <property name="shortcut">
+ <string>Alt+E</string>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="whatsThis" stdset="0">
+ <string>Perceptual enhancement is a part of the decoder which, when turned on, tries to reduce (the perception of) the noise produced by the coding/decoding process. In most cases, perceptual enhancement make the sound further from the original objectively (if you use SNR), but in the end it still sounds better (subjective improvement).</string>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>16</height>
- </size>
- </property>
- </spacer>
- <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>optionsGroupBox</cstring>
- </property>
- <property name="title">
- <string>Protocol options</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>holdVariantTextLabel</cstring>
- </property>
- <property name="text">
- <string>Call &amp;Hold variant:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>holdVariantComboBox</cstring>
- </property>
- </widget>
- <widget class="QComboBox" row="0" column="1">
- <item>
- <property name="text">
- <string>RFC 2543</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>RFC 3264</string>
- </property>
- </item>
- <property name="name">
- <cstring>holdVariantComboBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>110</width>
- <height>0</height>
- </size>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if RFC 2543 (set media IP address in SDP to 0.0.0.0) or RFC 3264 (use direction attributes in SDP) is used to put a call on-hold.</string>
- </property>
- </widget>
- <spacer row="0" column="2">
- <property name="name">
- <cstring>spacer4</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>70</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>missingContactCheckBox</cstring>
- </property>
- <property name="text">
- <string>Allow m&amp;issing Contact header in 200 OK on REGISTER</string>
- </property>
- <property name="accel">
- <string>Alt+I</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>A 200 OK response on a REGISTER request must contain a Contact header. Some registrars however, do not include a Contact header or include a wrong Contact header. This option allows for such a deviation from the specs.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>maxForwardsCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Max-Forwards header is mandatory</string>
- </property>
- <property name="accel">
- <string>Alt+M</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>According to RFC 3261 the Max-Forwards header is mandatory. But many implementations do not send this header. If you tick this box, Twinkle will reject a SIP request if Max-Forwards is missing.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>regTimeCheckBox</cstring>
- </property>
- <property name="text">
- <string>Put &amp;registration expiry time in contact header</string>
- </property>
- <property name="accel">
- <string>Alt+R</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>In a REGISTER message the expiry time for registration can be put in the Contact header or in the Expires header. If you tick this box it will be put in the Contact header, otherwise it goes in the Expires header.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>compactHeadersCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Use compact header names</string>
- </property>
- <property name="accel">
- <string>Alt+U</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if compact header names should be used for headers that have a compact form.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>allowSdpChangeCheckBox</cstring>
- </property>
- <property name="text">
- <string>Allow SDP change during call setup</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;A SIP UAS may send SDP in a 1XX response for early media, e.g. ringing tone. When the call is answered the SIP UAS should send the same SDP in the 200 OK response according to RFC 3261. Once SDP has been received, SDP in subsequent responses should be discarded.&lt;/p&gt;
-&lt;p&gt;By allowing SDP to change during call setup, Twinkle will not discard SDP in subsequent responses and modify the media stream if the SDP is changed. When the SDP in a response is changed, it must have a new version number in the o= line.&lt;/p&gt;</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="6" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>useDomainInContactCheckBox</cstring>
- </property>
- <property name="text">
- <string>Use domain &amp;name to create a unique contact header value</string>
- </property>
- <property name="accel">
- <string>Alt+N</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
-Twinkle creates a unique contact header value by combining the SIP user name and domain:
-&lt;/p&gt;
-&lt;p&gt;
-&lt;tt&gt;&amp;nbsp;user_domain@local_ip&lt;/tt&gt;
-&lt;/p&gt;
-&lt;p&gt;
-This way 2 user profiles, having the same user name but different domain names, have unique contact addresses and hence can be activated simultaneously.
-&lt;/p&gt;
-&lt;p&gt;
-Some proxies do not handle a contact header value like this. You can disable this option to get a contact header value like this:
-&lt;/p&gt;
-&lt;p&gt;
-&lt;tt&gt;&amp;nbsp;user@local_ip&lt;/tt&gt;
-&lt;/p&gt;
-&lt;p&gt;
-This format is what most SIP phones use.
-&lt;/p&gt;</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="5" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>multiValuesListCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Encode Via, Route, Record-Route as list</string>
- </property>
- <property name="accel">
- <string>Alt+E</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The Via, Route and Record-Route headers can be encoded as a list of comma separated values or as multiple occurrences of the same header.</string>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="QGroupBox" row="1" column="0">
- <property name="name">
- <cstring>redirectionGroupBox</cstring>
- </property>
- <property name="title">
- <string>Redirection</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>allowRedirectionCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Allow redirection</string>
- </property>
- <property name="accel">
- <string>Alt+A</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should redirect a request if a 3XX response is received.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
- <property name="name">
- <cstring>askUserRedirectCheckBox</cstring>
- </property>
- <property name="text">
- <string>Ask user &amp;permission to redirect</string>
- </property>
- <property name="accel">
- <string>Alt+P</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should ask the user before redirecting a request when a 3XX response is received.</string>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="0">
- <property name="name">
- <cstring>maxRedirectTextLabel</cstring>
- </property>
- <property name="text">
- <string>Max re&amp;directions:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>maxRedirectSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" row="2" column="1">
- <property name="name">
- <cstring>maxRedirectSpinBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>46</width>
- <height>0</height>
- </size>
- </property>
- <property name="maxValue">
- <number>5</number>
- </property>
- <property name="minValue">
- <number>1</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The number of redirect addresses that Twinkle tries at a maximum before it gives up redirecting a request. This prevents a request from getting redirected forever.</string>
- </property>
- </widget>
- <spacer row="2" column="2">
- <property name="name">
- <cstring>spacer5</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>80</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </grid>
- </widget>
- <widget class="QGroupBox" row="1" column="1">
- <property name="name">
- <cstring>sipExtensionsGroupBox</cstring>
- </property>
- <property name="title">
- <string>SIP extensions</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QComboBox" row="0" column="1">
- <item>
- <property name="text">
- <string>disabled</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>supported</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>required</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>preferred</string>
- </property>
- </item>
- <property name="name">
- <cstring>ext100relComboBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>120</width>
- <height>0</height>
- </size>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if the 100rel extension (PRACK) is supported:&lt;br&gt;&lt;br&gt;
-&lt;b&gt;disabled&lt;/b&gt;: 100rel extension is disabled
-&lt;br&gt;&lt;br&gt;
-&lt;b&gt;supported&lt;/b&gt;: 100rel is supported (it is added in the supported header of an outgoing INVITE). A far-end can now require a PRACK on a 1xx response.
-&lt;br&gt;&lt;br&gt;
-&lt;b&gt;required&lt;/b&gt;: 100rel is required (it is put in the require header of an outgoing INVITE). If an incoming INVITE indicates that it supports 100rel, then Twinkle will require a PRACK when sending a 1xx response. A call will fail when the far-end does not support 100rel.
-&lt;br&gt;&lt;br&gt;
-&lt;b&gt;preferred&lt;/b&gt;: Similar to required, but if a call fails because the far-end indicates it does not support 100rel (420 response) then the call will be re-attempted without the 100rel requirement.</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>ext100relTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;100 rel (PRACK):</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>ext100relComboBox</cstring>
- </property>
- </widget>
- <widget class="QCheckBox" row="1" column="0">
- <property name="name">
- <cstring>extReplacesCheckBox</cstring>
- </property>
- <property name="text">
- <string>Replaces</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if the Replaces-extenstion is supported.</string>
- </property>
- </widget>
- </grid>
- </widget>
- </grid>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="spxUwbPayloadTextLabel">
+ <property name="text">
+ <string>&amp;Ultra wide band payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>spxUwbPayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="spxWbPayloadTextLabel">
+ <property name="text">
+ <string>&amp;Wide band payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>spxWbPayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="spxVbrCheckBox">
+ <property name="text">
+ <string>Variable &amp;bit-rate</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+B</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Variable bit-rate (VBR) allows a codec to change its bit-rate dynamically to adapt to the &quot;difficulty&quot; of the audio being encoded. In the example of Speex, sounds like vowels and high-energy transients require a higher bit-rate to achieve good quality, while fricatives (e.g. s,f sounds) can be coded adequately with less bits. For this reason, VBR can achieve a lower bit-rate for the same quality, or a better quality for a certain bit-rate. Despite its advantages, VBR has two main drawbacks: first, by only specifying quality, there's no guarantee about the final average bit-rate. Second, for some real-time applications like voice over IP (VoIP), what counts is the maximum bit-rate, which must be low enough for the communication channel.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QSpinBox" name="spxUwbPayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for speex wide band.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="spxDtxCheckBox">
+ <property name="text">
+ <string>Discontinuous &amp;Transmission</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+T</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Discontinuous transmission is an addition to VAD/VBR operation, that allows to stop transmitting completely when the background noise is stationary.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QSpinBox" name="spxWbPayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for speex wide band.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QSpinBox" name="spxNbPayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for speex narrow band.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="spxQualityTextLabel">
+ <property name="text">
+ <string>&amp;Quality:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>spxQualitySpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QSpinBox" name="spxQualitySpinBox">
+ <property name="maximum">
+ <number>10</number>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Speex is a lossy codec, which means that it achives compression at the expense of fidelity of the input speech signal. Unlike some other speech codecs, it is possible to control the tradeoff made between quality and bit-rate. The Speex encoding process is controlled most of the time by a quality parameter that ranges from 0 to 10.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="spxComplexityTextLabel">
+ <property name="text">
+ <string>Co&amp;mplexity:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>spxComplexitySpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QSpinBox" name="spxComplexitySpinBox">
+ <property name="maximum">
+ <number>10</number>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>With Speex, it is possible to vary the complexity allowed for the encoder. This is done by controlling how the search is performed with an integer ranging from 1 to 10 in a way that's similar to the -1 to -9 options to gzip and bzip2 compression utilities. For normal use, the noise level at complexity 1 is between 1 and 2 dB higher than at complexity 10, but the CPU requirements for complexity 10 is about 5 times higher than for complexity 1. In practice, the best trade-off is between complexity 2 and 4, though higher settings are often useful when encoding non-speech sounds like DTMF tones.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="spxNbPayloadTextLabel">
+ <property name="text">
+ <string>&amp;Narrow band payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>spxNbPayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer23_2">
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
</widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>tab</cstring>
- </property>
- <attribute name="title">
- <string>REFER</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
+ </item>
+ <item>
+ <spacer name="spacer30_2">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>121</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabG726">
+ <attribute name="title">
+ <string>G.726</string>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3GroupBox" name="g726GroupBox">
+ <property name="title">
+ <string>G.726</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <layout class="QGridLayout">
+ <item row="3" column="0">
+ <widget class="QLabel" name="g72640PayloadTypeTextLabel">
+ <property name="text">
+ <string>G.726 &amp;40 kbps payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>g72640PayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QSpinBox" name="g72640PayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for G.726 40 kbps.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="g72632PayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for G.726 32 kbps.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="g72624PayloadTypeTextLabel">
+ <property name="text">
+ <string>G.726 &amp;24 kbps payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>g72624PayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="g72624PayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for G.726 24 kbps.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="g72632PayloadTypeTextLabel">
+ <property name="text">
+ <string>G.726 &amp;32 kbps payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>g72632PayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="g72616PayloadSpinBox">
+ <property name="maximum">
+ <number>127</number>
+ </property>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for G.726 16 kbps.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="g72616PayloadTypeTextLabel">
+ <property name="text">
+ <string>G.726 &amp;16 kbps payload type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>g72616PayloadSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1">
+ <spacer name="spacer31">
+ <property name="sizeHint">
+ <size>
+ <width>231</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>referGroupBox</cstring>
- </property>
- <property name="title">
- <string>Call transfer (REFER)</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>allowReferCheckBox</cstring>
- </property>
- <property name="text">
- <string>Accept call &amp;transfer request (incoming REFER)</string>
- </property>
- <property name="accel">
- <string>Alt+T</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should transfer a call if a REFER request is received.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>askUserReferCheckBox</cstring>
- </property>
- <property name="text">
- <string>As&amp;k user permission to transfer</string>
- </property>
- <property name="accel">
- <string>Alt+K</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should ask the user before transferring a call when a REFER request is received.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>refereeHoldCheckBox</cstring>
- </property>
- <property name="text">
- <string>Hold call &amp;with referrer while setting up call to transfer target</string>
- </property>
- <property name="accel">
- <string>Alt+W</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should put the current call on hold when a REFER request to transfer a call is received.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>referrerHoldCheckBox</cstring>
- </property>
- <property name="text">
- <string>Ho&amp;ld call with referee before sending REFER</string>
- </property>
- <property name="accel">
- <string>Alt+L</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should put the current call on hold when you transfer a call.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>refreshReferSubCheckBox</cstring>
- </property>
- <property name="text">
- <string>Auto re&amp;fresh subscription to refer event while call transfer is not finished</string>
- </property>
- <property name="accel">
- <string>Alt+F</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>While a call is being transferred, the referee sends NOTIFY messages to the referrer about the progress of the transfer. These messages are only sent for a short interval which length is determined by the referee. If you tick this box, the referrer will automatically send a SUBSCRIBE to lengthen this interval if it is about to expire and the transfer has not yet been completed.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>referAorCheckBox</cstring>
- </property>
- <property name="text">
- <string>Attended refer to AoR (Address of Record)</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>An attended call transfer should use the contact URI as a refer target. A contact URI may not be globally routable however. Alternatively the AoR (Address of Record) may be used. A disadvantage is that the AoR may route to multiple endpoints in case of forking whereas the contact URI routes to a single endoint.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>transferConsultInprogCheckBox</cstring>
- </property>
- <property name="text">
- <string>Allow call transfer while consultation in progress</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>When you perform an attended call transfer, you normally transfer the call after you established a consultation call. If you enable this option you can transfer the call while the consultation call is still in progress. This is a non-standard implementation and may not work with all SIP devices.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer25</cstring>
+ </spacer>
+ </item>
+ <item row="1" column="0" rowspan="1" colspan="2">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="g726PackingTextLabel">
+ <property name="text">
+ <string>Codeword &amp;packing order:</string>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ <property name="buddy" stdset="0">
+ <cstring>g726PackComboBox</cstring>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="g726PackComboBox">
+ <property name="whatsThis" stdset="0">
+ <string>There are 2 standards to pack the G.726 codewords into an RTP packet. RFC 3551 is the default packing method. Some SIP devices use ATM AAL2 however. If you experience bad quality using G.726 with RFC 3551 packing, then try ATM AAL2 packing.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>RFC 3551</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>ATM AAL2</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer40_2">
<property name="sizeHint">
- <size>
- <width>20</width>
- <height>200</height>
- </size>
+ <size>
+ <width>141</width>
+ <height>20</height>
+ </size>
</property>
- </spacer>
- </vbox>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
</widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>TabPage</cstring>
- </property>
- <attribute name="title">
- <string>Privacy</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
+ </item>
+ <item>
+ <spacer name="spacer32">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>150</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabDtmf">
+ <attribute name="title">
+ <string>DT&amp;MF</string>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3GroupBox" name="dtmfGroupBox">
+ <property name="title">
+ <string>DTMF</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="1" column="1">
+ <spacer name="spacer17">
+ <property name="sizeHint">
+ <size>
+ <width>280</width>
+ <height>20</height>
+ </size>
</property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>privacyGroupBox</cstring>
- </property>
- <property name="title">
- <string>Privacy options</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>pPreferredIdCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Send P-Preferred-Identity header when hiding user identity</string>
- </property>
- <property name="accel">
- <string>Alt+S</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Include a P-Preferred-Identity header with your identity in an INVITE request for a call with identity hiding.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer40</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <layout class="QGridLayout">
+ <item row="0" column="2">
+ <widget class="QSpinBox" name="dtmfPayloadTypeSpinBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ <property name="minimumSize">
+ <size>
+ <width>49</width>
+ <height>0</height>
+ </size>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="maximumSize">
+ <size>
+ <width>32767</width>
+ <height>32767</height>
+ </size>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>331</height>
- </size>
+ <property name="maximum">
+ <number>127</number>
</property>
- </spacer>
- </vbox>
- </widget>
- </widget>
- </grid>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageNat</cstring>
- </property>
- <attribute name="id">
- <number>4</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>NatTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Transport/NAT</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>transportGroupBox</cstring>
- </property>
- <property name="title">
- <string>SIP transport</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QComboBox" row="0" column="1" rowspan="1" colspan="2">
- <item>
+ <property name="minimum">
+ <number>96</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The dynamic type value (96 or higher) to be used for DTMF events (RFC 2833).</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="dtmfDurationMsTextLabel">
<property name="text">
- <string>Auto</string>
+ <string>ms</string>
</property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
</item>
- <item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="dtmfVolumeTextLabel">
+ <property name="text">
+ <string>DTMF vo&amp;lume:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>dtmfVolumeSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QSpinBox" name="dtmfVolumeSpinBox">
+ <property name="maximum">
+ <number>0</number>
+ </property>
+ <property name="minimum">
+ <number>-63</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ <property name="value">
+ <number>-10</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The power level of the DTMF tone in dB.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QSpinBox" name="dtmfPauseSpinBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>49</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32767</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="minimum">
+ <number>20</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The pause after a DTMF tone.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="1" colspan="2">
+ <widget class="QLabel" name="dtmfDurationTextLabel">
<property name="text">
- <string>UDP</string>
+ <string>DTMF &amp;duration:</string>
</property>
+ <property name="buddy" stdset="0">
+ <cstring>dtmfDurationSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
</item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="dtmfPauseMsTextLabel">
+ <property name="text">
+ <string>ms</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" rowspan="1" colspan="2">
+ <widget class="QLabel" name="dtmfPayloadTypeTextLabel">
+ <property name="text">
+ <string>DTMF payload &amp;type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>dtmfPayloadTypeSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" rowspan="1" colspan="2">
+ <widget class="QLabel" name="dtmfPauseTextLabel">
+ <property name="text">
+ <string>DTMF &amp;pause:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>dtmfPauseSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QLabel" name="dtmfVolDbmTextLabel">
+ <property name="text">
+ <string>dB</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QSpinBox" name="dtmfDurationSpinBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>49</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32767</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>500</number>
+ </property>
+ <property name="minimum">
+ <number>40</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Duration of a DTMF tone.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="0" rowspan="1" colspan="2">
+ <layout class="QHBoxLayout">
<item>
+ <widget class="QLabel" name="dtmfTransportTextLabel">
<property name="text">
- <string>TCP</string>
+ <string>DTMF t&amp;ransport:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>dtmfTransportComboBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
+ </widget>
</item>
- <property name="name">
- <cstring>sipTransportComboBox</cstring>
+ <item>
+ <widget class="QComboBox" name="dtmfTransportComboBox">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;h2&gt;RFC 2833&lt;/h2&gt;
+&lt;p&gt;Send DTMF tones as RFC 2833 telephone events.&lt;/p&gt;
+&lt;h2&gt;Inband&lt;/h2&gt;
+&lt;p&gt;Send DTMF inband.&lt;/p&gt;
+&lt;h2&gt;Auto&lt;/h2&gt;
+&lt;p&gt;If the far end of your call supports RFC 2833, then a DTMF tone will be send as RFC 2833 telephone event, otherwise it will be sent inband.
+&lt;/p&gt;
+&lt;h2&gt;Out-of-band (SIP INFO)&lt;/h2&gt;
+&lt;p&gt;
+Send DTMF out-of-band via a SIP INFO request.
+&lt;/p&gt;</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>Auto</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RFC 2833</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Inband</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Out-of-band (SIP INFO)</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer22_2">
+ <property name="sizeHint">
+ <size>
+ <width>161</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer23_3">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>120</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageSipProtocol">
+ <attribute name="id">
+ <number>3</number>
+ </attribute>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="sipProtocolTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>SIP protocol</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QTabWidget" name="sipProtoclTabWidget">
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>General</string>
+ </attribute>
+ <layout class="QGridLayout">
+ <item row="2" column="1">
+ <spacer name="spacer24_2">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="0" rowspan="1" colspan="2">
+ <widget class="Q3GroupBox" name="optionsGroupBox">
+ <property name="title">
+ <string>Protocol options</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="holdVariantTextLabel">
+ <property name="text">
+ <string>Call &amp;Hold variant:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>holdVariantComboBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="holdVariantComboBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>110</width>
+ <height>0</height>
+ </size>
</property>
<property name="whatsThis" stdset="0">
- <string>Transport mode for SIP. In auto mode, the size of a message determines which transport protocol is used. Messages larger than the UDP threshold are sent via TCP. Smaller messages are sent via UDP.</string>
+ <string>Indicates if RFC 2543 (set media IP address in SDP to 0.0.0.0) or RFC 3264 (use direction attributes in SDP) is used to put a call on-hold.</string>
</property>
- </widget>
- <spacer row="0" column="3">
- <property name="name">
- <cstring>spacer46</cstring>
+ <item>
+ <property name="text">
+ <string>RFC 2543</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RFC 3264</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="spacer4">
+ <property name="sizeHint">
+ <size>
+ <width>70</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
<property name="orientation">
- <enum>Horizontal</enum>
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ </spacer>
+ </item>
+ <item row="2" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="missingContactCheckBox">
+ <property name="text">
+ <string>Allow m&amp;issing Contact header in 200 OK on REGISTER</string>
</property>
- <property name="sizeHint">
- <size>
- <width>151</width>
- <height>20</height>
- </size>
+ <property name="shortcut">
+ <string>Alt+I</string>
</property>
- </spacer>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>sipTransportTextLabel</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>A 200 OK response on a REGISTER request must contain a Contact header. Some registrars however, do not include a Contact header or include a wrong Contact header. This option allows for such a deviation from the specs.</string>
</property>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="maxForwardsCheckBox">
<property name="text">
- <string>T&amp;ransport protocol:</string>
+ <string>&amp;Max-Forwards header is mandatory</string>
</property>
- <property name="buddy" stdset="0">
- <cstring>sipTransportComboBox</cstring>
+ <property name="shortcut">
+ <string>Alt+M</string>
</property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>udpThresholdTextLabel</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>According to RFC 3261 the Max-Forwards header is mandatory. But many implementations do not send this header. If you tick this box, Twinkle will reject a SIP request if Max-Forwards is missing.</string>
</property>
+ </widget>
+ </item>
+ <item row="3" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="regTimeCheckBox">
<property name="text">
- <string>UDP t&amp;hreshold:</string>
+ <string>Put &amp;registration expiry time in contact header</string>
</property>
- <property name="buddy" stdset="0">
- <cstring>udpThresholdSpinBox</cstring>
+ <property name="shortcut">
+ <string>Alt+R</string>
</property>
- </widget>
- <widget class="QSpinBox" row="1" column="1">
- <property name="name">
- <cstring>udpThresholdSpinBox</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>In a REGISTER message the expiry time for registration can be put in the Contact header or in the Expires header. If you tick this box it will be put in the Contact header, otherwise it goes in the Expires header.</string>
</property>
- <property name="suffix">
- <string>bytes</string>
+ </widget>
+ </item>
+ <item row="4" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="compactHeadersCheckBox">
+ <property name="text">
+ <string>&amp;Use compact header names</string>
</property>
- <property name="maxValue">
- <number>65535</number>
+ <property name="shortcut">
+ <string>Alt+U</string>
</property>
- <property name="lineStep">
- <number>100</number>
+ <property name="whatsThis" stdset="0">
+ <string>Indicates if compact header names should be used for headers that have a compact form.</string>
</property>
- <property name="value">
- <number>1300</number>
+ </widget>
+ </item>
+ <item row="7" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="allowSdpChangeCheckBox">
+ <property name="text">
+ <string>Allow SDP change during call setup</string>
</property>
<property name="whatsThis" stdset="0">
- <string>Messages larger than the threshold are sent via TCP. Smaller messages are sent via UDP.</string>
+ <string>&lt;p&gt;A SIP UAS may send SDP in a 1XX response for early media, e.g. ringing tone. When the call is answered the SIP UAS should send the same SDP in the 200 OK response according to RFC 3261. Once SDP has been received, SDP in subsequent responses should be discarded.&lt;/p&gt;
+&lt;p&gt;By allowing SDP to change during call setup, Twinkle will not discard SDP in subsequent responses and modify the media stream if the SDP is changed. When the SDP in a response is changed, it must have a new version number in the o= line.&lt;/p&gt;</string>
</property>
- </widget>
- <spacer row="1" column="2" rowspan="1" colspan="2">
- <property name="name">
- <cstring>spacer47</cstring>
+ </widget>
+ </item>
+ <item row="6" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="useDomainInContactCheckBox">
+ <property name="text">
+ <string>Use domain &amp;name to create a unique contact header value</string>
</property>
- <property name="orientation">
- <enum>Horizontal</enum>
+ <property name="shortcut">
+ <string>Alt+N</string>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
+Twinkle creates a unique contact header value by combining the SIP user name and domain:
+&lt;/p&gt;
+&lt;p&gt;
+&lt;tt&gt;&amp;nbsp;user_domain@local_ip&lt;/tt&gt;
+&lt;/p&gt;
+&lt;p&gt;
+This way 2 user profiles, having the same user name but different domain names, have unique contact addresses and hence can be activated simultaneously.
+&lt;/p&gt;
+&lt;p&gt;
+Some proxies do not handle a contact header value like this. You can disable this option to get a contact header value like this:
+&lt;/p&gt;
+&lt;p&gt;
+&lt;tt&gt;&amp;nbsp;user@local_ip&lt;/tt&gt;
+&lt;/p&gt;
+&lt;p&gt;
+This format is what most SIP phones use.
+&lt;/p&gt;</string>
</property>
- <property name="sizeHint">
- <size>
- <width>81</width>
- <height>20</height>
- </size>
+ </widget>
+ </item>
+ <item row="5" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="multiValuesListCheckBox">
+ <property name="text">
+ <string>&amp;Encode Via, Route, Record-Route as list</string>
</property>
- </spacer>
- </grid>
- </widget>
- <widget class="QButtonGroup">
- <property name="name">
- <cstring>natTraversalButtonGroup_</cstring>
- </property>
- <property name="title">
- <string>NAT traversal</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>natNoneRadioButton</cstring>
+ <property name="shortcut">
+ <string>Alt+E</string>
</property>
+ <property name="whatsThis" stdset="0">
+ <string>The Via, Route and Record-Route headers can be encoded as a list of comma separated values or as multiple occurrences of the same header.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="Q3GroupBox" name="redirectionGroupBox">
+ <property name="title">
+ <string>Redirection</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="allowRedirectionCheckBox">
<property name="text">
- <string>&amp;NAT traversal not needed</string>
+ <string>&amp;Allow redirection</string>
</property>
- <property name="accel">
- <string>Alt+N</string>
+ <property name="shortcut">
+ <string>Alt+A</string>
</property>
<property name="whatsThis" stdset="0">
- <string>Choose this option when there is no NAT device between you and your SIP proxy or when your SIP provider offers hosted NAT traversal.</string>
+ <string>Indicates if Twinkle should redirect a request if a 3XX response is received.</string>
</property>
- </widget>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>natStaticRadioButton</cstring>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="1" colspan="3">
+ <widget class="QCheckBox" name="askUserRedirectCheckBox">
+ <property name="text">
+ <string>Ask user &amp;permission to redirect</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+P</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Indicates if Twinkle should ask the user before redirecting a request when a 3XX response is received.</string>
</property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="maxRedirectTextLabel">
<property name="text">
- <string>&amp;Use statically configured public IP address inside SIP messages</string>
+ <string>Max re&amp;directions:</string>
</property>
- <property name="accel">
- <string>Alt+U</string>
+ <property name="buddy" stdset="0">
+ <cstring>maxRedirectSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="maxRedirectSpinBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>46</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>5</number>
+ </property>
+ <property name="minimum">
+ <number>1</number>
</property>
<property name="whatsThis" stdset="0">
- <string>Indicates if Twinkle should use the public IP address specified in the next field inside SIP message, i.e. in SIP headers and SDP body instead of the IP address of your network interface.&lt;br&gt;&lt;br&gt;
-When you choose this option you have to create static address mappings in your NAT device as well. You have to map the RTP ports on the public IP address to the same ports on the private IP address of your PC.</string>
+ <string>The number of redirect addresses that Twinkle tries at a maximum before it gives up redirecting a request. This prevents a request from getting redirected forever.</string>
</property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout32</cstring>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <spacer name="spacer5">
+ <property name="sizeHint">
+ <size>
+ <width>80</width>
+ <height>20</height>
+ </size>
</property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>publicIPTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Public IP address:</string>
- </property>
- <property name="indent">
- <number>21</number>
- </property>
- <property name="buddy" stdset="0">
- <cstring>publicIPLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>publicIPLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The public IP address of your NAT.</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>natStunRadioButton</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
- <property name="text">
- <string>Use &amp;STUN (does not work for incoming TCP)</string>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="accel">
- <string>Alt+S</string>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="Q3GroupBox" name="sipExtensionsGroupBox">
+ <property name="title">
+ <string>SIP extensions</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="1">
+ <widget class="QComboBox" name="ext100relComboBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>120</width>
+ <height>0</height>
+ </size>
</property>
<property name="whatsThis" stdset="0">
- <string>Choose this option when your SIP provider offers a STUN server for NAT traversal.</string>
+ <string>Indicates if the 100rel extension (PRACK) is supported:&lt;br&gt;&lt;br&gt;
+&lt;b&gt;disabled&lt;/b&gt;: 100rel extension is disabled
+&lt;br&gt;&lt;br&gt;
+&lt;b&gt;supported&lt;/b&gt;: 100rel is supported (it is added in the supported header of an outgoing INVITE). A far-end can now require a PRACK on a 1xx response.
+&lt;br&gt;&lt;br&gt;
+&lt;b&gt;required&lt;/b&gt;: 100rel is required (it is put in the require header of an outgoing INVITE). If an incoming INVITE indicates that it supports 100rel, then Twinkle will require a PRACK when sending a 1xx response. A call will fail when the far-end does not support 100rel.
+&lt;br&gt;&lt;br&gt;
+&lt;b&gt;preferred&lt;/b&gt;: Similar to required, but if a call fails because the far-end indicates it does not support 100rel (420 response) then the call will be re-attempted without the 100rel requirement.</string>
</property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout33</cstring>
+ <item>
+ <property name="text">
+ <string>disabled</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>supported</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>required</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>preferred</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="ext100relTextLabel">
+ <property name="text">
+ <string>&amp;100 rel (PRACK):</string>
</property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>stunServerTextLabel</cstring>
- </property>
- <property name="text">
- <string>S&amp;TUN server:</string>
- </property>
- <property name="indent">
- <number>21</number>
- </property>
- <property name="buddy" stdset="0">
- <cstring>stunServerLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>stunServerLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The hostname, domain name or IP address of the STUN server.</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>persistentTcpCheckBox</cstring>
+ <property name="buddy" stdset="0">
+ <cstring>ext100relComboBox</cstring>
</property>
- <property name="text">
- <string>P&amp;ersistent TCP connection</string>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
- <property name="accel">
- <string>Alt+E</string>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="extReplacesCheckBox">
+ <property name="text">
+ <string>Replaces</string>
</property>
<property name="whatsThis" stdset="0">
- <string>Keep the TCP connection established during registration open such that the SIP proxy can reuse this connection to send incoming requests. Application ping packets are sent to test if the connection is still alive.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>natKeepaliveCheckBox</cstring>
+ <string>Indicates if the Replaces-extenstion is supported.</string>
</property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>REFER</string>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3GroupBox" name="referGroupBox">
+ <property name="title">
+ <string>Call transfer (REFER)</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QCheckBox" name="allowReferCheckBox">
<property name="text">
- <string>Enable NAT &amp;keep alive</string>
+ <string>Accept call &amp;transfer request (incoming REFER)</string>
</property>
- <property name="accel">
- <string>Alt+K</string>
+ <property name="shortcut">
+ <string>Alt+T</string>
</property>
<property name="whatsThis" stdset="0">
- <string>Send UDP NAT keep alive packets.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer19</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>80</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageAddressFormat</cstring>
- </property>
- <attribute name="id">
- <number>5</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>addressFormatTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Address format</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>telNumberGroupBox</cstring>
- </property>
- <property name="title">
- <string>Telephone numbers</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>displayTelUserCheckBox</cstring>
+ <string>Indicates if Twinkle should transfer a call if a REFER request is received.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="askUserReferCheckBox">
<property name="text">
- <string>Only &amp;display user part of URI for telephone number</string>
+ <string>As&amp;k user permission to transfer</string>
</property>
- <property name="accel">
- <string>Alt+D</string>
+ <property name="shortcut">
+ <string>Alt+K</string>
</property>
<property name="whatsThis" stdset="0">
- <string>If a URI indicates a telephone number, then only display the user part. E.g. if a call comes in from sip:123456@twinklephone.com then display only "123456" to the user. A URI indicates a telephone number if it contains the "user=phone" parameter or when it has a numerical user part and you ticked the next option.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>numericalUserIsTelCheckBox</cstring>
+ <string>Indicates if Twinkle should ask the user before transferring a call when a REFER request is received.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="refereeHoldCheckBox">
<property name="text">
- <string>&amp;URI with numerical user part is a telephone number</string>
+ <string>Hold call &amp;with referrer while setting up call to transfer target</string>
</property>
- <property name="accel">
- <string>Alt+U</string>
+ <property name="shortcut">
+ <string>Alt+W</string>
</property>
<property name="whatsThis" stdset="0">
- <string>If you tick this option, then Twinkle considers a SIP address that has a user part that consists of digits, *, #, + and special symbols only as a telephone number. In an outgoing message, Twinkle will add the "user=phone" parameter to such a URI.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>removeSpecialCheckBox</cstring>
+ <string>Indicates if Twinkle should put the current call on hold when a REFER request to transfer a call is received.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="referrerHoldCheckBox">
<property name="text">
- <string>&amp;Remove special symbols from numerical dial strings</string>
+ <string>Ho&amp;ld call with referee before sending REFER</string>
</property>
- <property name="accel">
- <string>Alt+R</string>
+ <property name="shortcut">
+ <string>Alt+L</string>
</property>
<property name="whatsThis" stdset="0">
- <string>Telephone numbers are often written with special symbols like dashes and brackets to make them readable to humans. When you dial such a number the special symbols must not be dialed. To allow you to simply copy/paste such a number into Twinkle, Twinkle can remove these symbols when you hit the dial button.</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>useTelUriCheckBox</cstring>
+ <string>Indicates if Twinkle should put the current call on hold when you transfer a call.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="refreshReferSubCheckBox">
<property name="text">
- <string>Use tel-URI for telephone &amp;number</string>
+ <string>Auto re&amp;fresh subscription to refer event while call transfer is not finished</string>
</property>
- <property name="accel">
- <string>Alt+N</string>
+ <property name="shortcut">
+ <string>Alt+F</string>
</property>
<property name="whatsThis" stdset="0">
- <string>Expand a dialed telephone number to a tel-URI instead of a sip-URI.</string>
+ <string>While a call is being transferred, the referee sends NOTIFY messages to the referrer about the progress of the transfer. These messages are only sent for a short interval which length is determined by the referee. If you tick this box, the referrer will automatically send a SUBSCRIBE to lengthen this interval if it is about to expire and the transfer has not yet been completed.</string>
</property>
- </widget>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>specialTextLabel</cstring>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="referAorCheckBox">
+ <property name="text">
+ <string>Attended refer to AoR (Address of Record)</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>An attended call transfer should use the contact URI as a refer target. A contact URI may not be globally routable however. Alternatively the AoR (Address of Record) may be used. A disadvantage is that the AoR may route to multiple endpoints in case of forking whereas the contact URI routes to a single endoint.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="transferConsultInprogCheckBox">
<property name="text">
- <string>&amp;Special symbols:</string>
+ <string>Allow call transfer while consultation in progress</string>
</property>
- <property name="buddy" stdset="0">
- <cstring>specialLineEdit</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>When you perform an attended call transfer, you normally transfer the call after you established a consultation call. If you enable this option you can transfer the call while the consultation call is still in progress. This is a non-standard implementation and may not work with all SIP devices.</string>
</property>
- </widget>
- <widget class="QLineEdit" row="3" column="1">
- <property name="name">
- <cstring>specialLineEdit</cstring>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer25">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="TabPage">
+ <attribute name="title">
+ <string>Privacy</string>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="Q3GroupBox" name="privacyGroupBox">
+ <property name="title">
+ <string>Privacy options</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QCheckBox" name="pPreferredIdCheckBox">
+ <property name="text">
+ <string>&amp;Send P-Preferred-Identity header when hiding user identity</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+S</string>
</property>
<property name="whatsThis" stdset="0">
- <string>The special symbols that may be part of a telephone number for nice formatting, but must be removed when dialing.</string>
+ <string>Include a P-Preferred-Identity header with your identity in an INVITE request for a call with identity hiding.</string>
</property>
- </widget>
- </grid>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>conversionGroupBox</cstring>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer40">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>331</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageNat">
+ <attribute name="id">
+ <number>4</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="NatTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Transport/NAT</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="transportGroupBox">
+ <property name="title">
+ <string>SIP transport</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="1" rowspan="1" colspan="2">
+ <widget class="QComboBox" name="sipTransportComboBox">
+ <property name="whatsThis" stdset="0">
+ <string>Transport mode for SIP. In auto mode, the size of a message determines which transport protocol is used. Messages larger than the UDP threshold are sent via TCP. Smaller messages are sent via UDP.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>Auto</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>UDP</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>TCP</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <spacer name="spacer46">
+ <property name="sizeHint">
+ <size>
+ <width>151</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="sipTransportTextLabel">
+ <property name="text">
+ <string>T&amp;ransport protocol:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>sipTransportComboBox</cstring>
</property>
- <property name="title">
- <string>Number conversion</string>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="udpThresholdTextLabel">
+ <property name="text">
+ <string>UDP t&amp;hreshold:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>udpThresholdSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="udpThresholdSpinBox">
+ <property name="suffix">
+ <string>bytes</string>
+ </property>
+ <property name="maximum">
+ <number>65535</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>1300</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Messages larger than the threshold are sent via TCP. Smaller messages are sent via UDP.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" rowspan="1" colspan="2">
+ <spacer name="spacer47">
+ <property name="sizeHint">
+ <size>
+ <width>81</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3ButtonGroup" name="natTraversalButtonGroup_">
+ <property name="title">
+ <string>NAT traversal</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QRadioButton" name="natNoneRadioButton">
+ <property name="text">
+ <string>&amp;NAT traversal not needed</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+N</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose this option when there is no NAT device between you and your SIP proxy or when your SIP provider offers hosted NAT traversal.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="natStaticRadioButton">
+ <property name="text">
+ <string>&amp;Use statically configured public IP address inside SIP messages</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+U</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Indicates if Twinkle should use the public IP address specified in the next field inside SIP message, i.e. in SIP headers and SDP body instead of the IP address of your network interface.&lt;br&gt;&lt;br&gt;
+When you choose this option you have to create static address mappings in your NAT device as well. You have to map the RTP ports on the public IP address to the same ports on the private IP address of your PC.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="publicIPTextLabel">
+ <property name="text">
+ <string>&amp;Public IP address:</string>
</property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout29</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QListView">
- <column>
- <property name="text">
- <string>Match expression</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizable">
- <bool>true</bool>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Replace</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizable">
- <bool>true</bool>
- </property>
- </column>
- <property name="name">
- <cstring>conversionListView</cstring>
- </property>
- <property name="allColumnsShowFocus">
- <bool>true</bool>
- </property>
- <property name="resizeMode">
- <enum>AllColumns</enum>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ <property name="indent">
+ <number>21</number>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>publicIPLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="publicIPLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The public IP address of your NAT.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="natStunRadioButton">
+ <property name="text">
+ <string>Use &amp;STUN (does not work for incoming TCP)</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+S</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Choose this option when your SIP provider offers a STUN server for NAT traversal.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="stunServerTextLabel">
+ <property name="text">
+ <string>S&amp;TUN server:</string>
+ </property>
+ <property name="indent">
+ <number>21</number>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>stunServerLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="stunServerLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The hostname, domain name or IP address of the STUN server.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="persistentTcpCheckBox">
+ <property name="text">
+ <string>P&amp;ersistent TCP connection</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+E</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Keep the TCP connection established during registration open such that the SIP proxy can reuse this connection to send incoming requests. Application ping packets are sent to test if the connection is still alive.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="natKeepaliveCheckBox">
+ <property name="text">
+ <string>Enable NAT &amp;keep alive</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+K</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Send UDP NAT keep alive packets.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer19">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageAddressFormat">
+ <attribute name="id">
+ <number>5</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="addressFormatTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Address format</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="telNumberGroupBox">
+ <property name="title">
+ <string>Telephone numbers</string>
+ </property>
+ <layout class="QGridLayout">
+ <item row="0" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="displayTelUserCheckBox">
+ <property name="text">
+ <string>Only &amp;display user part of URI for telephone number</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+D</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If a URI indicates a telephone number, then only display the user part. E.g. if a call comes in from sip:123456@twinklephone.com then display only &quot;123456&quot; to the user. A URI indicates a telephone number if it contains the &quot;user=phone&quot; parameter or when it has a numerical user part and you ticked the next option.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="numericalUserIsTelCheckBox">
+ <property name="text">
+ <string>&amp;URI with numerical user part is a telephone number</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+U</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If you tick this option, then Twinkle considers a SIP address that has a user part that consists of digits, *, #, + and special symbols only as a telephone number. In an outgoing message, Twinkle will add the &quot;user=phone&quot; parameter to such a URI.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="removeSpecialCheckBox">
+ <property name="text">
+ <string>&amp;Remove special symbols from numerical dial strings</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+R</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Telephone numbers are often written with special symbols like dashes and brackets to make them readable to humans. When you dial such a number the special symbols must not be dialed. To allow you to simply copy/paste such a number into Twinkle, Twinkle can remove these symbols when you hit the dial button.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" rowspan="1" colspan="2">
+ <widget class="QCheckBox" name="useTelUriCheckBox">
+ <property name="text">
+ <string>Use tel-URI for telephone &amp;number</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+N</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Expand a dialed telephone number to a tel-URI instead of a sip-URI.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="specialTextLabel">
+ <property name="text">
+ <string>&amp;Special symbols:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>specialLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="specialLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The special symbols that may be part of a telephone number for nice formatting, but must be removed when dialing.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="conversionGroupBox">
+ <property name="title">
+ <string>Number conversion</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="Q3ListView" name="conversionListView">
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="resizeMode">
+ <enum>Q3ListView::AllColumns</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
Often the format of the telphone numbers you need to dial is different from the format of the telephone numbers stored in your address book, e.g. your numbers start with a +-symbol followed by a country code, but your provider expects '00' instead of the '+', or you are at the office and all your numbers need to be prefixed with a '9' to access an outside line. Here you can specify number format conversion using Perl style regular expressions and format strings.
&lt;/p&gt;
&lt;p&gt;
@@ -3498,597 +3123,534 @@ You are at work and all telephone numbers starting with a 0 should be prefixed w
Match expression = 0[0-9]* , Replace = 9$&amp;&lt;br&gt;
&lt;/tt&gt;
&lt;/blockquote&gt;</string>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout15_2</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer19_2_2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>upConversionPushButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>1uparrow.png</pixmap>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Move the selected number conversion rule upwards in the list.</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>downConversionPushButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>1downarrow.png</pixmap>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Move the selected number conversion rule downwards in the list.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer20_2_2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>31</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout30</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QPushButton">
- <property name="name">
- <cstring>addConversionPushButton</cstring>
- </property>
- <property name="text">
- <string>&amp;Add</string>
- </property>
- <property name="accel">
- <string>Alt+A</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Add a number conversion rule.</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>removePushButton</cstring>
- </property>
- <property name="text">
- <string>Re&amp;move</string>
- </property>
- <property name="accel">
- <string>Alt+M</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Remove the selected number conversion rule.</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>editConversionPushButton</cstring>
- </property>
- <property name="text">
- <string>&amp;Edit</string>
- </property>
- <property name="accel">
- <string>Alt+E</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Edit the selected number conversion rule.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer38_2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>291</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout24</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>testConversionLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Type a telephone number here an press the Test button to see how it is converted by the list of number conversion rules.</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>testConversionPushButton</cstring>
- </property>
- <property name="text">
- <string>&amp;Test</string>
- </property>
- <property name="accel">
- <string>Alt+T</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Test how a number is converted by the number conversion rules.</string>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer20</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageTimers</cstring>
- </property>
- <attribute name="id">
- <number>6</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>timersTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Timers</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout7</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
</property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout6</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel" row="0" column="2">
- <property name="name">
- <cstring>secNoanswerTextLabel</cstring>
- </property>
- <property name="text">
- <string>seconds</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="1" column="1">
- <property name="name">
- <cstring>tmrNatKeepaliveSpinBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>55</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>55</width>
- <height>32767</height>
- </size>
- </property>
- <property name="maxValue">
- <number>900</number>
- </property>
- <property name="minValue">
- <number>10</number>
- </property>
- <property name="lineStep">
- <number>10</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>If you have enabled STUN or NAT keep alive, then Twinkle will send keep alive packets at this interval rate to keep the address bindings in your NAT device alive.</string>
- </property>
- </widget>
- <widget class="QSpinBox" row="0" column="1">
- <property name="name">
- <cstring>tmrNoanswerSpinBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>55</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>55</width>
- <height>32767</height>
- </size>
- </property>
- <property name="maxValue">
- <number>600</number>
- </property>
- <property name="lineStep">
- <number>10</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>When an incoming call is received, this timer is started. If the user answers the call, the timer is stopped. If the timer expires before the user answers the call, then Twinkle will reject the call with a "480 User Not Responding".</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>tmrNatKeepaliveTextLabel</cstring>
- </property>
- <property name="text">
- <string>NAT &amp;keep alive:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>tmrNatKeepaliveSpinBox</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>tmrNoanswerTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;No answer:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>tmrNoanswerSpinBox</cstring>
- </property>
- </widget>
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer23</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
+ <column>
+ <property name="text">
+ <string>Match expression</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Replace</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout">
+ <item>
+ <spacer name="spacer19_2_2">
<property name="sizeHint">
- <size>
- <width>270</width>
- <height>20</height>
- </size>
+ <size>
+ <width>20</width>
+ <height>21</height>
+ </size>
</property>
- </spacer>
- </hbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer22</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>450</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageRingTones</cstring>
- </property>
- <attribute name="id">
- <number>7</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>ringtonesTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Ring tones</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout18</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QToolButton" row="1" column="2">
- <property name="name">
- <cstring>openRingbackToolButton</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
</property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="upConversionPushButton">
<property name="text">
- <string></string>
+ <string/>
</property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
+ <property name="icon">
+ <pixmap>1uparrow.png</pixmap>
</property>
<property name="whatsThis" stdset="0">
- <string>Select ring back tone file.</string>
- </property>
- </widget>
- <widget class="QToolButton" row="0" column="2">
- <property name="name">
- <cstring>openRingtoneToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
+ <string>Move the selected number conversion rule upwards in the list.</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="downConversionPushButton">
<property name="text">
- <string></string>
+ <string/>
</property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
+ <property name="icon">
+ <pixmap>1downarrow.png</pixmap>
</property>
<property name="whatsThis" stdset="0">
- <string>Select ring tone file.</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>ringbackTextLabel</cstring>
+ <string>Move the selected number conversion rule downwards in the list.</string>
</property>
- <property name="text">
- <string>Ring &amp;back tone:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>ringbackLineEdit</cstring>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer20_2_2">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>31</height>
+ </size>
</property>
- </widget>
- <widget class="QLineEdit" row="1" column="1">
- <property name="name">
- <cstring>ringbackLineEdit</cstring>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
</property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QPushButton" name="addConversionPushButton">
+ <property name="text">
+ <string>&amp;Add</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+A</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Add a number conversion rule.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="removePushButton">
+ <property name="text">
+ <string>Re&amp;move</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+M</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Remove the selected number conversion rule.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editConversionPushButton">
+ <property name="text">
+ <string>&amp;Edit</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+E</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Edit the selected number conversion rule.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer38_2">
+ <property name="sizeHint">
+ <size>
+ <width>291</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLineEdit" name="testConversionLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>Type a telephone number here an press the Test button to see how it is converted by the list of number conversion rules.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="testConversionPushButton">
+ <property name="text">
+ <string>&amp;Test</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+T</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Test how a number is converted by the number conversion rules.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer20">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageTimers">
+ <attribute name="id">
+ <number>6</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="timersTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Timers</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <layout class="QGridLayout">
+ <item row="0" column="2">
+ <widget class="QLabel" name="secNoanswerTextLabel">
+ <property name="text">
+ <string>seconds</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="tmrNatKeepaliveSpinBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>55</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>55</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>900</number>
+ </property>
+ <property name="minimum">
+ <number>10</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If you have enabled STUN or NAT keep alive, then Twinkle will send keep alive packets at this interval rate to keep the address bindings in your NAT device alive.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="tmrNoanswerSpinBox">
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>55</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>55</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>600</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When an incoming call is received, this timer is started. If the user answers the call, the timer is stopped. If the timer expires before the user answers the call, then Twinkle will reject the call with a &quot;480 User Not Responding&quot;.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="tmrNatKeepaliveTextLabel">
+ <property name="text">
+ <string>NAT &amp;keep alive:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>tmrNatKeepaliveSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="tmrNoanswerTextLabel">
+ <property name="text">
+ <string>&amp;No answer:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>tmrNoanswerSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer23">
+ <property name="sizeHint">
+ <size>
+ <width>270</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer22">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>450</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageRingTones">
+ <attribute name="id">
+ <number>7</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="ringtonesTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Ring tones</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout">
+ <item row="1" column="2">
+ <widget class="QToolButton" name="openRingbackToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select ring back tone file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QToolButton" name="openRingtoneToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select ring tone file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="ringbackTextLabel">
+ <property name="text">
+ <string>Ring &amp;back tone:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>ringbackLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="ringbackLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
Specify the file name of a .wav file that you want to be played as ring back tone for this user.
&lt;/p&gt;
&lt;p&gt;
This ring back tone overrides the ring back tone settings in the system settings.
&lt;/p&gt;</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>ringtoneLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="ringtoneLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
Specify the file name of a .wav file that you want to be played as ring tone for this user.
&lt;/p&gt;
&lt;p&gt;
This ring tone overrides the ring tone settings in the system settings.
&lt;/p&gt;</string>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>ringtoneTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Ring tone:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>ringtoneLineEdit</cstring>
- </property>
- </widget>
- </grid>
+ </property>
</widget>
- <spacer>
- <property name="name">
- <cstring>spacer30</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>391</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageScripts</cstring>
- </property>
- <attribute name="id">
- <number>8</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>scriptsTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Scripts</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="ringtoneTextLabel">
+ <property name="text">
+ <string>&amp;Ring tone:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>ringtoneLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout19</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLineEdit" row="6" column="1">
- <property name="name">
- <cstring>localReleaseLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer30">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>391</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageScripts">
+ <attribute name="id">
+ <number>8</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="scriptsTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Scripts</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout">
+ <item row="6" column="1">
+ <widget class="QLineEdit" name="localReleaseLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
This script is called when you release a call.
&lt;/p&gt;
&lt;h2&gt;Environment variables&lt;/h2&gt;
@@ -4097,65 +3659,61 @@ The values of all SIP headers of the outgoing SIP BYE request are passed in envi
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TWINKLE_TRIGGER=local_release&lt;/b&gt;. &lt;b&gt;SIPREQUEST_METHOD=BYE&lt;/b&gt;. &lt;b&gt;SIPREQUEST_URI&lt;/b&gt; contains the request-URI of the BYE. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QToolButton" row="2" column="2">
- <property name="name">
- <cstring>openInCallFailedToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QToolButton" row="0" column="2">
- <property name="name">
- <cstring>openIncomingCallScriptToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QToolButton" row="4" column="2">
- <property name="name">
- <cstring>openOutCallAnsweredToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="2" column="1">
- <property name="name">
- <cstring>inCallFailedLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QToolButton" name="openInCallFailedToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QToolButton" name="openIncomingCallScriptToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QToolButton" name="openOutCallAnsweredToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="inCallFailedLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
This script is called when an incoming call fails.
&lt;/p&gt;
&lt;h2&gt;Environment variables&lt;/h2&gt;
@@ -4164,31 +3722,29 @@ The values of all SIP headers of the outgoing SIP failure response are passed in
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TWINKLE_TRIGGER=in_call_failed&lt;/b&gt;. &lt;b&gt;SIPSTATUS_CODE&lt;/b&gt; contains the status code of the failure response. &lt;b&gt;SIPSTATUS_REASON&lt;/b&gt; contains the reason phrase. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QToolButton" row="1" column="2">
- <property name="name">
- <cstring>openInCallAnsweredToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="7" column="1">
- <property name="name">
- <cstring>remoteReleaseLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QToolButton" name="openInCallAnsweredToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QLineEdit" name="remoteReleaseLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
This script is called when the remote party releases a call.
&lt;/p&gt;
&lt;h2&gt;Environment variables&lt;/h2&gt;
@@ -4197,31 +3753,29 @@ The values of all SIP headers of the incoming SIP BYE request are passed in envi
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TWINKLE_TRIGGER=remote_release&lt;/b&gt;. &lt;b&gt;SIPREQUEST_METHOD=BYE&lt;/b&gt;. &lt;b&gt;SIPREQUEST_URI&lt;/b&gt; contains the request-URI of the BYE. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QToolButton" row="3" column="2">
- <property name="name">
- <cstring>openOutCallToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>incomingCallScriptLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QToolButton" name="openOutCallToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="incomingCallScriptLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
You can customize the way Twinkle handles incoming calls. Twinkle can call a script when a call comes in. Based on the ouput of the script Twinkle accepts, rejects or redirects the call. When accepting the call, the ring tone can be customized by the script as well. The script can be any executable program.
&lt;/p&gt;
&lt;p&gt;
@@ -4273,14 +3827,13 @@ The values of all SIP headers in the incoming INVITE message are passed in envir
&lt;/p&gt;
&lt;p&gt;
TWINKLE_TRIGGER=in_call. SIPREQUEST_METHOD=INVITE. The request-URI of the INVITE will be passed in &lt;b&gt;SIPREQUEST_URI&lt;/b&gt;. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="4" column="1">
- <property name="name">
- <cstring>outCallAnsweredLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="outCallAnsweredLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
This script is called when the remote party answers your call.
&lt;/p&gt;
&lt;h2&gt;Environment variables&lt;/h2&gt;
@@ -4289,14 +3842,13 @@ The values of all SIP headers of the incoming 200 OK are passed in environment v
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TWINKLE_TRIGGER=out_call_answered&lt;/b&gt;. &lt;b&gt;SIPSTATUS_CODE=200&lt;/b&gt;. &lt;b&gt;SIPSTATUS_REASON&lt;/b&gt; contains the reason phrase. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="1" column="1">
- <property name="name">
- <cstring>inCallAnsweredLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="inCallAnsweredLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
This script is called when you answer an incoming call.
&lt;/p&gt;
&lt;h2&gt;Environment variables&lt;/h2&gt;
@@ -4305,42 +3857,42 @@ The values of all SIP headers of the outgoing 200 OK are passed in environment v
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TWINKLE_TRIGGER=in_call_answered&lt;/b&gt;. &lt;b&gt;SIPSTATUS_CODE=200&lt;/b&gt;. &lt;b&gt;SIPSTATUS_REASON&lt;/b&gt; contains the reason phrase. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QLabel" row="6" column="0">
- <property name="name">
- <cstring>localReleaseTextLabel</cstring>
- </property>
- <property name="text">
- <string>Call released locall&amp;y:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>inCallFailedLineEdit</cstring>
- </property>
- </widget>
- <widget class="QToolButton" row="5" column="2">
- <property name="name">
- <cstring>openOutCallFailedToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="5" column="1">
- <property name="name">
- <cstring>outCallFailedLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="localReleaseTextLabel">
+ <property name="text">
+ <string>Call released locall&amp;y:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>inCallFailedLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QToolButton" name="openOutCallFailedToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="outCallFailedLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
This script is called when an outgoing call fails.
&lt;/p&gt;
&lt;h2&gt;Environment variables&lt;/h2&gt;
@@ -4349,14 +3901,13 @@ The values of all SIP headers of the incoming SIP failure response are passed in
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TWINKLE_TRIGGER=out_call_failed&lt;/b&gt;. &lt;b&gt;SIPSTATUS_CODE&lt;/b&gt; contains the status code of the failure response. &lt;b&gt;SIPSTATUS_REASON&lt;/b&gt; contains the reason phrase. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="3" column="1">
- <property name="name">
- <cstring>outCallLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;p&gt;
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="outCallLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;
This script is called when you make a call.
&lt;/p&gt;
&lt;h2&gt;Environment variables&lt;/h2&gt;
@@ -4365,353 +3916,311 @@ The values of all SIP headers of the outgoing INVITE are passed in environment v
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TWINKLE_TRIGGER=out_call&lt;/b&gt;. &lt;b&gt;SIPREQUEST_METHOD=INVITE&lt;/b&gt;. &lt;b&gt;SIPREQUEST_URI&lt;/b&gt; contains the request-URI of the INVITE. The name of the user profile will be passed in &lt;b&gt;TWINKLE_USER_PROFILE&lt;/b&gt;.</string>
- </property>
- </widget>
- <widget class="QLabel" row="4" column="0">
- <property name="name">
- <cstring>outCallAnsweredTextLabel</cstring>
- </property>
- <property name="text">
- <string>Outgoing call a&amp;nswered:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>inCallAnsweredLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="0">
- <property name="name">
- <cstring>inCallFailedTextLabel</cstring>
- </property>
- <property name="text">
- <string>Incoming call &amp;failed:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>inCallFailedLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>incomingCallScriptTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Incoming call:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>incomingCallScriptLineEdit</cstring>
- </property>
- </widget>
- <widget class="QToolButton" row="6" column="2">
- <property name="name">
- <cstring>openLocalReleaseToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QLabel" row="7" column="0">
- <property name="name">
- <cstring>remoteReleaseTextLabel</cstring>
- </property>
- <property name="text">
- <string>Call released &amp;remotely:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>inCallFailedLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>inCallAnsweredTextLabel</cstring>
- </property>
- <property name="text">
- <string>Incoming call &amp;answered:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>inCallAnsweredLineEdit</cstring>
- </property>
- </widget>
- <widget class="QToolButton" row="7" column="2">
- <property name="name">
- <cstring>openRemoteReleaseToolButton</cstring>
- </property>
- <property name="focusPolicy">
- <enum>TabFocus</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="iconSet">
- <iconset>fileopen.png</iconset>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Select script file.</string>
- </property>
- </widget>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>outCallTextLabel</cstring>
- </property>
- <property name="text">
- <string>O&amp;utgoing call:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>incomingCallScriptLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="5" column="0">
- <property name="name">
- <cstring>outCallFailedTextLabel</cstring>
- </property>
- <property name="text">
- <string>Out&amp;going call failed:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>inCallFailedLineEdit</cstring>
- </property>
- </widget>
- </grid>
+ </property>
</widget>
- <spacer>
- <property name="name">
- <cstring>spacer29</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>190</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageSecurity</cstring>
- </property>
- <attribute name="id">
- <number>9</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>securityTitleTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Security</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="outCallAnsweredTextLabel">
+ <property name="text">
+ <string>Outgoing call a&amp;nswered:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>inCallAnsweredLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>zrtpEnabledCheckBox</cstring>
- </property>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="inCallFailedTextLabel">
+ <property name="text">
+ <string>Incoming call &amp;failed:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>inCallFailedLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="incomingCallScriptTextLabel">
+ <property name="text">
+ <string>&amp;Incoming call:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>incomingCallScriptLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QToolButton" name="openLocalReleaseToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="remoteReleaseTextLabel">
+ <property name="text">
+ <string>Call released &amp;remotely:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>inCallFailedLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="inCallAnsweredTextLabel">
+ <property name="text">
+ <string>Incoming call &amp;answered:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>inCallAnsweredLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="2">
+ <widget class="QToolButton" name="openRemoteReleaseToolButton">
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset>fileopen.png</iconset>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Select script file.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="outCallTextLabel">
+ <property name="text">
+ <string>O&amp;utgoing call:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>incomingCallScriptLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="outCallFailedTextLabel">
+ <property name="text">
+ <string>Out&amp;going call failed:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>inCallFailedLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="spacer29">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>190</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageSecurity">
+ <attribute name="id">
+ <number>9</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="securityTitleTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Security</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="zrtpEnabledCheckBox">
+ <property name="text">
+ <string>&amp;Enable ZRTP/SRTP encryption</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+E</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When ZRTP/SRTP is enabled, then Twinkle will try to encrypt the audio of each call you originate or receive. Encryption will only succeed if the remote party has ZRTP/SRTP support enabled. If the remote party does not support ZRTP/SRTP, then the audio channel will stay unecrypted.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="zrtpSettingsGroupBox">
+ <property name="title">
+ <string>ZRTP settings</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QCheckBox" name="zrtpSendIfSupportedCheckBox">
<property name="text">
- <string>&amp;Enable ZRTP/SRTP encryption</string>
+ <string>O&amp;nly encrypt audio if remote party indicated ZRTP support in SDP</string>
</property>
- <property name="accel">
- <string>Alt+E</string>
+ <property name="shortcut">
+ <string>Alt+N</string>
</property>
<property name="whatsThis" stdset="0">
- <string>When ZRTP/SRTP is enabled, then Twinkle will try to encrypt the audio of each call you originate or receive. Encryption will only succeed if the remote party has ZRTP/SRTP support enabled. If the remote party does not support ZRTP/SRTP, then the audio channel will stay unecrypted.</string>
+ <string>A SIP endpoint supporting ZRTP may indicate ZRTP support during call setup in its signalling. Enabling this option will cause Twinkle only to encrypt calls when the remote party indicates ZRTP support.</string>
</property>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>zrtpSettingsGroupBox</cstring>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="zrtpSdpCheckBox">
+ <property name="text">
+ <string>&amp;Indicate ZRTP support in SDP</string>
</property>
- <property name="title">
- <string>ZRTP settings</string>
+ <property name="shortcut">
+ <string>Alt+I</string>
</property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>zrtpSendIfSupportedCheckBox</cstring>
- </property>
- <property name="text">
- <string>O&amp;nly encrypt audio if remote party indicated ZRTP support in SDP</string>
- </property>
- <property name="accel">
- <string>Alt+N</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>A SIP endpoint supporting ZRTP may indicate ZRTP support during call setup in its signalling. Enabling this option will cause Twinkle only to encrypt calls when the remote party indicates ZRTP support.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>zrtpSdpCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Indicate ZRTP support in SDP</string>
- </property>
- <property name="accel">
- <string>Alt+I</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Twinkle will indicate ZRTP support during call setup in its signalling.</string>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>zrtpGoClearWarningCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Popup warning when remote party disables encryption during call</string>
- </property>
- <property name="accel">
- <string>Alt+P</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>A remote party of an encrypted call may send a ZRTP go-clear command to stop encryption. When Twinkle receives this command it will popup a warning if this option is enabled.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer33</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>Twinkle will indicate ZRTP support during call setup in its signalling.</string>
</property>
- <property name="orientation">
- <enum>Vertical</enum>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="zrtpGoClearWarningCheckBox">
+ <property name="text">
+ <string>&amp;Popup warning when remote party disables encryption during call</string>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="shortcut">
+ <string>Alt+P</string>
</property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>241</height>
- </size>
+ <property name="whatsThis" stdset="0">
+ <string>A remote party of an encrypted call may send a ZRTP go-clear command to stop encryption. When Twinkle receives this command it will popup a warning if this option is enabled.</string>
</property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageVoiceMail</cstring>
- </property>
- <attribute name="id">
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer33">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>241</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageVoiceMail">
+ <attribute name="id">
+ <number>10</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="voiceMailTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Voice mail</string>
+ </property>
+ <property name="indent">
<number>10</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>voiceMailTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Voice mail</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="vmAddressTextLabel">
+ <property name="text">
+ <string>&amp;Voice mail address:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>vmAddressLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout39</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>vmAddressTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Voice mail address:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>vmAddressLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>vmAddressLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The SIP address or telephone number to access your voice mail.</string>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="1" column="1">
- <property name="name">
- <cstring>layout38</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QComboBox">
- <item>
- <property name="text">
- <string>Unsollicited</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Sollicited</string>
- </property>
- </item>
- <property name="name">
- <cstring>mwiTypeComboBox</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;H2&gt;Message waiting indication type&lt;/H2&gt;
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="vmAddressLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The SIP address or telephone number to access your voice mail.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QComboBox" name="mwiTypeComboBox">
+ <property name="whatsThis" stdset="0">
+ <string>&lt;H2&gt;Message waiting indication type&lt;/H2&gt;
&lt;p&gt;
If your provider offers the message waiting indication service, then Twinkle can show you when new voice mail messages are waiting. Ask your provider which type of message waiting indication is offered.
&lt;/p&gt;
@@ -4723,818 +4232,488 @@ Asterisk provides unsollicited message waiting indication.
&lt;p&gt;
Sollicited message waiting indication as specified by RFC 3842.
&lt;/p&gt;</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer39</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>221</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>mwiTypeTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;MWI type:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>mwiTypeComboBox</cstring>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>mwiSollicitedGroupBox</cstring>
- </property>
- <property name="title">
- <string>Sollicited MWI</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
+ </property>
+ <item>
+ <property name="text">
+ <string>Unsollicited</string>
</property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout36</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer row="2" column="0">
- <property name="name">
- <cstring>spacer35</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>120</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>mwiDurationTextLabel</cstring>
- </property>
- <property name="text">
- <string>Subscription &amp;duration:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>mwiDurationSpinBox</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>mwiUserTextLabel</cstring>
- </property>
- <property name="text">
- <string>Mailbox &amp;user name:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>mwiUserLineEdit</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="1" column="1">
- <property name="name">
- <cstring>mwiServerLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>The hostname, domain name or IP address of your voice mailbox server.</string>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="3" column="1">
- <property name="name">
- <cstring>layout35</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>mwiDurationSpinBox</cstring>
- </property>
- <property name="minimumSize">
- <size>
- <width>90</width>
- <height>0</height>
- </size>
- </property>
- <property name="maxValue">
- <number>999999</number>
- </property>
- <property name="lineStep">
- <number>100</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>For sollicited MWI, an endpoint subscribes to the message status for a limited duration. Just before the duration expires, the endpoint should refresh the subscription.</string>
- </property>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>mwiSecondsTextLabel</cstring>
- </property>
- <property name="text">
- <string>seconds</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer36</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>190</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QLineEdit" row="0" column="1">
- <property name="name">
- <cstring>mwiUserLineEdit</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Your user name for accessing your voice mailbox.</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>mwiServerTextLabel</cstring>
- </property>
- <property name="text">
- <string>Mailbox &amp;server:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>mwiServerLineEdit</cstring>
- </property>
- </widget>
- <widget class="QCheckBox" row="2" column="1">
- <property name="name">
- <cstring>mwiViaProxyCheckBox</cstring>
- </property>
- <property name="text">
- <string>Via outbound &amp;proxy</string>
- </property>
- <property name="accel">
- <string>Alt+P</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Check this option if Twinkle should send SIP messages to the mailbox server via the outbound proxy.</string>
- </property>
- </widget>
- </grid>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer38_3</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
+ </item>
+ <item>
+ <property name="text">
+ <string>Sollicited</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer39">
+ <property name="sizeHint">
<size>
- <width>20</width>
- <height>211</height>
+ <width>221</width>
+ <height>20</height>
</size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pageIM</cstring>
- </property>
- <attribute name="id">
- <number>11</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>imTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
- <property name="text">
- <string>Instant message</string>
- </property>
- <property name="indent">
- <number>10</number>
- </property>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="mwiTypeTextLabel">
+ <property name="text">
+ <string>&amp;MWI type:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>mwiTypeComboBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout74</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="mwiSollicitedGroupBox">
+ <property name="title">
+ <string>Sollicited MWI</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <layout class="QGridLayout">
+ <item row="2" column="0">
+ <spacer name="spacer35">
+ <property name="sizeHint">
+ <size>
+ <width>120</width>
+ <height>20</height>
+ </size>
</property>
- <widget class="QLabel">
- <property name="name">
- <cstring>imMaxSessionsTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Maximum number of sessions:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>imMaxSessionsSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>imMaxSessionsSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>65535</number>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="mwiDurationTextLabel">
+ <property name="text">
+ <string>Subscription &amp;duration:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>mwiDurationSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="mwiUserTextLabel">
+ <property name="text">
+ <string>Mailbox &amp;user name:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>mwiUserLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="mwiServerLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>The hostname, domain name or IP address of your voice mailbox server.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QSpinBox" name="mwiDurationSpinBox">
+ <property name="minimumSize">
+ <size>
+ <width>90</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
</property>
<property name="whatsThis" stdset="0">
- <string>When you have this number of instant message sessions open, new incoming message sessions will be rejected.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer42</cstring>
+ <string>For sollicited MWI, an endpoint subscribes to the message status for a limited duration. Just before the duration expires, the endpoint should refresh the subscription.</string>
</property>
- <property name="orientation">
- <enum>Horizontal</enum>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="mwiSecondsTextLabel">
+ <property name="text">
+ <string>seconds</string>
</property>
- <property name="sizeType">
- <enum>Expanding</enum>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer36">
<property name="sizeHint">
- <size>
- <width>201</width>
- <height>20</height>
- </size>
+ <size>
+ <width>190</width>
+ <height>20</height>
+ </size>
</property>
- </spacer>
- </hbox>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="mwiUserLineEdit">
+ <property name="whatsThis" stdset="0">
+ <string>Your user name for accessing your voice mailbox.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="mwiServerTextLabel">
+ <property name="text">
+ <string>Mailbox &amp;server:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>mwiServerLineEdit</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="mwiViaProxyCheckBox">
+ <property name="text">
+ <string>Via outbound &amp;proxy</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+P</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Check this option if Twinkle should send SIP messages to the mailbox server via the outbound proxy.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer38_3">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>211</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pageIM">
+ <attribute name="id">
+ <number>11</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="imTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Instant message</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="imMaxSessionsTextLabel">
+ <property name="text">
+ <string>&amp;Maximum number of sessions:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>imMaxSessionsSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
</widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>isComposingCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Send composing indications when typing a message.</string>
- </property>
- <property name="accel">
- <string>Alt+S</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Twinkle sends a composing indication when you type a message. This way the recipient can see that you are typing.</string>
- </property>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="imMaxSessionsSpinBox">
+ <property name="maximum">
+ <number>65535</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>When you have this number of instant message sessions open, new incoming message sessions will be rejected.</string>
+ </property>
</widget>
- <spacer>
- <property name="name">
- <cstring>spacer40_3</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>350</height>
- </size>
- </property>
+ </item>
+ <item>
+ <spacer name="spacer42">
+ <property name="sizeHint">
+ <size>
+ <width>201</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
</spacer>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>pagePresence</cstring>
- </property>
- <attribute name="id">
- <number>12</number>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>presTextLabel</cstring>
- </property>
- <property name="paletteBackgroundColor">
- <color>
- <red>150</red>
- <green>150</green>
- <blue>150</blue>
- </color>
- </property>
- <property name="font">
- <font>
- <pointsize>21</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>Box</enum>
- </property>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="isComposingCheckBox">
+ <property name="text">
+ <string>&amp;Send composing indications when typing a message.</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+S</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Twinkle sends a composing indication when you type a message. This way the recipient can see that you are typing.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer40_3">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>350</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="pagePresence">
+ <attribute name="id">
+ <number>12</number>
+ </attribute>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QLabel" name="presTextLabel">
+ <property name="font">
+ <font>
+ <pointsize>21</pointsize>
+ </font>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string>Presence</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="presYourGroupBox">
+ <property name="title">
+ <string>Your presence</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <widget class="QCheckBox" name="presPublishCheckBox">
<property name="text">
- <string>Presence</string>
+ <string>&amp;Publish availability at startup</string>
</property>
- <property name="indent">
- <number>10</number>
+ <property name="shortcut">
+ <string>Alt+P</string>
</property>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>presYourGroupBox</cstring>
- </property>
- <property name="title">
- <string>Your presence</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
+ <property name="whatsThis" stdset="0">
+ <string>Publish your availability at startup.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="presPublishTimerTextLabel">
+ <property name="text">
+ <string>Publication &amp;refresh interval (sec):</string>
</property>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>presPublishCheckBox</cstring>
- </property>
- <property name="text">
- <string>&amp;Publish availability at startup</string>
- </property>
- <property name="accel">
- <string>Alt+P</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Publish your availability at startup.</string>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout75</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>presPublishTimerTextLabel</cstring>
- </property>
- <property name="text">
- <string>Publication &amp;refresh interval (sec):</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>presPublishTimeSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>presPublishTimeSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>999999</number>
- </property>
- <property name="lineStep">
- <number>100</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Refresh rate of presence publications.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer43</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>231</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </vbox>
- </widget>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>groupBox25</cstring>
- </property>
- <property name="title">
- <string>Buddy presence</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
+ <property name="buddy" stdset="0">
+ <cstring>presPublishTimeSpinBox</cstring>
</property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout76</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>presSubscribeTimerTextLabel</cstring>
- </property>
- <property name="text">
- <string>&amp;Subscription refresh interval (sec):</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>presSubscribeTimeSpinBox</cstring>
- </property>
- </widget>
- <widget class="QSpinBox">
- <property name="name">
- <cstring>presSubscribeTimeSpinBox</cstring>
- </property>
- <property name="maxValue">
- <number>999999</number>
- </property>
- <property name="lineStep">
- <number>100</number>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Refresh rate of presence subscriptions.</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer44</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>191</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer45</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>281</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="presPublishTimeSpinBox">
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Refresh rate of presence publications.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer43">
+ <property name="sizeHint">
+ <size>
+ <width>231</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Q3GroupBox" name="groupBox25">
+ <property name="title">
+ <string>Buddy presence</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="presSubscribeTimerTextLabel">
+ <property name="text">
+ <string>&amp;Subscription refresh interval (sec):</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>presSubscribeTimeSpinBox</cstring>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="presSubscribeTimeSpinBox">
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Refresh rate of presence subscriptions.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer44">
+ <property name="sizeHint">
+ <size>
+ <width>191</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="spacer45">
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>281</height>
+ </size>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</widget>
- </grid>
-</widget>
-<connections>
- <connection>
- <sender>categoryListBox</sender>
- <signal>highlighted(int)</signal>
- <receiver>UserProfileForm</receiver>
- <slot>showCategory(int)</slot>
- </connection>
- <connection>
- <sender>cancelPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>reject()</slot>
- </connection>
- <connection>
- <sender>okPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>validate()</slot>
- </connection>
- <connection>
- <sender>useProxyCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>proxyTextLabel</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>useProxyCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>proxyLineEdit</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>useProxyCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>allRequestsCheckBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>allowRedirectionCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>askUserRedirectCheckBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>allowRedirectionCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>maxRedirectTextLabel</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>allowRedirectionCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>maxRedirectSpinBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>useProxyCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>proxyNonResolvableCheckBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>natStaticRadioButton</sender>
- <signal>toggled(bool)</signal>
- <receiver>publicIPTextLabel</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>natStaticRadioButton</sender>
- <signal>toggled(bool)</signal>
- <receiver>publicIPLineEdit</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>natStunRadioButton</sender>
- <signal>toggled(bool)</signal>
- <receiver>stunServerTextLabel</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>natStunRadioButton</sender>
- <signal>toggled(bool)</signal>
- <receiver>stunServerLineEdit</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>allowReferCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>askUserReferCheckBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>allowReferCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>refereeHoldCheckBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>profileComboBox</sender>
- <signal>activated(const QString&amp;)</signal>
- <receiver>UserProfileForm</receiver>
- <slot>changeProfile(const QString&amp;)</slot>
- </connection>
- <connection>
- <sender>openRingtoneToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseRingtone()</slot>
- </connection>
- <connection>
- <sender>openRingbackToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseRingback()</slot>
- </connection>
- <connection>
- <sender>openIncomingCallScriptToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseIncomingCallScript()</slot>
- </connection>
- <connection>
- <sender>addCodecPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>addCodec()</slot>
- </connection>
- <connection>
- <sender>rmvCodecPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>removeCodec()</slot>
- </connection>
- <connection>
- <sender>upCodecPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>upCodec()</slot>
- </connection>
- <connection>
- <sender>downCodecPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>downCodec()</slot>
- </connection>
- <connection>
- <sender>availCodecListBox</sender>
- <signal>doubleClicked(QListBoxItem*)</signal>
- <receiver>UserProfileForm</receiver>
- <slot>addCodec()</slot>
- </connection>
- <connection>
- <sender>activeCodecListBox</sender>
- <signal>doubleClicked(QListBoxItem*)</signal>
- <receiver>UserProfileForm</receiver>
- <slot>removeCodec()</slot>
- </connection>
- <connection>
- <sender>openInCallAnsweredToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseInCallAnsweredScript()</slot>
- </connection>
- <connection>
- <sender>openInCallFailedToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseInCallFailedScript()</slot>
- </connection>
- <connection>
- <sender>openLocalReleaseToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseLocalReleaseScript()</slot>
- </connection>
- <connection>
- <sender>openOutCallAnsweredToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseOutCallAnsweredScript()</slot>
- </connection>
- <connection>
- <sender>openOutCallFailedToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseOutCallFailedScript()</slot>
- </connection>
- <connection>
- <sender>openOutCallToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseOutgoingCallScript()</slot>
- </connection>
- <connection>
- <sender>openRemoteReleaseToolButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>chooseRemoteReleaseScript()</slot>
- </connection>
- <connection>
- <sender>upConversionPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>upConversion()</slot>
- </connection>
- <connection>
- <sender>downConversionPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>downConversion()</slot>
- </connection>
- <connection>
- <sender>addConversionPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>addConversion()</slot>
- </connection>
- <connection>
- <sender>editConversionPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>editConversion()</slot>
- </connection>
- <connection>
- <sender>removePushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>removeConversion()</slot>
- </connection>
- <connection>
- <sender>testConversionPushButton</sender>
- <signal>clicked()</signal>
- <receiver>UserProfileForm</receiver>
- <slot>testConversion()</slot>
- </connection>
- <connection>
- <sender>zrtpEnabledCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>zrtpSettingsGroupBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>mwiTypeComboBox</sender>
- <signal>activated(int)</signal>
- <receiver>UserProfileForm</receiver>
- <slot>changeMWIType(int)</slot>
- </connection>
- <connection>
- <sender>regAddQvalueCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>regQvalueLineEdit</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>sipTransportComboBox</sender>
- <signal>activated(int)</signal>
- <receiver>UserProfileForm</receiver>
- <slot>changeSipTransportProtocol(int)</slot>
- </connection>
- <connection>
- <sender>spxDspAgcCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>spxDspAgcLevelTextLabel</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>spxDspAgcCheckBox</sender>
- <signal>toggled(bool)</signal>
- <receiver>spxDspAgcLevelSpinBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>natStunRadioButton</sender>
- <signal>toggled(bool)</signal>
- <receiver>natKeepaliveCheckBox</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
-</connections>
-<tabstops>
+ </item>
+ </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <tabstops>
<tabstop>displayLineEdit</tabstop>
<tabstop>usernameLineEdit</tabstop>
<tabstop>domainLineEdit</tabstop>
@@ -5671,88 +4850,289 @@ Sollicited message waiting indication as specified by RFC 3842.
<tabstop>cancelPushButton</tabstop>
<tabstop>profileComboBox</tabstop>
<tabstop>categoryListBox</tabstop>
-</tabstops>
-<includes>
- <include location="local" impldecl="in implementation">qlistbox.h</include>
- <include location="local" impldecl="in implementation">qlineedit.h</include>
- <include location="local" impldecl="in implementation">qlabel.h</include>
- <include location="local" impldecl="in implementation">qcombobox.h</include>
- <include location="local" impldecl="in implementation">qspinbox.h</include>
- <include location="local" impldecl="in implementation">qregexp.h</include>
- <include location="local" impldecl="in implementation">sdp/sdp.h</include>
- <include location="local" impldecl="in implementation">qvalidator.h</include>
- <include location="local" impldecl="in implementation">protocol.h</include>
- <include location="local" impldecl="in implementation">qmessagebox.h</include>
- <include location="local" impldecl="in implementation">gui.h</include>
- <include location="local" impldecl="in implementation">qfiledialog.h</include>
- <include location="local" impldecl="in implementation">qfileinfo.h</include>
- <include location="local" impldecl="in implementation">qstringlist.h</include>
- <include location="local" impldecl="in implementation">twinkle_config.h</include>
- <include location="local" impldecl="in implementation">qlistview.h</include>
- <include location="local" impldecl="in implementation">numberconversionform.h</include>
- <include location="local" impldecl="in implementation">util.h</include>
- <include location="local" impldecl="in declaration">user.h</include>
- <include location="local" impldecl="in declaration">qvaluelist.h</include>
- <include location="global" impldecl="in declaration">map</include>
- <include location="global" impldecl="in declaration">list</include>
- <include location="local" impldecl="in implementation">userprofileform.ui.h</include>
-</includes>
-<variables>
- <variable access="private">map&lt;t_user *, int&gt; map_last_cat;</variable>
- <variable access="private">t_user *current_profile;</variable>
- <variable access="private">int current_profile_idx;</variable>
- <variable access="private">list&lt;t_user *&gt; profile_list;</variable>
-</variables>
-<signals>
- <signal>stunServerChanged(t_user *)</signal>
- <signal>authCredentialsChanged(t_user *, const string &amp;)</signal>
- <signal>sipUserChanged(t_user *)</signal>
- <signal>success()</signal>
- <signal>mwiChangeUnsubscribe(t_user *)</signal>
- <signal>mwiChangeSubscribe(t_user *)</signal>
-</signals>
-<slots>
- <slot>showCategory( int index )</slot>
- <slot>populate()</slot>
- <slot>initProfileList( list&lt;t_user *&gt; profiles, QString show_profile_name )</slot>
- <slot>show( list&lt;t_user *&gt; profiles, QString show_profile )</slot>
- <slot>validate()</slot>
- <slot>changeProfile( const QString &amp; profileName )</slot>
- <slot>chooseFile( QLineEdit * qle, const QString &amp; filter, const QString &amp; caption )</slot>
- <slot>chooseRingtone()</slot>
- <slot>chooseRingback()</slot>
- <slot>chooseIncomingCallScript()</slot>
- <slot>chooseInCallAnsweredScript()</slot>
- <slot>chooseInCallFailedScript()</slot>
- <slot>chooseOutgoingCallScript()</slot>
- <slot>chooseOutCallAnsweredScript()</slot>
- <slot>chooseOutCallFailedScript()</slot>
- <slot>chooseLocalReleaseScript()</slot>
- <slot>chooseRemoteReleaseScript()</slot>
- <slot>addCodec()</slot>
- <slot>removeCodec()</slot>
- <slot>upCodec()</slot>
- <slot>downCodec()</slot>
- <slot>upConversion()</slot>
- <slot>downConversion()</slot>
- <slot>addConversion()</slot>
- <slot>editConversion()</slot>
- <slot>removeConversion()</slot>
- <slot>testConversion()</slot>
- <slot>changeMWIType( int idxMWIType )</slot>
- <slot>changeSipTransportProtocol( int idx )</slot>
-</slots>
-<functions>
- <function access="private" specifier="non virtual">init()</function>
- <function returnType="t_audio_codec">label2codec( const QString &amp; label )</function>
- <function returnType="QString">codec2label( t_audio_codec &amp; codec )</function>
- <function returnType="int">ext_support2indexComboItem( t_ext_support ext )</function>
- <function returnType="t_ext_support">indexComboItem2ext_support( int index )</function>
- <function returnType="int">exec( list&lt;t_user *&gt; profiles, QString show_profile )</function>
- <function returnType="bool">check_dynamic_payload( QSpinBox * spb, QValueList&lt;int&gt; &amp; checked_list )</function>
- <function returnType="list&lt;t_number_conversion&gt;">get_number_conversions()</function>
- <function returnType="bool">validateValues()</function>
-</functions>
-<pixmapinproject/>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
+ </tabstops>
+ <includes>
+ <include location="local">user.h</include>
+ <include location="local">q3valuelist.h</include>
+ <include location="global">map</include>
+ <include location="global">list</include>
+ </includes>
+ <connections>
+ <connection>
+ <sender>categoryListBox</sender>
+ <signal>highlighted(int)</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>showCategory(int)</slot>
+ </connection>
+ <connection>
+ <sender>cancelPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>reject()</slot>
+ </connection>
+ <connection>
+ <sender>okPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>validate()</slot>
+ </connection>
+ <connection>
+ <sender>useProxyCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>proxyTextLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>useProxyCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>proxyLineEdit</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>useProxyCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>allRequestsCheckBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>allowRedirectionCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>askUserRedirectCheckBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>allowRedirectionCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>maxRedirectTextLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>allowRedirectionCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>maxRedirectSpinBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>useProxyCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>proxyNonResolvableCheckBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>natStaticRadioButton</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>publicIPTextLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>natStaticRadioButton</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>publicIPLineEdit</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>natStunRadioButton</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>stunServerTextLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>natStunRadioButton</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>stunServerLineEdit</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>allowReferCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>askUserReferCheckBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>allowReferCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>refereeHoldCheckBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>profileComboBox</sender>
+ <signal>activated(QString)</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>changeProfile(QString)</slot>
+ </connection>
+ <connection>
+ <sender>openRingtoneToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseRingtone()</slot>
+ </connection>
+ <connection>
+ <sender>openRingbackToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseRingback()</slot>
+ </connection>
+ <connection>
+ <sender>openIncomingCallScriptToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseIncomingCallScript()</slot>
+ </connection>
+ <connection>
+ <sender>addCodecPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>addCodec()</slot>
+ </connection>
+ <connection>
+ <sender>rmvCodecPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>removeCodec()</slot>
+ </connection>
+ <connection>
+ <sender>upCodecPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>upCodec()</slot>
+ </connection>
+ <connection>
+ <sender>downCodecPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>downCodec()</slot>
+ </connection>
+ <connection>
+ <sender>availCodecListBox</sender>
+ <signal>doubleClicked(Q3ListBoxItem*)</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>addCodec()</slot>
+ </connection>
+ <connection>
+ <sender>activeCodecListBox</sender>
+ <signal>doubleClicked(Q3ListBoxItem*)</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>removeCodec()</slot>
+ </connection>
+ <connection>
+ <sender>openInCallAnsweredToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseInCallAnsweredScript()</slot>
+ </connection>
+ <connection>
+ <sender>openInCallFailedToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseInCallFailedScript()</slot>
+ </connection>
+ <connection>
+ <sender>openLocalReleaseToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseLocalReleaseScript()</slot>
+ </connection>
+ <connection>
+ <sender>openOutCallAnsweredToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseOutCallAnsweredScript()</slot>
+ </connection>
+ <connection>
+ <sender>openOutCallFailedToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseOutCallFailedScript()</slot>
+ </connection>
+ <connection>
+ <sender>openOutCallToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseOutgoingCallScript()</slot>
+ </connection>
+ <connection>
+ <sender>openRemoteReleaseToolButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>chooseRemoteReleaseScript()</slot>
+ </connection>
+ <connection>
+ <sender>upConversionPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>upConversion()</slot>
+ </connection>
+ <connection>
+ <sender>downConversionPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>downConversion()</slot>
+ </connection>
+ <connection>
+ <sender>addConversionPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>addConversion()</slot>
+ </connection>
+ <connection>
+ <sender>editConversionPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>editConversion()</slot>
+ </connection>
+ <connection>
+ <sender>removePushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>removeConversion()</slot>
+ </connection>
+ <connection>
+ <sender>testConversionPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>testConversion()</slot>
+ </connection>
+ <connection>
+ <sender>zrtpEnabledCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>zrtpSettingsGroupBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>mwiTypeComboBox</sender>
+ <signal>activated(int)</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>changeMWIType(int)</slot>
+ </connection>
+ <connection>
+ <sender>regAddQvalueCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>regQvalueLineEdit</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>sipTransportComboBox</sender>
+ <signal>activated(int)</signal>
+ <receiver>UserProfileForm</receiver>
+ <slot>changeSipTransportProtocol(int)</slot>
+ </connection>
+ <connection>
+ <sender>spxDspAgcCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>spxDspAgcLevelTextLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>spxDspAgcCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>spxDspAgcLevelSpinBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>natStunRadioButton</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>natKeepaliveCheckBox</receiver>
+ <slot>setDisabled(bool)</slot>
+ </connection>
+ </connections>
+</ui>