Good day to all
Today we want to present you our startup
TalkPad , which allows you to make calls to landline and mobile phones around the world directly from the browser.

')
PrehistoryThe active trend of transferring software to the web, which has been observed in recent years, asked us one question: Is there at least one normal service that allows you to call from a browser?
All the answers to this question were divided into two groups:
1. All call-back solutions
The solution involves entering two numbers: yours for receiving a callback and the number of the subscriber to whom we are calling. The disadvantage of this method is obvious:
- in fact, two connections are established and the user pays for two.
2. Adobe Flash based solutions
Cons of this method:
- lack of special telephone codecs and "metallic" voice;
- unreliability and instability of the connection;
- the inability to direct voice traffic directly between two users (in this case, all traffic goes through the Flash Media server), which creates an additional delay.
IdeaAfter analyzing the answers, an idea emerged to make a complete addon to the browser, devoid of all the above disadvantages.
ResultWe have released plugins for:
- Firefox (version 3 and higher) under Windows, Mac OS X, Linux and FreeBSD;
- Internet Explorer, Google Chrome and Opera under Windows.
By itself, the plugin is invisible, and it is managed from the browser page (using javascript).
We have executed the interface in the form of a search line as soon as the user begins to enter a number.
we define the direction and display it in the status bar (above the search bar).
After the call, the number is saved to the user's address book, which is an autocompiler menu (used by mootools autocompleter)
To create the plug-in, the pjsip project was used — the SIP protocol stack on C.
TalkPad advantages:
- support for g729 telephone codec;
- per second billing from the first second;
- the possibility of placing the number for caller ID;
- reliability and stability of the connection.
We not only develop a SIP client, but also maintain our own communication center.
By controlling both sides of the interaction (client and server), we can easily solve the problem of address translation (NAT). The only case when the voice traffic of the user goes through our communication center is if the user is located behind a router with a symmetric nat (but you can not worry, symmetrical nat is a not very popular phenomenon).
The possibility of instant communication between network users and others (for example, with gmail users) via XMPP (Jabber) protocol has also been implemented. For the implementation of the web-chat project was used
Strophe .
We receive a lot of positive feedbacks, now it’s interesting to hear comments from the habr-community.
Thanks to all!
UPD: for poppy plugin compiled under 10.5 and it looks like it crashes to 10.6, wait for the updateUPD 04/25/10: The plugin has been rebuilt for FF3.6 under Mac OS X 10.6 (Snow Leopard). Can be used.