Purpose
This release of the SIP User Agent implementation supports the following methods, responses, and headers per SIP RFC 2543 Bis-05.
Methods
SIP call control methods identify the type of request that is being made.
Method |
Supported |
Description |
---|---|---|
INVITE |
Yes |
Invites a target to participate in a session; establishes a connection. Also used to change call state or capabilities, such as CODEC used. Supported with or without SDP because of the Delayed Media feature. |
Yes |
Acknowledges receipt of a final response to an invite request |
|
OPTIONS |
Yes |
Solicits information about features supported by SIP servers such as supported methods and media capabilities. |
BYE |
Yes |
Indicates that either the originator or the target wishes to end the call; terminates a connection or declines an invitation. |
CANCEL |
Yes |
Cancels a pending request; does not affect a completed request. |
REGISTER |
Yes |
Registers a user's address with a SIP location server; resolves a public address to a specific address. Not related to a specific session. |
REFER |
Yes |
Indicates that the recipient should contact a third party using provided contact information; initiates a transfer. |
NOTIFY |
Yes |
Provides information about a state change; not related to specific session. |
SUBSCRIBE |
Yes |
Used by a SIP entity to declare its interest in a particular event. SIP entity subscribes to a certain event of a class of events. |
SIP response codes indicate the status of a session. Responses with 1xx response codes are also call provisional responses, while the remaining response codes (2xx, 3xx, 4xx, 5xx, and 6xx) indicate final responses.
This release of the SIP Implementation treats the 4xx, 5xx, and 6xx responses as rejected calls.
Code Type |
Function |
---|---|
1xx |
Informational: Trying, ringing, forwarding, queuing, in progress |
2xx |
Successful: OK |
3xx |
Redirection: Indicate additional information for call forwarding |
4xx |
Request Failure: Indicate request errors such as missing information |
5xx |
Server Failures: Time outs, unavailable services, and other server errors |
6xx |
Global Failures: Busy declined, not found, not acceptable |
Responses |
Supported |
Notes |
100 Trying |
Yes |
|
180 Ringing |
Yes |
|
181 Forwarded |
Yes |
Treated as 180 Ringing Response. |
182 Queued |
Yes |
Treated as 180 Ringing Response. |
183 Session Progress |
Yes |
Treated as Call Progress. Generate Early Media if SDP. |
200 OK |
Yes |
|
300 Multiple Choices |
Yes |
Supports Redirections. |
301 Moved Permanently |
Yes |
|
302 Moved Temporarily |
Yes |
|
305 Use Proxy |
Yes |
|
380 Alternative Service |
Yes |
|
400 Bad Request |
Yes |
For outbound call (UAC), these responses are treated as Call Rejected. |
401 Unauthorized |
Yes |
Supports basic and digest. |
402 Payment Required |
No |
Treated as Call Rejected. |
403 Forbidden |
No |
Treated as Call Rejected. |
404 Not Found |
Yes |
Generate and accept responses. For outbound calls, these responses are treated as Call Rejected. |
405 Method Not Allowed |
Yes |
Generate and accept responses. For outbound calls, these responses are treated as Call Rejected. |
406 Not Acceptable |
No |
Treated as Call Rejected. |
407 Proxy Authentication Required |
Yes |
Treated as Call Rejected. |
408 Request Timeout |
No |
Treated as Call Rejected. |
409 Conflict |
No |
Treated as Call Rejected. |
410 Gone |
No |
Treated as Call Rejected. |
411 Length Required |
No |
Treated as Call Rejected. |
413 Request Entity Too Large |
No |
Treated as Call Rejected. |
414 Request – URI Too Long |
No |
Treated as Call Rejected. |
415 Unsupported Media |
Yes |
Generate and accept responses. For outbound calls, these responses are treated as Call Rejected. |
420 Bad Extension |
Yes |
Generate and accept responses. For outbound calls, these responses are treated as Call Rejected. |
422 Session Timer Duration Too Small |
Yes |
Retry the INVITE method with new session interval. |
480 Temporarily Not Available |
Yes |
Generate and accept responses. For outbound calls, these responses are treated as Call Rejected. |
481 Call Leg Transaction Does Not Exist |
Yes |
Generate and accept responses. For outbound calls, these responses are treated as Call Rejected. |
482 Loop Detected |
No |
Treated as Call Rejected. |
483 Too Many Hops |
No |
Treated as Call Rejected. |
484 Address Incomplete |
No |
Treated as Call Rejected. |
485 Ambiguous |
No |
Treated as Call Rejected. |
486 Busy Here |
No |
Treated as Call Rejected. For outbound calls, these responses are treated as Call Rejected. |
500 Server Internal Error |
Yes |
Treated as Call Rejected. For outbound calls, these responses are treated as Call Rejected. |
501 Not Implemented |
No |
Treated as Call Rejected. |
502 Bad Gateway |
No |
Treated as Call Rejected. |
503 Service Unavailable |
Yes |
Generate and Accept Responses. |
504 Gateway Timeout |
No |
Treated as Call Rejected. |
505 SIP Version Not Supported |
Yes |
Generate and Accept Responses. |
513 Message Too Large |
Yes |
Treated as Call Rejected. |
600 Busy Everywhere |
No |
Treated as Call Rejected. |
603 Decline |
No |
Treated as Call Rejected. |
604 Does Not Exist Anywhere |
No |
Treated as Call Rejected. |
606 Not Acceptable |
No |
Treated as Call Rejected. |
Each SIP message is accompanied by a header. The following are the required fields in all messages (see Methods.)
Table B-3 Required Fields
Required Field |
Description |
From |
The address of the session originator; expressed as a SIP URL. |
To |
The address of the session target; expressed as a SIP URL. |
Call-ID |
A unique identifier assigned to all of the SIP messages related to a call. |
Cseq |
The SIP call control method and an identifying sequence number |
Table B-4 Supported Headers
Header |
Supported |
Compressed Header |
---|---|---|
Accept |
No |
|
Accept-Encoding |
Yes |
Not applicable |
Accept-Language |
No |
|
Allow |
Yes |
|
Authorization |
Yes |
|
Call-ID |
Yes |
i |
Contact |
Yes |
m |
Content-Disposition |
Yes |
Not applicable |
Content - Encoding |
No |
|
Content-Length |
Yes |
l |
Content-Type |
Yes |
c |
Cseq |
Yes |
Not applicable |
Date |
No |
|
Encryption |
No |
|
Expires |
Yes |
Not applicable |
From |
Yes |
f |
Hide |
No |
|
In-Reply-To |
No |
|
Max - Forwards |
No |
|
MIME - Version |
No |
|
Min-SE |
Yes |
|
Organization |
No |
|
Priority |
No |
|
Proxy - Authenticate |
Yes |
|
Proxy - Authorization |
Yes |
|
Proxy - Require |
No |
|
Record-Route |
Yes |
Not applicable |
Require |
Yes |
|
Retry-After |
Yes |
Not applicable |
Response-Key |
No |
|
Route |
Yes |
Not applicable |
Server |
No |
|
Session-Expires |
Yes |
|
Subject |
No |
|
Supported |
Yes |
|
Timestamp |
No |
|
To |
Yes |
t |
Unsupported |
No |
|
User-Agent |
Yes |
Not applicable |
Via |
Yes |
v |
Warning |
No |
|
WWW-Authenticate |
Yes |
|
Important! You must set the System Timer accurately on the Matrix Controller card.
Instead of being assigned to specific devices the way that telephone numbers traditionally are assigned, SIP URLs are assigned to the individual users who participates in SIP sessions. As a result, when a phone call (or other interactive session) is made to a SIP address, it can be routed to the appropriate individual regardless of a change in physical location or IP telephone device.
The From and To fields in every message header contain the SIP URLs of the session's originator and target.
SIP URLs use the same format as IP addresses or e-mail addresses:
<sip:user-id@server-address:port;parameters;?header-names=values>.
The formats of some sample SIP URLs might appear as:
sip:123@OPENet.com
sip:3333@10.1.1.123
sip:johndoe@sip.OPENet.net:5070
John Doe<sip:johndoe@sip.OPENet.net:5070>
SIP Interoperability Compliance with the Excel platform
The following is required for SIP Interoperability compliance with the Excel platform:
• SIP User Agent supports RFC 2543 Bis-05 and RFC 2327.
• SDP provided in Invite for Media negotiation.
• RTP with G.711 must be supported.
Normally, a SIP INVITE message specifies the CODECS to be used in the media description part of the SDP. The CODECS that appear first in the list are those with a higher priority for usage. However, the Excel platform requires the use of a route table that specifies a CODEC (any CODEC supported by Excel platform).
If the CODEC listed in the route table appears anywhere in the media description of the SDP (regardless of priority) then that CODEC is used first.
Example: The Pulse Code Modulation U Law (PCMU) is specified in the route table. The SDP specifies Pulse Code Modulation A Law (PCMA) first in the media description and PCMU second. Normally PCMA is used if the other end supports it, but because the way the Excel platform handles the call, PCMU is used because it appears in the media description list. If PCMU did not appear in the media description, then PCMA would be used.