KnownIssues

Version 37 (Adrian Georgescu, 01/10/2014 08:59 pm)

1 1 Adrian Georgescu
h1. Known Issues
2 1 Adrian Georgescu
3 37 Adrian Georgescu
Blink Pro 3.5.0 has introduces a bug that happens during period automatic backup of contacts. To fix this, replace this file: 
4 37 Adrian Georgescu
5 37 Adrian Georgescu
<pre>
6 37 Adrian Georgescu
/Applications/Blink\ Pro.app/Contents/Resources/ContactListModel.py
7 37 Adrian Georgescu
</pre>
8 37 Adrian Georgescu
9 37 Adrian Georgescu
with
10 37 Adrian Georgescu
11 37 Adrian Georgescu
http://download.ag-projects.com/Blink/ContactListModel.py
12 37 Adrian Georgescu
13 29 Adrian Georgescu
14 27 Adrian Georgescu
h2. STUN is not supported
15 27 Adrian Georgescu
16 28 Adrian Georgescu
Blink does not interoperate with SIP service providers that require STUN for REGISTER. STUN is an obsolete broken standard that claimed  that it solved NAT traversal problem. More concrete, these providers require the use of public IP addresses in the Contact header by the end-points when they REGISTER or make outgoing SIP sessions. As most of the end-points are located behind a NAT-ted router and using a private IP address, the way to obtain a public IP address was by using a protocol named STUN, which was wrongly described in 2003 as a NAT traversal solution (this is IETF standard RFC3489). Years later in 2008, this standard has been rectified (in RFC5389) to explicitly say that it does not provide a reliable solution for the original purpose and it should not be used the way it was originally thought. Using STUN is unreliable because it depends on the way the NAT routers are implemented, which is not standardized nor can be probed and guessing the IP address and port used for outbound connections was not working deterministically. Also, it is unsecure behaviour for a server to trust an IP address expressed in a header by a client. The new version of the STUN protocol defined in RFC 5389 explains in which context STUN may be used and advises against the use of STUN as a standalone NAT traversal utility, quote from the standard:
17 27 Adrian Georgescu
18 28 Adrian Georgescu
*Experience since the publication of RFC 3489 has found that classic STUN simply does not work sufficiently well to be a deployable solution.*
19 27 Adrian Georgescu
20 28 Adrian Georgescu
Unfortunately, some SIP service providers have not updated their implementations to fix this issue, which implies using a simple technique that is using for replies the actual IP and port where the packets originate from rather than using the ones presented in the Contact header. Blink was developed in 2009. Implementing a broken standard from 2003 which was deprecated in 2008 was not considered and is not on the roadmap.
21 31 Adrian Georgescu
22 31 Adrian Georgescu
h2. Session Requests with no Media
23 31 Adrian Georgescu
24 31 Adrian Georgescu
Blink rejects incoming session request with no media (no SDP body present in INVITE message). Some phones simply assume somehow that audio is the only possible media type. Blink does not interoperate with these devices.
25 32 Adrian Georgescu
26 36 Adrian Georgescu
h2. Missing columns in history tables
27 32 Adrian Georgescu
28 32 Adrian Georgescu
<pre>
29 32 Adrian Georgescu
Error: Error getting entries from sessions history table: no such column: sessions.am_filename
30 32 Adrian Georgescu
</pre>
31 32 Adrian Georgescu
32 32 Adrian Georgescu
Add the missing column:
33 32 Adrian Georgescu
34 32 Adrian Georgescu
Connect to history database by typing this command in the Terminal application:
35 32 Adrian Georgescu
<pre>
36 32 Adrian Georgescu
sqlite3 Library/Containers/com.agprojects.Blink/Data/Library/Application\ Support/Blink\ Pro/history/history.sqlite
37 33 Adrian Georgescu
</pre>
38 32 Adrian Georgescu
39 32 Adrian Georgescu
SQlite prompt appears:
40 32 Adrian Georgescu
41 32 Adrian Georgescu
<pre>
42 32 Adrian Georgescu
Enter ".help" for instructions
43 32 Adrian Georgescu
Enter SQL statements terminated with a ";"
44 32 Adrian Georgescu
sqlite> 
45 32 Adrian Georgescu
</pre>
46 32 Adrian Georgescu
47 35 Adrian Georgescu
Type the following command at the *sqlite>* prompt followed by Enter:
48 32 Adrian Georgescu
49 32 Adrian Georgescu
<pre>
50 32 Adrian Georgescu
ALTER TABLE sessions add column 'am_filename' LONGTEXT DEFAULT '';
51 32 Adrian Georgescu
</pre>