B SIP Support and Compliance


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.

Table B-1 Methods

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.

ACK

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.

 

Responses

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.

Table B-2 Responses

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.

 

Message Headers

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.

SIP Addresses

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.

Limitation of Codec Selection

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.