-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathuseragents.xml
188 lines (152 loc) · 8.72 KB
/
useragents.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<?xml version="1.0" encoding="UTF-8"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="useragents">
<title>Client devices and softphones</title>
<sect1 xml:id="useragents-softphones">
<title>Softphones</title>
<para>There are a variety of softphones available for Linux, Windows
and Mac OS.</para>
<para>Many users will get high quality audio by connecting a
headset to the 3.5mm audio socket on their computer. On many modern laptops,
the 3.5mm connector is a <link xlink:href="https://en.wikipedia.org/wiki/Phone_connector_(audio)#TRRS_standards">
TRRS</link> socket that integrates the microphone and stereo headphones into a
single connection, as used on many popular mobile phones. However, using
headsets with a USB connector yields better results in some cases.</para>
<para>The <link xlink:href="http://www.jitsi.org">Jitsi</link> softphone is
developed in Java and runs on Linux, Windows and Mac OS. It supports
both SIP and XMPP.</para>
<para>There is a
<link xlink:href="http://www.resiprocate.org/ReproMutualTLSAuthenticationJitsi">
detailed guide to setup up Jitsi with client certificates</link>
in the <emphasis>reSIProcate</emphasis> wiki.</para>
<para>The <emphasis>GNOME</emphasis> desktop on many common Linux
distributions includes the <emphasis>Empathy</emphasis> softphone,
supporting IM, voice and video over SIP or XMPP.</para>
<para>Various other Linux softphones are available, including
<emphasis>LinPhone</emphasis> and <emphasis>Ring</emphasis>
(formerly <emphasis>SFLphone</emphasis>).</para>
<para>There are a vast array of Linux messaging applications for XMPP,
not necessarily having support for voice or video. Popular
choices include <emphasis>Pidgin</emphasis> and
<emphasis>Psi</emphasis>.</para>
<para>One of the most popular proprietary softphones is
<emphasis>Bria</emphasis> from <emphasis>Counterpath</emphasis>.</para>
</sect1>
<sect1 xml:id="useragents-desk-phones">
<title>IP desk phones</title>
<para>A key point to note about desktop phones is that they often
have a limited range of codecs and they often support proprietary
codecs such as G.729 rather than Internet-optimized codecs such as
Opus and iLBC. Given that a significant number of calls will start
in a web browser using WebRTC and the Opus codec, codec
compatibility is an important consideration.</para>
<para>One of the most recognisable IP phones is the Cisco 7940 and
its successors. The Cisco phones are well manufactured with good
audio quality (including speakerphone support). However, there
are multiple firmware options available and this can be expensive
to purchase and complicated to administer. If purchasing used
Cisco phones on eBay, it is vital to ensure that you are obtaining
proper firmware with the phones or that you have some other
legal means of obtaining all firmware. The phones load the
firmware and configuration using DHCP and TFTP.</para>
<para>The <link xlink:href="http://www.polycom.com">Polycom Soundpoint IP</link>
phones are very similar in quality to the Cisco phones but without
the licensing complications. They typically support SIP out of
the box. The Polycom phones support configuration over HTTPS.
From the era of Soundpoint IP 320 and later models, there is a
client certificate in each phone. This certificate can be used
to authenticate when downloading the configuration, ensuring that
SIP passwords can't be compromised. The certificate can also be
used to authenticate SIP over TLS connections, this is supported
by the <emphasis>repro</emphasis> SIP proxy using the settings
<code>EnableCertificateAuthenticator</code> and
<code>CommonNameMappings</code>.</para>
<para>Another popular choice is the
<link xlink:href="http://www.snom.com">SNOM</link> device.</para>
<para>There are various factors to think about when choosing a phone,
such as VLAN support, built-in Ethernet hub, power-over-ethernet
support, codecs, configuration support, support for NAT traversal
(using ICE and TURN) and TLS support.</para>
</sect1>
<sect1 xml:id="useragents-smartphone-apps">
<title>Smartphone apps</title>
<para>On the Android platform, there are several popular free,
open source SIP applications including
<link xlink:href="http://www.lumicall.org">Lumicall</link> and
<emphasis>CSipSimple</emphasis> and the popular XMPP client
<emphasis>Conversations</emphasis>.</para>
<para>All the leading free/open source Android apps can be downloaded
from the <link xlink:href="https://f-droid.org">F-Droid</link>
app store or the Google Play app store.</para>
<para>Users of the Apple iPhone have reported success with the
iOS version of <link xlink:href="https://www.linphone.org/">Linphone</link>
(<link xlink:href="https://itunes.apple.com/us/app/linphone/id360065638?mt=8">
iTunes download link</link>).
A particular challenge for iPhone users is that apps can't keep
background connections to arbitrary SIP servers open for receiving
incoming calls. This is a restriction that Apple has imposed for all
apps. iPhone users may also want to consider a proprietary app such as
<link xlink:href="http://www.counterpath.com/bria-iphone-edition.html">Bria
for iPhone</link>.</para>
</sect1>
<sect1 xml:id="useragents-click-to-dial">
<title>Click-to-dial</title>
<para>Convenience is a significant factor in the success of
any technology. Click-to-dial brings significant convenience
to users. Many users will dial a contact from their mobile phone,
despite the higher cost of the call, simply because of the
convenience of accessing the address book through a touch screen.</para>
<para>Click-to-dial from a computer provides similar convenience.</para>
<para>This section considers various ways to enable click-to-dial.</para>
<sect2>
<title>The Firefox Telify plugin</title>
<para>People will frequently encounter phone numbers in their
web browser. They may be browsing an arbitrary web site or
they may be accessing a business application that doesn't
have any native click to dial support.</para>
<para>Web application developers can markup phone numbers as
hyperlinks using the <code>tel:</code> URI prefix. This makes
the phone number clickable just like a link to another web site
or an email address. Unfortunately, few web developers have
taken advantage of this feature.</para>
<para>The Firefox plugin
<link xlink:href="https://addons.mozilla.org/en-us/firefox/addon/telify/">
<emphasis>Telify</emphasis></link> solves this problem. It scans
the page you are looking at and dynamically converts phone numbers
into links that can be clicked.</para>
</sect2>
<sect2>
<title>Mozilla Thunderbird and GNOME Evolution address books</title>
<para>Many people use a productivity suite like <emphasis>Mozilla
Thunderbird</emphasis> or <emphasis>GNOME Evolution</emphasis>
for email and address book purposes.</para>
<para>For Thunderbird users, the
<link xlink:href="https://addons.mozilla.org/en-us/thunderbird/addon/tbdialout/"><emphasis>TBDialOut</emphasis></link>
plugin makes phone numbers in the address book clickable as
<code>tel</code> or <code>sip</code> URIs. Dialing is then
delegated to the URI handler on the user's system.</para>
<para>For Evolution users, using v3.13.2, there is support for
clicking phone numbers and SIP addresses that have been added
to the address book. Evolution will only make them clickable
if it detects that a URI handler is installed.</para>
</sect2>
<sect2>
<title>Using <code>sipdialer</code></title>
<para>A simple way to handle the <code>tel</code> and
<code>sip</code> URIs is to install the <code>sipdialer</code>
from <emphasis>reSIProcate</emphasis>. The <code>sipdialer</code>
utility can send a SIP <code>REFER</code> to various SIP phones
that support this mechanism, including Cisco and Polycom. It is
available as a package on Debian, Ubuntu and Fedora.</para>
</sect2>
<sect2>
<title>Using Asterisk or FreeSWITCH</title>
<para>There are various scripts available that can send an
instruction over HTTP to an Asterisk or FreeSWITCH server to
initiate a phone call. One of these scripts can be installed as
a URI handler for <code>tel</code> and possibly <code>sip</code>
URIs on each user's computer.</para>
</sect2>
</sect1>
</chapter>