Help For Blink Pro
Version 90 (Adrian Georgescu, 01/29/2013 03:12 pm) → Version 91/162 (Adrian Georgescu, 01/29/2013 03:14 pm)
h1. Help for Blink Pro and Blink Lite on MacOSX
[[KnownIssues|Known issues and critical bug fixes]]
Blink allows you to communicate in real time over the Internet. To use Blink you need a SIP account from a SIP service provider. 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 history menu
* History browser for all media
* Phone number translations
* Redial capability
* Call transfer
* Call recording
* LDAP server support
* Incoming call web page integration
* More granular 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 it is Apple you must complain to, not us.
h2. Incoming Calls Problems
If you are unable to receive incoming calls and wish to ask for support do the following:
* Go to _Menu Window -> Logs -> SIP_.
* Check the box *Everything* Everything and from the drop down box select *Sessions* Sessions
* Restart Blink
* Attempt to make the call
* Go to _Menu Window -> Logs -> SIP_.
* Select all Copy ALL log lines Cmd-A in the window and paste mail them in an mail to support@ag-projects.com
h2. Outgoing Calls Problems
Do the steps from above section.
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 and Errors
Programming errors are logged in the OSX 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. Complete Crashes
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.
_~/Library/Containers/com.agprojects.Blink/Data/Library/Application Support/Blink Pro/_
and
_~/Library/Containers/com.agprojects.BlinkLite/Data/Library/Application Support/Blink Lite/_
Do not edit this file manually. If you did and Blink does not start you must delete the file and start all over again.
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 keychain.
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.
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. Add an Existing SIP Account
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. Some SIP service providers are incapable of setting up correctly their infrastructure like the DNS records used for discovering the address of the SIP server. Such providers typically provide separate login/username/phone number and a server address instead of a SIP address. In such case, use the username@server format for the SIP address field. Additional manual settings for the server location can be made in Advanced Account Settings explained below.
h3. Create a Free SIP Account
Use this option 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
It is recommended that you always create such account to benefit of the features beyond VoIP provided by Blink. Using a sip2sip.info account you can sync the address book between multiple instances of Blink, bridge to XMPP domains and create multi party conferences.
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. If your particular SIP service does not support XCAP storage, just add a SIP account from within Blink.
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 -> Advanced -> RTP Media_ section and can be overwritten per account in _Advanced -> 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*#. You can use the comma sign ',' to insert a one second pause (version >=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 -> 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-> Settings on SIP Server -> 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 -> 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 -> 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 -> 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 -> Answering Machine_ settings.
You can enable the _Answering Machine_ using the menu item _Tools -> Enable Answering Machine_. The incoming Audio Calls are then recorded and can be listened to later in _Tools -> 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 "Conference":http://icanblink.com/screenshots.phtml#audio_conference 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
Chat sessions work like Audio Calls in the sense that a session is established after the called party explicitly accepts the invitation and for each message there is a delivery report available. This is different to Send Message, which is a fire and forget action with no guarantees of the delivery.
!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 -> 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. Presence
See http://projects.ag-projects.com/news/15
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_ are stand-alone entities that operates in a fire and forget fashion. There is no guarantee for delivery or alerting of the final recipient. _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. For guaranteed message delivery and encryption you must use Chat Sessions.
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 -> 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 -> NAT Traversal -> 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 -> 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 -> Server -> 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 -> 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 -> Advanced -> RTP Media_ and for each SIP Account in _Preferences -> Accounts -> Advanced -> 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 -> Advanced -> Server Settings_ section.
The URL may contain the following variables that will be replaced with the actual information from the incoming session:
* $caller_party - the SIP address of the caller party
* $called_party - the SIP address of the account being called
Example: http://www.example.com?caller=$caller_party&called=$called_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-> 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.
[[KnownIssues|Known issues and critical bug fixes]]
Blink allows you to communicate in real time over the Internet. To use Blink you need a SIP account from a SIP service provider. 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 history menu
* History browser for all media
* Phone number translations
* Redial capability
* Call transfer
* Call recording
* LDAP server support
* Incoming call web page integration
* More granular 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 it is Apple you must complain to, not us.
h2. Incoming Calls Problems
If you are unable to receive incoming calls and wish to ask for support do the following:
* Go to _Menu Window -> Logs -> SIP_.
* Check the box *Everything* Everything and from the drop down box select *Sessions* Sessions
* Restart Blink
* Attempt to make the call
* Go to _Menu Window -> Logs -> SIP_.
* Select all Copy ALL log lines Cmd-A in the window and paste mail them in an mail to support@ag-projects.com
h2. Outgoing Calls Problems
Do the steps from above section.
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 and Errors
Programming errors are logged in the OSX 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. Complete Crashes
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.
_~/Library/Containers/com.agprojects.Blink/Data/Library/Application Support/Blink Pro/_
and
_~/Library/Containers/com.agprojects.BlinkLite/Data/Library/Application Support/Blink Lite/_
Do not edit this file manually. If you did and Blink does not start you must delete the file and start all over again.
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 keychain.
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.
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. Add an Existing SIP Account
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. Some SIP service providers are incapable of setting up correctly their infrastructure like the DNS records used for discovering the address of the SIP server. Such providers typically provide separate login/username/phone number and a server address instead of a SIP address. In such case, use the username@server format for the SIP address field. Additional manual settings for the server location can be made in Advanced Account Settings explained below.
h3. Create a Free SIP Account
Use this option 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
It is recommended that you always create such account to benefit of the features beyond VoIP provided by Blink. Using a sip2sip.info account you can sync the address book between multiple instances of Blink, bridge to XMPP domains and create multi party conferences.
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. If your particular SIP service does not support XCAP storage, just add a SIP account from within Blink.
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 -> Advanced -> RTP Media_ section and can be overwritten per account in _Advanced -> 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*#. You can use the comma sign ',' to insert a one second pause (version >=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 -> 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-> Settings on SIP Server -> 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 -> 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 -> 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 -> 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 -> Answering Machine_ settings.
You can enable the _Answering Machine_ using the menu item _Tools -> Enable Answering Machine_. The incoming Audio Calls are then recorded and can be listened to later in _Tools -> 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 "Conference":http://icanblink.com/screenshots.phtml#audio_conference 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
Chat sessions work like Audio Calls in the sense that a session is established after the called party explicitly accepts the invitation and for each message there is a delivery report available. This is different to Send Message, which is a fire and forget action with no guarantees of the delivery.
!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 -> 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. Presence
See http://projects.ag-projects.com/news/15
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_ are stand-alone entities that operates in a fire and forget fashion. There is no guarantee for delivery or alerting of the final recipient. _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. For guaranteed message delivery and encryption you must use Chat Sessions.
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 -> 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 -> NAT Traversal -> 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 -> 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 -> Server -> 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 -> 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 -> Advanced -> RTP Media_ and for each SIP Account in _Preferences -> Accounts -> Advanced -> 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 -> Advanced -> Server Settings_ section.
The URL may contain the following variables that will be replaced with the actual information from the incoming session:
* $caller_party - the SIP address of the caller party
* $called_party - the SIP address of the account being called
Example: http://www.example.com?caller=$caller_party&called=$called_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-> 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.