@Nicolas is almost (but not quite) correct -
SIP is a VOIP platform. It works over UDP, NOT TCP (this is an important feature and limitation).
It is like Skype and Google-Voice, save that it is an open standard (unlike Skype), and designed primarily for calls (unlike Google Voice which uses Instant Messaging as the basis of the protocol). It is more powerful then Skype, and in some ways more powerful then Google Voice.
From an end users point of view, SIP appears more as a Client-Server model rather then a P2P model. (If you get into the technical details this is not necessarily true though)
In order to use it you need a SIP client (like Ekiga or a VOIP phone - VOIP Phones are common) as well as a device/system to handle the calls.
Your ability to call normal phones with SIP is dependent on how the SIP server interconnects. Usually it is possible as this is one of the basis for the existence of SIP, but it is entirely possible to have a system which does not interconnect with the telephone (ie PSTN) network.
The answers to your last set of questions are all "It depends on the SIP setup". It should be pointed out here that anyone can set up a SIP server - Asterisk is a common, free example (but there are closed source and other options as well - many which are dedicated hardware). SIP is often used to interconnect Telcos and route calls - this is extremely common with respect of calling cards. Also, invariably if you have a Naked DSL connection where your provider provides VOIP calling, this will be running SIP in the backend.
The person who pays for calls would be the person initiating the call or the SIP server associated with making the call. That said, very often SIP calls between clients connected to the same servers are free save for the Internet bandwidth they use. When payment is due for calls its generally by agreement between the call SIP server and an upstream provider who provides services to break the call out onto the PSTN (ie regular phone network)
You can only make SIP calls from a SIP device - SIP phones are quite common. If you want to use a regular phone to make a SIP call you will need a converter box. These boxes are typically known as "ATA's" or "FXS devices"
It is a lot more complex and expensive to set up a SIP system then a Skype or Google Voice system, however you have a high degree of control including things like -
- Guarantees of call quality can be implemented.
- Least Cost and inter-office routing.
- Privacy and security.
- Ability to move anywhere and keep the same resources (Skype and Google Voice allow this
as well)
- Built on a well defined, open standard
- SIP Servers often have advanced PABX features like IVR's, call queues, voice messaging,
Music on Hold, call stepping etc - although this is really not a function of SIP as
much as the server.
If you call a call center and your call goes to another part of the country or another country, or if it is a large company with multiple offices and complex IVR systems chances are they are using a SIP based system - SIP systems are more-and-more replacing regular PABX systems.
The bits I disagree with with Nicolas are -
SIP IS SIP, there are a basic set of standards that all SIP devices should adhere to,
so it should be possible to get any devices to interconnect (for example using alaw or
ulaw coding - the coding used be the regular phone systems). There are lots and lots
of add-ons which are not compatible, but it should always be possible to negotiate
to a common standard, and/or for a server to translate between standards.
Translating to other protocols does not always (or even usually) translate to costs.
Converting between SIP and IAX is common (IAX is a similar but simpler and not as
widely adopted protocol). The same can be said of h.323 and other protocols. There
are even ways to interconnect SIP with Skype at no cost.
There are FREE SIP providers (who generally allow free calls within their network
and charge for calls to numbers outside their network). The limitation here is the
size of their networks is tiny compared to Skype and the like.
SIP requires a SIP server, not a SIP provider. You can get software servers which
run on regular computers - like Asterisk and 3CX, as well as SIP PABXs