Help For Blink Pro

Version 57 (Adrian Georgescu, 07/25/2012 09:19 am) → Version 58/162 (Adrian Georgescu, 07/25/2012 09:22 am)

h1. Help for Blink Pro and Blink Lite on MacOSX

Blink allows you to communicate in real time over the Internet. To use Blink you need a SIP account from a SIP service provider. Same like using an email program, you must configure Blink with the account you have obtained from your service provider. If things do not work they way you expect, the reasons can be caused mainly by two things, one is Blink software itself and the another one is the communication with the SIP Service Provider.

While Blink may not be bug free, most of the problems you encounter when using Blink are related to the network communication with the SIP Service Provider. It is not the end-user who should understand the mechanics about how things work, so the main responsibility of making sure that things work correct falls into the hands of the SIP service provider who must properly setup its SIP infrastructure and support its user base.



h2. Differences between Pro and Lite versions

Compared to Blink Lite, Blink Pro has the following extra features:

* Unlimited number of accounts
* Last calls
unlimited accounts, call history, history menu
* History browser
* Phone
browser, phone number translations,
* Redial capability
* Telephone dialpad
* Call transfer
* Call recording
*
redial capability, telephone dialpad, call transfer, call recording, LDAP server support
* Incoming
support, incoming call web page integration
* More
and more granular settings

settings.

h2. Refund Policy

Mac App Store does not provide refunds. If you purchased an application that do not like you are stuck with it. If you are not happy with this policy is Apple you must complain to, not us.

h2. Service Provider Problems

If you encounter connectivity problems like inability to receive incoming calls or failure to make outbound calls, you can find the reason by going to _Menu Window -> Logs -> SIP_. You should contact your SIP Service Provider and provide it with the information obtained from Blink logs.

h2. Software Problems

To report a problem, send an email to "support@ag-projects.com":mailto:support@ag-projects.com. Please paste the relevant logs as explained below.

You can also check the history of the public "Blink Support Forum":http://support.icanblink.com.

h3. Exceptions

Non-critical programming errors (exceptions) are logged in the system log file _/var/log/system.log_. You can find them by opening _Applications -> Utilities -> Console_, selecting _LOG FILES -> system.log_ and typing Blink in the search bar. Please provide us with this information when you report the problem you encountered.

h3. Critical Errors

If you experience a software crash, please send the complete crash report available in the crash reporter window (just copy and paste from it). Crash reports are saved in _~/Library/Logs/DiagnosticReports/_.

h3. Configuration File

Blink accounts and settings are stored in a flat-text configuration file. The location of the configuration file is:

_~/Library/Application Support/Blink Pro/config_

Do not edit this file manually. If you did and Blink does not start you must delete the file and start all over again.

Starting with Blink Pro 1.9.0 and Blink Lite 1.7.0 the configuration folder is locate at:

_~/Library/Containers/com.agprojects.Blink/Data/Library/Application Support/Blink Pro/_

Please report your OS name and version and Blink version. You can find Blink version in menu _Blink -> About_.

Passwords are not stored in the configuration file but in the system key chain.

h2. SIP Accounts

!http://icanblink.com/images/BlinkScreenshot-Enrollment.jpg!

To use Blink, you need a SIP Account. At first start, Blink shows the _Add Account_ "window":http://icanblink.com/screenshots.phtml#enrollment that helps you configure the initial SIP Account.

h3. Blink SIP Account

If you do not have a SIP Account, Blink can create one for you using the free service provided by SIP2SIP. All Blink features are supported by this service.

For more information about the features of the SIP service go to "http://sip2sip.info":http://wiki.sip2sip.info

h3. Other SIP Accounts

If you already have a SIP account from a SIP service provider, select this option then enter the SIP address in the form of _user@domain_ and the _password_. If the SIP service provider has set his infrastructure correctly, all server address settings will be automatically discovered from DNS by Blink. If the SIP service provider was not capable of doing this properly, you will need to set some of the settings like the server address, port and transport protocol manually, see the advanced settings section below.

You may configure Blink to use multiple SIP Accounts. To add a new SIP Account, go to menu _Preferences->Accounts_ and click the + button. The _Add Account_ window shows up and you can repeat the steps described above.

After you have configured a SIP Account, you can see the status of the registration in the account list of _Main Window_ window. Solid color means that the account has successfully registered, gray color means that the registration has failed or is in progress. You can also see the status of the registration in the account list of _Preferences_ window. Green color means that the account has successfully registered, Red color the registration has failed and Yellow means that he registration process is in progress.

A successful registration means that you are able to receive incoming calls with Blink.

h3. Advanced Account Settings

h4. Outbound Proxy

If the SIP provider does not have proper DNS records set for his domain to point to its SIP server address and port numbers as defined by RFC3263, Blink will not be able to auto-discover its location. In such case you must set the Outbound Proxy setting in _Preferences -> SIP Account -> Advanced -> SIP Signaling_. Also you can use this setting to force a specific transport or port different than the ones discovered from DNS. The outbound proxy format is _host.example.com:5060;transport=udp_.

h2. Main Interface

!http://icanblink.com/images/BlinkScreenshot-Contacts.jpg!

Blink presents a _Contacts driven_ "interface":http://icanblink.com/screenshots.phtml#main_interface as the main window. The design allows to locate a Contact then to start an action for it, for example to start an _Audio Call_. You can toggle to and from a dial-pad interface in the _Contacts_ menu.

The main interface can be collapsed into a "compact mode":http://icanblink.com/screenshots.phtml#collapsed_gui that hides the Contact List or dialpad. Click on the *+* Green button of the window to collapse and expand the main interface.

Hover the mouse over the GUI elements to see a short description of their function.

h3. SIP Account

You can select the SIP Account used for outbound sessions in the _Accounts drop down box_ presented on the top of the main interface.

h4. Bonjour Account

_Bonjour Account_ is a special type of account that is designed to announce itself and discover other neighbours on the local area network. This account does not require a server or SIP service in order to operate.

h3. Search Bar

The Search bar is used for finding an existing contact or for entering a SIP address or telephone number.

To search for a contact in Blink's _Contacts List_, system _Address Book_ and optionally configured LDAP directory of the active account, fill in the name in the _Search Bar_. You may select a Contact that matched the typed text or use the typed text as the Contact for the next action.

Use the buttons presented at the bottom of the main window to start a session to the current selected Contact or press on _Add Contact_ to add the typed address to the _Contacts List_.

Pressing enter or return after entering text in the search bar will start an audio call to that address.

h3. Contacts List

Contacts can be organized in Groups. The Groups support ordering and can be collapsed or expanded when clicking on their left-side triangle. Groups can be dragged in different order. Contacts can be dragged from one group to another.

Right click on a Contact to see all possible actions for each of them.

h4. Address Book

The group named _Address Book_ cannot be deleted, it is dynamically populated with entries from the system _Address Book_. To reload changes made in the _Address Book_ collapse and expand the group again.

For Address Book entries, to have a SIP Address recognized by Blink you must have entries in either Email or URL sections that start with the _sip:_ prefix.

One can initiate an audio call using Blink Pro directly from the AddressBook application by clicking on the Phone, Email or URL fields of an AddressBook contact. For this you must install the AddressBook plugins available at:

"http://download.ag-projects .com/BlinkABPlugins/":http://download.ag-projects.com/BlinkABPlugins/

The plugins work with Blink Pro version 1.8.2 or newer.

h4. Bonjour Neighbours

_Bonjour Neighbours_ appear in the _Contacts List_ as a separate Group. When selecting _Bonjour_ as the default account, _Bonjour Neighbours_ group is expanded and moved on top of the Contacts list. When changing back to a regular SIP Account, the groups in the Contacts list reshuffle to their previous positions.

Chat sessions are automatically accepted from Bonjour Neighbours.

Audio sessions can be automatically accepted based on the correspondent setting from Account menu.

h4. Edit Contact

You can edit a Contact by right clicking on it and select Edit menu option. _Edit Contact_ "window":http://icanblink.com/screenshots.phtml#add_contact appears. To set the _Icon for the Contact_, click on the Icon area, a file selection dialog appears.

h4. Add Contact

You can add a Contact to the _Contacts List_ by clicking on the + button presented on the bottom left of the main interface. _Add Contact_ "window":http://icanblink.com/screenshots.phtml#add_contact appears.

h4. Server Storage

If a contact is associated with an account and the SIP service that provides the account has XCAP storage capabilities, the contact is then also stored on the XCAP server. Multiple Blink instances can be synchronized in real time by using this feature.

h4. Special Groups

In Preferences Contact section, special groups like Favorites or Missed Calls can be enabled.

h3. Start Session

Use the buttons presented at the bottom of the main window to start a session to the current selected Contact.

Clicking on _Return key_ or double-clicking a Contact will start the default session type depending on the preferred media configured for each Contact. The default action is to start an _Audio Call_.

h2. Alert Panel

!http://icanblink.com/images/BlinkScreenshot-AlertPanel-DS.jpg!

Incoming session requests bring up the <em>"Alert Panel":http://icanblink.com/screenshots.phtml#alert_panel</em>. Click on the _Accept Button_ to accept a session request. There are two options for rejecting an incoming session request:

* Click on the _Reject button_. The session is rejected with SIP response code 603 and all other SIP devices registered for the same account stop ringing. Forwarding to voicemail or other destinations, when available in the SIP server is also cancelled. You must use this option to terminate all call processing associated with the request.
* Click on the _Busy button_. Blink sends a 486 code back to the caller and stops ringing, other SIP devices keep ringing and forwarding to other destinations remains active as set in the SIP server. You must use this option when you want to pick up the call at a different location or allow the Server to perform other pre-configured routing decisions.

When the _Answering Machine_ is enabled, a countdown appears in the Alert Panel. While the countdown counts you can still disable the _Answering Machine_ from the Account menu.

The currently selected input and output audio devices are showed for incoming Audio Call requests.

h2. Audio Calls

!http://icanblink.com/images/BlinkScreenshot-AudioSessions.jpg!
_Audio Calls_ are displayed in the lateral "drawer":http://icanblink.com/screenshots.phtml#audio_sessions attached to the main interface.

To start an _Audio Call_, select an existing contact or enter a SIP address or telephone number in the search bar. Once text is entered in the search bar just press enter to start an audio call to that address. Alternatively, you can turn on the dialpad in the Contacts menu and press its keys.

When a Contact is selected, you may click on the _Green Handset_ located at the bottom of the main interface or right click on thr Contact and select _Start Audio Session_ from the contextual menu. For each new call an entry is added to the _Audio Calls_ drawer.

To switch between multiple calls just click on another call in the audio sessions drawer. When switching to a particular session, the audio stream is connected to the input and output device and all other Audio Calls are put on hold.

To add _Chat_ to an existing _Audio Call_, right click on the session displayed in the Audio Drawer and select an _Add Chat_

To mute your microphone click on the bottom right microphone icon. To un-mute click it again.

h3. Codecs

Audio codecs can be set in _Preferences -&gt; Advanced -&gt; RTP Media_ section and can be overwritten per account in _Advanced -&gt; RTP Media section_. By default, the audio codecs are prioritized to allow for highest quality and second, compatibility with SIP services.

If you have changed the defaults or want to set the codecs manually, for high quality conversations is recommended to use G.722 codec as first choice and leave PCMA and PCMU enabled for compatibility reasons. Some details about the codecs used by Blink:

* PCMA (G711A) and PCMU (G711U) are the most interoperable codecs narrowband that work with any device
* G.722 is the most compatible wideband codec supported by both software and hardware phones
* Speex is another high quality codec that is built in softphones
* GSM and iLBC use less bandwidth than the other codecs but they have less support in other devices

h3. DTMF

Dial tones are used to interact with PBX and IVR systems or legacy PSTN gateways. To send DTMF tones, focus the Audio Call by clicking on it. The current call is already focused if you just started it. What you then type on the keyboard is automatically translated into DTMF tones. Alpha-numeric keys are translated into numeric DTMF keys as they are on a numeric telephone keypad. Also you may use the dialpad for this purpose.

If a telephone number with a # sign is dialed, what comes after the # sign will be automatically entered as DTMF codes once the call is connected. Supported DTMF codes are 0-9&#42;#. You can use the comma sign ',' to insert a one second pause (version &gt;=1.5.1). You can use other delimiter by setting it in Phone Numbers advanced section of the SIP Account.

h3. Hangup

To hangup click on the _Red handset_ displayed for each Audio Session in the right hand side of the drawer or press the Escape key.

h3. Hold/Unhold

The shortcut key for hold and unhold of the selected session is Space.

h3. Record

To record click on the _Black circle_. While recording, the circle will toggle between red and black. Recorded sessions can be found in menu _Audio -&gt; Recordings_.

h3. Transfer

To blindly transfer a call, just drag it to a contact in the Contacts list. You can also enter a number or address in the search bar, to transfer a call to an arbitrary address.

To perform an assisted call transfer, first establish a call to each party. Then, click on the T button for completing the transfer, a contextual menu is presented.

h3. Call History

History of previous sessions is available in the _History_ menu. If you have registered a SIP Account with Blink, you can review the missed calls while Blink was off-line in _Account-&gt; Settings on SIP Server -&gt; History_ menu.

h3. Redial

To redial the last session type Command-R, to redial a previous session select it in the History menu.

h3. iTunes Integration

iTunes automatically pauses playing before any _Audio Call_ pauses and resumes playing after all _Audio Calls_ have finished. This functionality does not work when Blink runs in Sandbox mode (starting with Pro version 1.9.0 and Lite version 1.7.0) due to Apple imposed restrictions.

h3. Audio Information

!http://icanblink.com/images/BlinkScreenshot-ICE.jpg!

Audio Calls have status indication about the progress of establishment of the RTP stream and ICE negotiation, the negotiated codec and the presence of encryption for signaling and media.

The RTP end-points and negotiated ICE candidates (when ICE negotiation succeeded) are displayed when hovering the mouse over the Audio codec information area.

h3. Phone Numbers

To dial a phone number, just enter the number in the _Search Box_ followed by Enter or Return key.

When dialing numbers by selecting entries from the Address Book it is recommended that you store your numbers in international E.164 format (that is + sign followed by the country code then the subscriber number).

You can set in the account _Advanced -&gt; Phone Numbers_ preferences section how to replace the + sign with another prefix recognized by your SIP service provider or PBX. For example if you set _Replace Starting +_ with 001, when you dial +44XXX the number will be dialed as 00144XXX.

Optionally, phone numbers can be also prefixed before dialing out, for example if a 9 is required by your PBX by setting the _External Line Prefix_ option.

If you have created a SIP Account with Blink, you can call to PSTN numbers if you must have a positive credit. You can use a Credit Card to add _Credit_ to your SIP Account in menu _Tools -&gt; Call To Phone Numbers..._. You may request the assignment of a PSTN Caller Id by opeing a ticket in the server support interface. Recognized number formats are + or _00_ followed by the _Country Code_ and then _Subscriber Number_.

If you use another SIP Account than the one provided by Blink, access to the PSTN is subject to the support provided by your SIP service provider. The number format depends as well on the conventions imposed by the SIP service provider in question.

h3. Voicemail

Voicemail is a feature provided for SIP accounts created by Blink. It is provided by the network while Blink is offline, when the call forwarding to Voicemail is activated. To change the settings of your SIP2SIP voicemail box dial _1233_. You can record your unavailable message and listen to your messages stored on the server. The voicemail delivered method (by email attachement or by dialing into the server) is set in menu _Tools -&gt; Settings on SIP server_ in the Voicemail section.

h3. Answering Machine

When the _Answering Machine_ is enabled, Audio Call requests will be automatically answered with either the standard or the custom recorded message after the delay configured set in _Preferences -&gt; Answering Machine_ settings.

You can enable the _Answering Machine_ using the menu item _Tools -&gt; Enable Answering Machine_. The incoming Audio Calls are then recorded and can be listened to later in _Tools -&gt; Recordings_ menu.

While the _Answering Machine_ is handling an Audio Call, you can hear what the remote party is speaking while your microphone is muted. If you wish you can take over by clicking on the _Green Handset_ icon in the Audio drawer. The recording stops and the session is connected to the microphone.

h3. Audio Conference

!http://icanblink.com/images/BlinkScreenshot-AudioConference.jpg!

Drag and drop _Audio Calls_ on top of each other to create a <em>"Conference":http://icanblink.com/screenshots.phtml#audio_conference</em> or use the button presented at the botton at the _Audio Drawer_ to start a _Conference_ with all active _Audio Calls_.

Add new participants to a Conference by dragging Contacts from the _Contacts list_ onto an _Audio Call_.

Each participant can be muted individually by pressing on the microphone symbol that appears on each conferenced session.

To end an _Audio Conference_ drag the session out of the conference area or press the _Conference_ button again.

There can be only one active _Audio Conference_ at any given time.

h2. Chat Sessions

!http://icanblink.com/images/BlinkScreenshot-ServerConference.jpg!

_Chat Sessions_ are displayed into the "Chat window":http://icanblink.com/screenshots.phtml#chat_sessions. For each recipient there is a new Tab created at the bottom of the window. The Tabs are matched based on the SIP Address of the recipient and the _Chat Aliases_ configured for the Contacts.

The lateral drawer display the active participants present in the chat session or multi-party conference.

_Chat Sessions_ are encrypted using TLS and handled like the _Audio Sessions_, a _Chat Session_ is established only to the device where the user accepts the session. _Chat sessions_ can carry arbitrarily large amounts of text information.

You can start a _Chat Session_ by right-clicking on a _Contact_ and chose _Start Chat Session_.

Messages typed before the session is accepted by the remote party are queued and delivered once the session has been established. If the session fails to establish, the undelivered messages will be resent at the next successful attempt.

Message marked with a red color background have failed to be delivered.

To an established _Chat Session_ you can add _Audio_ or start a _Screen Sharing_ session by clicking on the buttons presented on the toolbar.

To review previous chat conversations go to menu _History -&gt; Chat Conversations_.

To insert an empty line use Shift-Enter combination.

The rendering of Emoticons can be disabled in each chat window, this can be useful to transfer programming code snippets without interpreting the special characters as emoticons.

h2. Short Messages

_Short Messages_ is the way to interact with legacy SIP IM clients that do not support session based _Chat Sessions_ using MSRP protocol.

_Short Messages_ end-up on all SIP devices registered for the remote SIP Account, including hardware phones that accept such messages but do not display them, the recipient has no control where to receive them. _Short Messages_ have no end-to-end delivery report and cannot be encrypted the way Chat Sessions are.

A _Short Message_ cannot exceed 1300 characters on IP networks and 160 on PSTN mobile networks.

You can send a _Short Message_ by right-clicking on a _Contact_ and chose _Send SMS_.

Previous exchanged messages can be reviewed in the menu _Window -&gt; Chat History_.

h2. File Transfers

!http://icanblink.com/images/BlinkScreenshot-FileTransfer.jpg!

To send a file you can use drag and drop from Finder or other application like iPhoto onto a Contact, to a Chat Window or by right clicking on a Contact and then selecting _Send File..._ option.

_File Transfers_ are displayed in a "separate window":http://icanblink.com/screenshots.phtml#file_transfers. Each file has a progress bar attached with estimated transfer speed and remaining time.

h2. Screen Sharing

Screen Sharing is implemented by using standard VNC protocol over an MSRP connection. The minimum bandwidth required for a reasonable experience us 1 Mbit/s. Make sure that all debugging is disabled during Screen Sharing as it can overload the CPU.

The party sharing the Screen must have enabled _Screen Sharing_ in _System Preferences_ and set the option _Anyone may request permission to control screen_ in Computer Settings section of the _Share Screen_ panel.

!http://icanblink.com/images/BlinkScreenshot-ScreenSharingServerSetup.jpg!

h3. Screen Sharing Party

First Blink alerts the user about an incoming request for Screen Sharing. If accepted, MacOSX VNC server will asks to confirm the Screen Sharing request. The request originates from the localhost (127.0.0.1) as the connection runs through Blink.

!http://icanblink.com/images/BlinkScreenshot-ScreenSharingServerConfirmation.jpg!

h3. Screen Viewer Party

The party asking for Screen Sharing must select the option 'Connect by Asking for Permission' when prompted by the VNC viewer.

!http://icanblink.com/images/BlinkScreenshot-ScreenSharingClientRequest.jpg!

h2. NAT Traversal

For NAT traversal you must rely on your SIP service provider. In general, every SIP service provides relaying for both signaling and media, which takes care of the NAT issue. This means that no special settings are necessary in the client.

h3. Audio

For _Audio Calls_ you can enable the use of ICE negotiation in _Advanced -&gt; NAT Traversal -&gt; Use ICE_. ICE requires the presence of STUN servers, they must be provided by the SIP service provider. The ICE negotiation details are displayed in "RTP Logs window":http://icanblink.com/screenshots.phtml#logs_ice. While the ICE negotiation progresses, its status is also displayed in the Audio Call information, for example the gathering of ICE the candidates and the probing of the remote candidates.

Once the audio stream is established, the audio information area is updated with the negotiated codec type and the sample rate. The active RTP end-points and the ICE candidates types are displayed while "hovering the mouse":http://icanblink.com/screenshots.phtml#rtp_endpoints over the audio status information area.

h3. IM and File Transfers

To traverse the NAT for MSRP related sessions (Instant Messaging, File Transfer) a "MSRP relay":http://msrprelay.org configured for the called party domain is needed. The SIP service provider that provides the SIP Account must support this feature (e.g. http://sip2sip.info).

h3. Screen Sharing

To traverse the NAT for Screen Sharing sessions a "MSRP relay":http://msrprelay.org configured for the called party domain is needed. The SIP service provider that provides the SIP Account must support this feature (e.g. http://sip2sip.info).

h2. Growl Notifications

Growl notifications are raised for missed sessions and the Dock Icon badge is updated with the number of missed sessions.

When sessions are accepted elsewhere and the SIP server supports the Reason header, the sessions will be logged in the incoming section rather than the missed section.

h2. Logs

"Logs Window":http://icanblink.com/screenshots.phtml#logs helps troubleshoot network traffic for various protocols used by Blink. For example, one can follow in the self scrolling interface the time sequence of all DNS lookups and SIP messages exchanged with the other end-points.

To see what Blink is doing under the hood go to the menu _Window -&gt; Logs_. It is advisable not to leave MSRP Trace and Notifications Logs turned on unless you really need them for debugging purposes, they are very demanding in terms of CPU load during File Transfer and Screen Sharing sessions.

h2. Server Settings

!http://icanblink.com/images/BlinkScreenshot-DND.jpg!

Blink is integrated with the SIP2SIP server functionality. One can change settings directly on the SIP server like Call Forwarding, Do Not Disturb, list of last missed sessions and other settings.

The settings are displayed in "Server Settings window":http://icanblink.com/screenshots.phtml#server_settings. The window is actually a web interface that loads the URL configured in the _Advanced -&gt; Server -&gt; Settings URL_ for each SIP Account. The remote web server can support digest authentication, Blink sends the SIP Account credentials when prompted by the server.

h2. Audio Devices

Blink auto-detects audio devices there are plugged in and out on the fly and prompts the user to switch to a new added device. You can switch automatically by setting this option in Preferences -&gt; Audio section.

To selected a particular audio device use the menu _Audio_.

h2. Preferences

!http://icanblink.com/images/BlinkScreenshot-Preferences.jpg!

To change Blink configuration go to menu _Preferences_. The Preferences "window":http://icanblink.com/screenshots.phtml#preferences appears.

Find out more information about a particular setting by hovering the mouse over it.

Each SIP Account has advanced options available, to reveal them click on the small triangle presented under the SIP Address.

Blink preferences are stored in _~/Library/Application Support/Blink Pro_ folder. You can reset Blink by deleting this folder.

Blink SIP accounts and settings are stored in _~/Library/Application Support/Blink Pro/config_ file.

GUI preferences are stored in _~/Library/Preferences/com.agprojects.Blink.plist_ file. (e.g. size, location of the windows and other MacOSX related settings).

If you ever want to move your Blink configuration to another login account you must edit the content of your _config_ file and replace the absolute file paths accordingly. You can edit this file with any text editor as long as you do not break the return lines and formatting of the file.

h3. Codecs

Blink supports _G722_ and _Speex_ wide-band codecs. The order of the codecs can be configured in menu _Preferences -&gt; Advanced -&gt; RTP Media_ and for each SIP Account in _Preferences -&gt; Accounts -&gt; Advanced -&gt; RTP Media_.

h3. Open Browser on Incoming Call

You can configure Blink Pro to automatically open a web browser on an incoming call event. For this set the _Alert URL_ in _Preferences -&gt; Advanced -&gt; Server Settings_ section.

The URL may contain the following variables that will be replaced with the actual information from the incoming session:

* $caller&#95;party - the SIP address of the caller party
* $called&#95;party - the SIP address of the account being called

Example: http://www.example.com?caller=$caller&#95;party&amp;called=$called&#95;party

h2. History Database

Blink stores the history of sessions and chat messages in a Sqlite database. The location of the database is:

<pre>
~/Library/Application Support/Blink Pro/history/history.sqlite
</pre>

If for any reason the database becomes corrupted, which may manifest itself by errors reported graphically by Blink itself or in the Console application you may work around the problems in several ways.

First, backup your database in case you need the uncorrupted data in the future. You can do this by copying the history.sqlite file to another location. The file can be opened in *Terminal* application using *sqlite3* program. You can dump the old data in the corrupted database as follows:

<pre>
#:~/Library/Application Support/Blink Pro/history$sqlite3 history.sqlite
SQLite version 3.7.7 2011-06-25 16:35:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from sessions;
sqlite> select * from chat_messages;
</pre>

h3. Restore Procedure

Try the following in this order to solve a data corruption problem:

* Clear the session history table, go to menu _History-&gt; Clear History_. The session table will be emptied and the chat messages are not affected. Restart Blink.
* Stop Blink. Remove history.sqlite file, the history database will be recreated at start time. Use the backup file for reading the old data using the sqlite3 command line utility.