SIP FAQ
Subcategories:
Relationship to Other Protocols
Answers in this category:
How do I show this FAQ as a single page?
[Add a New Answer in "SIP FAQ"]
mailto:hgs@cs.columbia.edu?subject=SIP FAQ, mailto:islepchin@dynamicsoft.com?subject=SIP FAQ, mailto:jdrosen@dynamicsoft.com?subject=SIP FAQ
2001-Apr-24 9:00pm
SIP FAQ :
SIP Basics
Basic questions about SIP
2000-Jun-28 2:20pm mailto:hgs@cs.columbia.edu?subject=SIP FAQ
Subcategories:
Answers in this category:
Where can I find more information about SIP?
What is not described in the SIP spec?
There are lots of SIP extensions. Will the protocol ever be stable?
How do you test SIP implementations?
[Add a New Answer in "SIP Basics"]
2001-Oct-01 7:21pm
SIP FAQ : SIP Basics :
What is SIP?
SIP stands for Session Initiation Protocol. SIP is an Internet proposed standard documented in RFC 2543 for setting up, controlling and tearing down sessions in the Internet. Sessions include, but are not limited to, Internet telephone calls and multimedia conferences.
2000-Jun-28 2:22pm mailto:hgs@cs.columbia.edu?subject=SIP FAQ
SIP can initiate calls between regular telephones, if the switch is suitably equipped (so-called PINT mechanism).
2000-Dec-15 10:29pm
SIP FAQ : SIP Basics :
Who is implementing SIP?
Lots of people. Take a look at the partial list at http://www.cs.columbia.edu/sip/implementations.html http://www.pulver.com/sip/products.html, and http://www.sipforum.org/. At the last SIP bake-off, there were approximately 60 implementations.
2000-Dec-15 10:31pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ, mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2000-Dec-15 10:31pm
SIP FAQ : SIP Basics :
Where can I find more information about SIP?
The SIP home page contains additional information about SIP.
Until September 1999, discussion about SIP took place on the MMUSIC mailing list. The working group and mailing list is still the appropriate place for discussions related to SDP, SAP and RTSP, among other topics.
SIP standardization has now moved to the SIP working group, with its own mailing list. The SIP Forum at http://www.sipforum.org also provides information about SIP.
2000-Dec-15 10:33pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ, mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2000-Dec-15 10:33pm
SIP FAQ : SIP Basics :
What is RFC2543bis?
RFC2543bis is an updated version of SIP protocol that incorporates bug fixes and enhancements that have surfaced since RFC2543 was issued. Most of the changes in RFC2543bis were discussed extensively on SIP mailing list; hence, most of them are very likely to be included into the next official version of SIP.
RFC 3261 incorporates these changes and obsoletes RFC 2543. There are only minor changes between bis-09 and RFC 3261. The changes between RFC 2543 and RFC 3261 are described in an appendix in RFC 3261.
The latest version of this document can be found at http://www.cs.columbia.edu/sip
2002-Jul-24 11:03am mailto:islepchin@dynamicsoft.com?subject=SIP FAQ, mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2002-Jul-24 11:03am
SIP FAQ : SIP Basics :
What is not described in the SIP spec?
The SIP specification describes what is necessary to create interoperable implementations. It does not describe or limit the functionality offered by implementations or impose minimum functionality beyond request handling. Thus, SIP doesn't tell you how to do any of the following:
- the color of the phones that use SIP;
- what operating system is used to implement a SIP phone;
- what language is used to display error messages;
- what sound, if any, is used to indicate ringback or ringing;
- whether a registrar, proxy or redirect server are implemented in one process, on one machine or distributed across a network;
- which media types or codecs the SIP implementation supports;
- which type of network SIP is used in;
- what type of security measures are required to be used;
- the GUI for SIP calls;
- how to build a network of proxy servers;
- whether a phone can make calls while it's in a call;
- qualifications for human beings to make use of SIP softphones;
- how generous an implementation should be in dealing with requests and responses that have mistakes and how much error detail information it should provide;
- how many simultaneous calls the device can be in.
- what parser generator tool, if any, should be used by implementations
- what threading model to use
mailto:hgs@cs.columbia.edu?subject=SIP FAQ, mailto:islepchin@dynamicsoft.com?subject=SIP FAQ
2000-Dec-07 3:10pm
SIP FAQ : SIP Basics :
There are lots of SIP extensions. Will the protocol ever be stable?
Innovation will not stop, since this isn't the phone system. However, the basic protocol has been stable for quite a while and is sufficient to implement all basic phone services. Enhancements tend to be for specialized services, such as ISUP interworking, QoS negotiation, liveness detection, caller preferences or presence/instant messaging. All of these are backward-compatible with the basic protocol, with extensions negotiated if both sides support them. Basic calls will succeed without the extensions.
Note also that just because something is proposed doesn't mean it will ever become a standard. (Only about 10% of Internet drafts ever get published as RFCs.)
mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2000-Dec-15 10:36pm
SIP FAQ : SIP Basics :
How do you test SIP implementations?
ETSI is preparing a test specification, both prose and TTCN-3, for SIP. This work is to be completed by November/December 2001. Anthony Wiles http://www.cs.columbia.edu/~hgs/sip/Anthony.Wiles@etsi.fr can provide further details.
Also, roughly every four months, the SIP interoperability test events (SIPit) offer opportunities for implementors to test interoperability with other implementations.
The SIP call flows document also provides test cases.
mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2001-Sep-19 2:29pm
SIP FAQ : SIP Basics :
What does 'bis' stand for?
The suffixes 'bis' and 'ter' are often used for revisions of standards. For example, there is V.42bis for modems and V.25ter. 'bis' is the latin adverb for 'two', while 'ter' stands for 'three'. See
http://www.informalmusic.com/latinsoc/latnum.html
for details.
2001-Oct-01 7:24pm mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2001-Oct-01 7:24pm
SIP FAQ :
SIP Functionality
Describes how to provide standard services with SIP.
Subcategories:
Answers in this category:
Does SIP support the standard telephone features?
How does SIP provide message waiting services?
Why does CSeq not have a compact form?
How does the location server communicate with a proxy?
How does SIP support caller ID?
How do I charge/bill for Internet telephony using SIP?
How do prepaid calling cards work in a SIP network?
Does SIP do conference control?
How does SIP do "call progress tones" or "ring back"?
Does SIP do admission control?
Does SIP administer bandwidth?
How does SIP support multipoint conferences?
How does SIP support text chat and instant messaging?
Does SIP support video or multimedia conferences?
When do I use a proxy server vs. a redirect server?
How do gateways register with a registrar?
[Add a New Answer in "SIP Functionality"]
2002-Jul-24 10:58am
Does SIP support the standard telephone features?
Yes. SIP supports, among others:
- call forwarding unconditional, busy, ...
- call transfer (call control spec)
- caller ID
- call hold
- 3-way conferences and multiparty conferencing (call control spec)
- call return ("*69")
- call park (with NOTIFY)
- follow-me
- find-me
- call waiting
- IVR systems
- multiple line presences
- camp on
- call queueing
- automatic call distribution
- do not disturb
Some services, like repetitive dialing, station speed dialing, last number redial, and distinctive ringing, are implemented purely in the end system and require no support from the signaling protocol.
The Telecommunications Industry Association (TIA) is working on a recommendation http://www.tiaonline.org/standards/ip/ for business PBX-style services and other Internet phone requirements.
mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2000-Jun-28 2:47pm
How does SIP provide message waiting services?
First, there may well be other protocols that are more appropriate to indicating that voice or email messages are available, for example POP or IMAP. In particular, once one moves beyond a simple message waiting light to indication of message counts, urgency, senders, etc., it is likely that any SIP-based solution starts replicating POP or IMAP functionality.
A SIP-based solution has not been standardized yet. Using SUBSCRIBE and NOTIFY appears to be the most appropriate approach.
mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2000-Jun-28 2:56pm
Why does CSeq not have a compact form?
This was an oversight, as all other SIP mandatory headers have a compact form. However, it's too late to change this since older implementations would not know what to do with the single-character form. Fortunately, the penalty is only three bytes.
mailto:hgs@cs.columbia.edu?subject=SIP FAQ
2000-Jun-30 7:38pm
How does the location server communicate with a proxy?
Location server and proxy server are logical entities, not physical ones. They can reside in one host or application or be distributed across several hosts or applications. The API or protocol used between them is not specified, as it is an implementation decision. (Generally, most implementations combine a location server with a proxy.)
2000-Jul-01 5:42pm
How does SIP support caller ID?
Caller-ID is provided by the From SIP header containing the caller's name and "number". The number would most likely be placed in the user field of a SIP URL or appear in a tel: URL.
Since the callee generally does not know or trust the callee's server, only cryptographic signatures can be used to ensure that the information is valid. For example, the outgoing proxy might be operated by an ISP, enterprise or phone company and sign for the identity of the caller, using the signed-by parameter, with the identity of the company verified by a public key certificate similar to those used by web sites. See section 13.2 of RFC2543bis for encryption details.
2000-Jul-02 10:50pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ
2000-Jul-02 10:50pm
How do I charge/bill for Internet telephony using SIP?
This depends on whether you plan to charge for SIP services like directory look-ups, call processing or mobility, for gateway services to the PSTN, or for carrying media data:
SIP services
The Authorization header can be used to indicate a customer identity that associates a SIP request with a billable entity.
Examples of possibly chargeable SIP services include:
Directory services such as SIP proxy/redirect lookups;
Customer profile management; SIP server operations can be charged based on server logs or, for real-time billing, via AAA.
Media services
Media services include retrieving and storing voice mail, as well as transcoding of media streams. They are not initiated by SIP, but, for example, via RTSP.
Gateway services
Similar to SIP services. Care has to be taken to stop billing when (say) RTP voice data is no longer flowing through the gateway. The gateway will generate call detail records (CDRs) either directly or through RADIUS.
Transport (network services)
It seems unlikely that voice calls carried over a best-effort service will generate per-minute charges. When reserving bandwidth or guaranteeing other quality-of-service parameters, the resource reservation protocol or differentiated services are the appropriate mechanism for including charging. These reservation protocols will likely be used in applications that are not initiated by SIP, for example, audio/video on demand or VPNs. Actual accounting records may be generated by AAA protocols (e.g., by policy enforcement points (PEP) or policy decision points (PDP)) or log files.
Under some circumstances, a SIP proxy server may be useful to initiate such reservations or differentiated services treatment on behalf of a call, since it may be easier to authenticate the SIP request than the lower-layer reservation request or the end system may not be capable of making reservations or marking packets. In those cases, the SIP proxy would initiate a resource reservation and "charge back" the caller identified by the SIP request.
Dean Willis wrote with regards to billing for SIP services:
Why can't service providers make a living providing (at a fixed cost) access to "free services"? Do carriers do per HTTP-transfer billing now? How much should they charge for an email? For a call, what parameters might be used? Bandwidth, duration, distance -- the Big Factors of the POTS bill -- are not issues that SIP is concerned with.
2000-Jul-02 10:55pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ
2000-Jul-02 10:55pm
How do prepaid calling cards work in a SIP network?
Note that, in general, prepaid calling cards only make sense in an IP network if there is a special-purpose VoIP internet, calls traverse a IP-to-PSTN gateway or VoIP packets receive special treatment. The SIP requests are forced to traverse a stateful proxy or a back to back User Agent (B2BUA), which controls the Internet telephony gateway, router QOS function or firewall, depending on the architecture. When the time is used up, the B2BUA or gateway issues a BYE request to both parties, using the existing call ID. It also disables the gateway connection, turns off any special QOS treatment for the RTP packets or closes the firewall for that stream. This requires no additions to either caller or callee. Sending a BYE suffices only if at least one of the end systems can be trusted to actually terminate the call when a BYE is received.
2001-Jan-22 10:57pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ, mailto:jdrosen@dynamicsoft.com?subject=SIP FAQ
2001-Jan-22 10:57pm
Does SIP do conference control?
SIP leaves conference control, such as the election of a chair or floor control, to other protocols. SIP can be used for non-conferencing applications and floor control may be used outside the scope of SIP-initiated calls, so it seemed best to separate the functionality. However, SDP may be used to indicate which media are subject to floor control and what tools and protocols are to be used. Unfortunately, there is no IETF-standardized floor control protocol.
2000-Jul-03 6:39pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ
2000-Jul-03 6:39pm
How do I put a call on hold?
The party wishing to put the other party on hold sends a (re)INVITE, with a session description containing a null (0.0.0.0) address. When used with SDP, the "c" address field of one or more media types is set to zero.
2000-Jul-03 7:07pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ
2000-Jul-03 7:07pm
How does SIP do "call progress tones" or "ring back"?
The SIP server being called, such as an Internet telephony gateway, can return any number of provisional status messages that indicate call progress. Typically, this is just 100 (Trying) followed by 180 (Ringing), but a server could produce elaborate feedback such as 100 Message received
100 Looking up number
100 Found number, looking up carrier according to profile
100 Finding cheapest carrier which doesn't do animal testing
100 Found carrier "AT&T"
100 Dialing number
180 Ringing
182 Queued, 3 people in front of you
182 Queued, 2 people in front of you
The language of the status message should be determined based on the Accept-Language request header in the call.
A 183 (Session Progress) status response will appear in RFC2543bis. It can be used for both progress tones as well as error messages.
One would use the 183 only if you:
Are able to determine that the audio being generated is something other than ringing (e.g. "comfort tone" or "pay tone" as defined in E.18x), or
Are unable to definitively determine that alerting is occuring. This really should only happen with older CAS protocols. ISUP and ISDN have sufficient information to determine what is happening on the far end.
One can also use 183 if the gateway is able to determine that an error has occured, but that there is a tone or announcement accompanying it (e.g., an ACM with a cause code present). In that case, the gateway can send a 183 to set up the media for the announcement (ideally with the announcement text as the text string), wait for a timer (on the order of 30 seconds), and then send an appropriate SIP error message.
However, this should only be done if the caller is likely a human being, as sending 183 would otherwise only delay failure handling.
Take a look at (now expired) draft-ietf-sip-183-00.txt for some details on using 183 responses for early media announcements.
2000-Jul-03 7:23pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ
2000-Jul-03 7:23pm
Does SIP do admission control?
Since this offers no real security (calls could always bypass a server), admission control is not supported by SIP. If an "outbound proxy" is used for outgoing calls, that proxy may control the firewall and thus restrict outgoing calls ans resources used.
2000-Jul-03 7:51pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ
2000-Jul-03 7:51pm
Does SIP administer bandwidth?
No, that is the role of a resource reservation protocol. There is no reason to assume that any Internet telephony signaling server (such as a proxy) would know the available bandwidth in real networks. Having such a central server would not scale. Administering bandwidth separately for each application is also likely to be difficult and inefficient.
There is a proposal for an SDP extension that allows SIP INVITE requests and responses to indicate that resource reservation must succeed before the callee is alerted. Several proposals can also be found at http://www.cs.columbia.edu/~hgs/sip/drafts_qos.html.
2000-Jul-03 7:55pm mailto:islepchin@dynamicsoft.com?subject=SIP FAQ