01-13 sip huwaei

Upload: aajayagarwal80

Post on 31-Oct-2015

46 views

Category:

Documents


0 download

TRANSCRIPT

  • HUAWEI CSOFTX3000 Signaling Protocols Contents

    Issue 02 (2007-01-15) Huawei Technologies Proprietary i

    Contents

    13 SIP .............................................................................................................................................13-1 13.1 Description of SIP .....................................................................................................................................13-2

    13.1.1 Related Terms ..................................................................................................................................13-2 13.1.2 SIP Addressing.................................................................................................................................13-3

    13.2 SIP Message Types....................................................................................................................................13-4 13.2.1 Request Messages ............................................................................................................................13-4 13.2.2 Response Messages..........................................................................................................................13-5

    13.3 SIP Message Structure...............................................................................................................................13-7 13.3.1 Request Message Structure ..............................................................................................................13-8 13.3.2 Request Message Examples ...........................................................................................................13-13 13.3.3 Response Message Structure..........................................................................................................13-14 13.3.4 Response Message Examples.........................................................................................................13-15

    13.4 SIPI..........................................................................................................................................................13-16 13.4.1 Introduction to SIPI........................................................................................................................13-16 13.4.2 Encapsulation.................................................................................................................................13-16 13.4.3 Mapping .........................................................................................................................................13-16

    13.5 SIP Signaling Procedures ........................................................................................................................13-17 13.5.1 Flows of Mobile Originated Calls Through SIP Trunks.................................................................13-17 13.5.2 SIPI Signaling Procedure ...............................................................................................................13-19

  • Figures HUAWEI CSOFTX3000

    Signaling Protocols

    ii Huawei Technologies Proprietary Issue 02 (2007-01-15)

    Figures

    Figure 13-1 Structure of a SIP request message ...............................................................................................13-8

    Figure 13-2 Structure of a SIP response message...........................................................................................13-15

    Figure 13-3 SIP flowchart of an MOC through SIP trunks ............................................................................13-18

    Figure 13-4 A successful SIPI procedure (PSTN-IP-PSTN) ..........................................................................13-19

  • HUAWEI CSOFTX3000 Signaling Protocols Tables

    Issue 02 (2007-01-15) Huawei Technologies Proprietary iii

    Tables

    Table 13-1 Request messages ...........................................................................................................................13-5

    Table 13-2 Response messages.........................................................................................................................13-5

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-1

    13 SIP About This Chapter

    The following table lists the contents of this chapter.

    Section Describes

    13.1 Description of SIP Application and related terms of the SIP protocol.

    13.2 SIP Message Types SIP message types.

    13.3 SIP Message Structure SIP message structure.

    13.4 SIPI Application of SIPI.

    13.5 SIP Signaling Procedures Examples about the SIP signaling procedures.

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-2 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    13.1 Description of SIP SIP is an application-layer control protocol that can establish, modify, and terminate sessions or calls. These sessions include multimedia conferences, Internet telephony, and similar applications. SIP is one of the key protocols that implement the voice over IP (VoIP).

    SIP supports such services as:

    z Name mapping z Redirection z Integrated services digital network (ISDN) services z Intelligent network services

    These facilities also enable personal mobility. That is, end users can originate and receive calls and access subscribed telecommunication services in any location at any time.

    SIP supports five facets of establishing and terminating multimedia communications:

    z User location: determining the end system to be used for communication z User capabilities: determining the media and media parameters to be used z User availability: determining the willingness of the called party to engage in

    communications z Call setup: sending ring back tones to the called party and establishing call parameters at

    both called and calling parties z Call handling and control: including redirection, transfer, and termination of calls

    SIP can also initiate multi-party calls using a multipoint control unit (MCU) or fully meshed interconnection instead of multicast. Internet telephony gateways that connect public switched telephone network (PSTN) parties can also use SIP to set up calls between them.

    SIP makes minimal assumptions about the underlying transport and network-layer protocols. The lower layer can provide either a packet or a byte stream service, with reliable or unreliable service. SIP can use user datagram protocol (UDP) and transmission control protocol (TCP) as transport protocols. UDP is preferred.

    13.1.1 Related Terms

    Call A call consists of all participants in a conference invited by a common source. A SIP call is identified by a globally unique Call-ID.

    Therefore, if several people invite a user to the same multicast session, each of these invitations will be a call. A point-to-point Internet telephony conversation maps into a single SIP call.

    Call Leg The combination of Call-ID, To, and From identifies a call leg. For example, for a call between A and B, the requests sent from A to B and from B to A use the same Call-ID, belonging to the same call leg. A call leg is actually a path of messages for a call.

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-3

    Transaction A SIP transaction occurs between a client and a server. It comprises all messages from the first request sent from the client to the server up to a final (non-1xx) response message sent from the server to the client.

    The CSeq sequence number within a call leg identifies a transaction. However, an ACK request has the same CSeq number as the corresponding INVITE request, but comprises a transaction of its own.

    A normal call includes three transactions. Call initiation consists of two requests: INVITE and ACK. The former requires a response. The latter is an acknowledgement that the final response is received, requiring no response. Call termination contains one request BYE.

    Location Service Location services are offered by location servers. A SIP redirect or proxy server uses a location service to obtain the possible location of a called party beyond the scope of this document. However, the manner in which a SIP server requests location services is beyond the scope of this manual.

    Proxy Server A proxy server is an intermediary program. It acts as both a server and a client to route SIP requests to destinations. A proxy server may process requests internally or pass them on to other proxy servers. It interprets, and, if necessary, rewrites a request before forwarding the message.

    Redirect Server A redirect server performs the following:

    z Accepts a SIP request. z Maps the address into zero or more new addresses. z Returns these addresses to the client.

    Thus, the client can directly initiate requests to these new addresses again.

    A redirect server implements the routing function instead of receiving or rejecting calls.

    Registrar A registrar is a server that accepts REGISTER requests. It is co-located with a proxy or redirect server. A registrar needs to store the address mapping relationship in REGISTER requests in a database for subsequent call processes. It can offer location services.

    User Agent A user agent is a logical entity that initiates or receives SIP requests.

    13.1.2 SIP Addressing Uniform resource identifier (URIs) are used within SIP messages to indicate the originator (From), current destination (Request-URI), and final recipient (To) of a SIP request, and to specify redirection addresses (Contact).

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-4 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    Commonly, a SIP URL has a syntax as follows:

    SIP:user:password@host:port;transport-param|user-param|method-param|

    ttl-param|maddr-param|other-param

    The components of a SIP URI have the following meanings:

    z SIP: indicates that SIP is used for the communication with a specified end system. z user: consists of any characters in a form of e-mail address or telephone number. z password: can be included in a SIP URL. However, the use is not recommended, because

    the passing of authentication information in texts is a security risk. z host: can be a host domain name or an IP address. z port: indicates the port number to which a request is sent. The default is 5060, a public

    SIP port number. z transport-param: indicates which transport protocol to be used, TCP or UDP. The default

    is UDP. z user-param: can be a telephone number. A special function of SIP URL is to allow the

    host to be an IP telephony gateway with a telephone number as the username. Two values are available for this field: IP and phone. When the field is set to "phone", the username is a telephone number and the corresponding end system is an IP telephony gateway.

    z method-param: specifies methods or operations to be used. z ttl-param: designates the time-to-live (TTL) of a UDP multicast data packet. This

    parameter is valid only when the Transport parameter is "UDP" and the maddr parameter is "multicast address".

    z maddr-param: provides the server address to be contacted for a user, overriding the address supplied in the host field. This address is typically a multicast address.

    The following parameters are optional: z transport-param z user-param z method-param z ttl-param z maddr-param z other-param

    13.2 SIP Message Types SIP messages are encoded in a text form. There are two types of SIP messages: request and response.

    13.2.1 Request Messages Request messages are sent from a client to a server to activate a specific operation. They are INVITE, ACK, BYE, CANCEL, REGISTER, and OPTIONS. Table 13-1 describes the functions of these messages.

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-5

    Table 13-1 Request messages

    Message Function INVITE Initiate a session request to invite a user to participate in a session. The

    session descriptor is contained in the message body. For a session between two parties, the calling party should specify the media type that it supports and related parameters. The called party should also specify the media type that is supports through the response message. In addition, the called party can specify the media type that it will send.

    ACK Confirm that the client receives a final response to an INVITE request. ACK messages are used only with INVITE message.

    BYE Indicate that the client wishes to release a call already set up. CANCEL Cancel a pending request.

    CANCEL messages do not affect a completed request. A request is considered completed if the client receives a final response from the server.

    REGISTER Register an address with a SIP server. OPTIONS Query a server about its capabilities.

    13.2.2 Response Messages Response messages are used to respond to request messages, indicating the success or failure status of the call. The class of a response message is distinguished by a Status-Code. The Status-Code is a 3-digit integer. The first digit of the Status-Code defines the class of response. The last two digits indicate the response in detail. Table 13-2 shows the classification of response messages and their meanings.

    Table 13-2 Response messages

    Serial No.

    Function Status Code

    Message Function

    100 Trying

    180 Ringing

    181 Call is being forwarded

    182 Queued

    1xx Informational (provisional), indicating that the request is received and the system continues to process the request

    183 Session progress

    2xx Indicating the request is successfully received, understood, and accepted.

    200 OK

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-6 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    Serial No.

    Function Status Code

    Message Function

    300 Multiple Choices

    301 Moved Permanently

    302 Moved Temporarily

    305 User Proxy

    3xx Redirection, indicating further action requires to be taken in order to complete the request

    380 Alternative Service

    400 Bad Request

    401 Unauthorized

    402 Payment Required

    403 Forbidden

    404 Not Found

    405 Method Not Allowed

    406 Not Acceptable

    407 Proxy Authentication Required

    408 Request Timeout

    410 Gone

    413 Request Entity Too Large

    414 Request-URI Too Large

    415 Unsupported Media Type

    416 Unsupported URI Scheme

    420 Bad Extension

    421 Extension Required

    423 Interval Too Brief

    480 Temporarily Unavailable

    481 Call Leg/Transaction Does Not Exist

    482 Loop Detected

    483 Too Many Hops

    484 Address Incomplete

    485 Ambiguous

    486 Busy Here

    4xx Client error, indicating the request contains bad syntax or cannot be fulfilled at this server

    487 Request Terminated

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-7

    Serial No.

    Function Status Code

    Message Function

    488 Not Acceptable Here

    491 Request Pending

    493 Undecipherable

    500 Server Internal Error

    501 Not Implemented Not Implemented

    502 Bad Gateway

    503 Service Unavailable

    504 Server Time-out

    505 Version Not Supported

    5xx Server error, indicating the server failed to fulfill an valid request

    513 Message Too Large

    600 Busy Everywhere

    603 Decline

    604 Does Not Exist Anywhere

    6xx Global failure, the request cannot be fulfilled at any server

    606 Not Acceptable

    Both the request and the response messages contain SIP header fields and SIP message fields.

    SDP message fields are added into SIP messages.

    13.3 SIP Message Structure Both request and response messages consist of the following:

    z A start line The start line of a request message is a Request-Line, whereas that of a response message is a Status-Line.

    z One or more header fields Header fields include general-header, request-header, response-header, and entity-header. The header fields contain different parameters. General header fields

    Accept | Accept-Encoding | Accept-Langrage | Call-ID | Contact | Cseq | Date | Encryption | From | Record-Route | Require | Supported | Timestamp | To | User-Agent | ViaRequest header fields Authorization | Contact | Hide | Max-Forwards| Organization | Priority | Proxy-Authorization | Proxy-Require | Route | Require | Response-Key | Subject

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-8 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    Response header fields Proxy-Authenticate | Retry-After | Server | Unsupported | Warning | WWW-Authenticate

    Entity header fields Allow | Content-Encoding | Content-Length | Content-Type | Expires

    z An empty line indicating the end of the header fields z An optional message body

    A message body can use session description protocol (SDP) as the description format of a session. In addition, a message body can encapsulate ISDN user part (ISUP) messages.

    All SIP messages should contain the header field. The message body is optional, and whether to contain the message body is determined by the type of the SIP message and the service.

    13.3.1 Request Message Structure Figure 13-1 shows the structure of a SIP request message, consisting of a request line, message header, a message header, an empty line, and a message body. A carriage-return line-feed (CRLF) distinguishes each parameter line in the message header.

    Figure 13-1 Structure of a SIP request message

    Method Request-URI SIP-Version

    Call-ID: value

    From: value

    To: value

    Cseq: value

    Via: value

    Contact: value

    Content-Length: value

    Content-Type: value

    Max-Forwards: value

    .......

    CRLF

    SDP

    Statusline

    Messageheader

    Messagebody

    The Request-Line begins with a method token, followed by the Request-URI identifying the peer URI and the SIP-Version identifying the protocol version, and ending with a CRLF. Single space (SP) characters separate the elements.

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-9

    Methods contain the following request message names:

    z INVITE z ACK z OPTIONS z BYE z CANCEL z REGISTER

    The message header of a request message can be a general header, a request header, or an entity header. The order of message header parameters is not fixed. Each parameter consists of its name followed by a colon and a value. The value and colon are separated by a space.

    A message header ends with a CRLF, followed by a message body.

    Figure 13-1 only shows some parameters possibly contained in the message header of a request message.

    The following describes some common parameters in the message header of a request message.

    Call-ID This field uniquely identifies a SIP call.

    A single multimedia conference can give rise to several calls with different Call-IDs, for example, if a user invites a single individual several times to the same (long-running) conference. A user may also receive several INVITEs to the same conference or call with different Call-IDs. The user judges the repetition of the INVITEs by identifications in the session description, for example, session identifier and version number carried in the o (source) field in the SDP.

    Call-IDs have a generic format:

    Call-ID: localID@host

    "host" is a domain name defined globally or an IP address routable globally. The local ID is composed of unique URI characters in the scope of "host". Otherwise, the local ID must be a globally unique value to ensure the global uniqueness of Call-ID. Call-IDs are case-sensitive.

    Call-ID example:

    Call-Id: [email protected]

    "191.169.150.101" is the IP address of a host. "call-973636852-4" is a globally local ID.

    From Request and response messages must contain a From general-header field, indicating the initiator of a request message. A server copies the field from a request message to its response message. This field is generally in such a format as

    From: display-name ;tag=xxxx

    The "display-name" is characters rendered by a human-user interface. The system must use the display name "Anonymous" if the identity of the client is to remain hidden.

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-10 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    The "tag" may appear in the From field of a request message. The display-name is optional. tag is a string of hexadecimal numbers in which the hyphen - can be added. It must be present when two instances of a user sharing a SIP address make call invitations with the same Call-ID. The "tag" value must be globally unique. The user maintains the same tag throughout the call identified by the Call-ID.

    Example:

    From: ;tag=1c17691

    To This field specifies the logical recipient of a request message, with the same syntax as the From field. Request and response messages must contain a To general-header field.

    Examples:

    To:

    To: ;tag=62beb3ca

    Command sequence (Cseq) Clients must add the CSeq general-header field to every request message. A CSeq field in a request contains the request method and a decimal sequence number unique within a Call-ID.

    The initial value of a sequence number is arbitrary. Consecutive request messages that differ in request methods, headers, or bodies but have the same Call-ID must contain monotonically increasing and contiguous sequence numbers. Retransmissions of the same request message carry the same sequence number.

    A server copies the CSeq value from a request message to its response message.

    ACK and CANCEL request messages must contain the same CSeq value as that in the corresponding INVITE request message, whereas a BYE request message must have a higher sequence number.

    A server remembers the highest sequence number for any INVITE request message with the same Call-ID value. The server responds to, and then discards, any INVITE request message with a lower sequence number.

    Via This field is generally in such a format as

    Via:sent-protocol sent-by;via-params comment

    Where,

    sent-protocol=protocol-name / protocol-version / transport,via-params=via-hidden |

    via-ttl | via-maddr | via-received | via-branch.

    The Via field indicates the path taken by a request message so far. This prevents request looping and ensures response messages take the same path as its request messages, which assists in firewall traversal and other unusual routing situations.

    The client originating a request message must insert into the request message a Via field containing its host name or network address, and the port number at which it wishes to receive response messages if it does not use the default port number.

    In the process of sending a request onwards, each proxy server must add its own address as a new Via field before any existing Via fields.

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-11

    A proxy sending a request to a multicast address must add the "maddr" parameter to its Via field. If a server receives a request message containing an "maddr" parameter in the topmost Via field, the server will transfer the request message to the multicast address listed in the "maddr" parameter.

    Normally, every host that sends or forwards a SIP message adds a Via field indicating the path traversed. However, network address translators (NATs) may change the source address and port number of a request message. In this case, the Via field cannot be relied on to route response messages.

    To prevent this, a proxy server must check the top-most Via field. If the value of Via field mismatches the previous hop address seen from the proxy server, the proxy adds a "received" parameter to the Via field inserted by the previous hop. For example:

    Via:SIP/2.0/UDP CSOFTX3000.bell-telephone.com:5060

    Via:SIP/2.0/UDP 10.0.0.1:5060;received=191.169.12.30

    In this example, the message originates from 10.0.0.1 and traverses a NAT with the IP address 199.172.136.3 to reach the proxy server CSOFTX3000.bell-telephone.com. The proxy sever does the following:

    1. Notices the mismatch. 2. Adds a "received" parameter to the Via field of previous hop, containing the address that

    the packet actually came from. 3. Appends its own address at the top as a new Via field.

    A proxy server or a client processes the Via field in a response message according to the following rules:

    The first Via field should indicate the proxy or client processing this response message. If it does not, discard the message. Otherwise, delete this Via field.

    If there is no second Via field, this response message reaches its destination. Otherwise, the processing depends on whether the Via field contains a "maddr" or a "receiver" parameter:

    If the second Via field contains a "maddr" parameter, send the response message to the multicast address listed there, using the port indicated in "sent-by", or port 5060 if none is present. The TTL of the response message should be the value indicated in the "ttl" parameter. If that parameter is not present, set it to "1".

    If the second Via field contains a "received" but not a "maddr" parameter, send the message to the address indicated in the "received" parameter.

    If neither of the previous cases applies, send the message to the address indicated by the "sent-by" value in the second Via field.

    An example of the Via field is:

    Via: SIP/2.0/UDP 191.169.1.116:5061;ttl=16;maddr=191.169.10.20;branch=a7c6a8dlze

    Contact This field can appear in INVITE, ACK, and REGISTER request messages, and in 1xx, 2xx, and 3xx response messages. It provides a URL where a user can be reached for further communications.

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-12 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    INVITE and ACK request messages contain Contact fields indicating from which location a request message originates. This allows the called subscriber to send future request messages, such as BYE, directly to the caller rather than through a series of proxy servers.

    This field is generally in such a format as

    Contact:name-addr;q=value;action= proxy |

    redirect;expires=value;extension-attribute

    The "name-addr" form is the same as that in the To and From fields. The "q" value ranges from 0 to 1. Higher values indicate higher preference. The "action" parameter is only applicable to REGISTER request messages. It indicates whether a server expects future requests to the client for the server proxy or redirection service.

    If this parameter is not specified, the action taken depends on server configuration. The "expires" parameter indicates how long a uniform resource identifier (URI) is valid. This parameter can be a number indicating seconds or a quoted string containing a SIP-date. The "extension-attribute" is an extension name.

    An example of the Contact field is:

    Contact: ;q=0.7;expires=3600

    Max-Forwards This field limits the number of times for which a request message is allowed to be forwarded.

    Each proxy server or gateway recipient of a request message containing a Max-Forwards field must check and update the value of the field before forwarding the request. The initial value is 70. It is subtracted by 1 every time a request message traverses a proxy server or gateway.

    If the received value is zero (0) and the request message does not reach its destination address, the server returns 483 (too many hops) and terminates this request.

    The purpose of setting this field is to prevent consuming proxy server resources in the case of loop during message transfer.

    This field is generally in such a format as

    Max-Forwards: decimal integrals

    Allow This field lists the set of methods supported by proxy servers.

    An example of the Allow field is:

    Allow: INVITE, ACK, OPTIONS, CANCEL, BYE

    Content-Length This field indicates the size of a message-body, in decimal number of octets. Applications use this field to indicate the size of a message-body to be transferred.

    If TCP serves as the transport protocol, the message header must contain this field.

    An empty line separating a message header and a message body is beyond the scope of the Content-Length. Any Content-Length greater than or equal to zero is a valid value. If no body is present in a message, the Content-Length header field must be set to zero.

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-13

    This field is generally in such a format as

    Content-Length: decimal number of octets

    Content-Type This field indicates the media type of the message-body sent to the recipient. If the message-body is not null, it must contain the Content-Type field.

    An example of the Content-Type field is:

    Content-Type: application/sdp

    Expires This field gives the time after which the message content expires.

    13.3.2 Request Message Examples An example of SIP request message is:

    INVITE sip:[email protected] SIP/2.0

    From: ;tag=1ccb6df3

    To:

    CSeq: 1 INVITE

    Call-ID: 20973e49f7c52937fc6be224f9e52543@sx3000

    Via: SIP/2.0/UDP 191.169.1.116:5061;branch=z9hG4bkbc427dad6

    Contact:

    Max-Forwards:70

    Content-Length:230

    Content-Type: application/sdp

    v: 0

    o: HuaweiCSOFTX3000 1073741831 1073741831 IN IP4 191.169.1.116

    s: Sip Call

    c: IN IP4 191.169.1.95

    t: 0 0

    m: audio 30000 RTP/AVP 8 0 4 18

    a: rtpmap:8 PCMA/8000

    a: rtpmap 0 PCMU/8000

    a: rtpmap 4 G723/8000

    a: rtpmap 18 G729/8000

    The following details the example:

    z Line 1: Request-Line The Method is INVITE, followed by the Request-URI "sip:[email protected]" and SIP-Version "2.0".

    z Line 2: From field It indicates the address of the request initiator is "sip:[email protected]". "tag" is "1ccb6df3", differentiating the users who share a SIP address and make call invitations with the same Call-ID.

    z Line 3: To field It specifies the address of the request recipient is "sip:[email protected]".

    z Line 4: Cseq field

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-14 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    z Line 5: Call-ID field It is globally unique, identifying a specific invitation.

    z Line 6: Via field It indicates the path taken by the request. "SIP/2.0/UDP" specifies the sent protocol, in which "SIP" is the protocol name, "2.0" is the protocol version, and "UDP" is the transport layer. "191.169.1.116:5061" indicates that the CSOFTX3000 IP address of the sender is "191.169.1.116" and port number is "5061". "branch=z9hG4bkbc427dad6" is the "branch" parameter, identifying branches when the CSOFTX3000 distributes request messages concurrently.

    z Line 7: Contact field It indicates subsequent request messages such as BYE can be directly sent to "sip:[email protected]:5061" rather than through the Via field.

    z Line 8: Max-Forwards field It specifies that the maximum number of intermediate proxy servers or gateways that the request message is allowed to traverse is 70.

    z Line 9: Content-Length field It indicates the length of the message body.

    z Line 10: Content-Type field z It indicates the message contains a single message body SDP. z Line 11: an empty line

    It indicates that the message header ends and below is the message body described by the SDP.

    The following briefs the message body. For details, see SDP-related documents.

    v=

    o=

    s=

    c=

    t=

    m=

    a=rtpmap:

    13.3.3 Response Message Structure Figure 13-2 shows the structure of a SIP response message, consisting of:

    z A status line z A message header z An empty line z A message body

    A line feed character distinguishes each parameter line in the message header. Parameters vary with response messages.

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-15

    Figure 13-2 Structure of a SIP response message

    SIP-Version Status-Code

    Reason-Phrase

    Call-ID: value

    From: value

    To: value

    Cseq: value

    Via: value

    Contact: value

    Content-Length: value

    Content-Type: value

    Max-Forwards: value

    .......

    CRLF

    SDP

    Statusline

    Messageheader

    Messagebody

    A Status-Line consists of a SIP protocol version, a Status-Code, and its associated textual phrase (Reason-Phrase). The Status-Code is a 3-digit integer code that indicates the type of a request message. The Reason-Phrase gives a short textual description of the Status-Code.

    The Status-Code includes 1xx, 2xx, 3xx, 4xx, 5xx, and 6xx, respectively defining six types of SIP response messages. For full definitions, see section 13.2.2 "Response Messages".

    The parameters in the header of a response message are the same as those in a request message header. For details, see section 13.3.1 "Request Message Structure".

    13.3.4 Response Message Examples An example of SIP request message is as follows:

    SIP/2.0 180 Ringing

    From: ;tag=1ccb6df3

    To: ;tag=58877b85

    Cseq:1 INVITE

    Call-ID: 20973e49f7c52937fc6be224f9e52543@sx3000

    Via: SIP/2.0/UDP 191.169.1.116:5061;branch=z9hG4bkbc427dad6

    Contact:

    Content-Length:157

    Content-Type:application/sdp

    v=0

    o=HuaweiCSOFTX3000 1073741824 1073741824 IN IP4 191.169.1.110

    s=Sip Call

    c=IN IP4 191.169.1.135

    t=0 0

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-16 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    m=audio 30016 RTP/AVP 8

    a=rtpmap:8 PCMA/8000

    The 1st line: The SIP protocol. The protocol version is 2.0. The status code is 180. Ringing is a descriptive phrase, indicating to send the ringing tone to the called party.

    The 2nd and 3rd lines: See section 13.3.2 "Request Message Examples."

    The 4th line: This is a CSeq header field, used to correlate the INVITE request with the triggered responses and corresponding ACK and CANCLE requests. The CSeq header field in this response has the same meaning as that in the earlier described request. Both are 1 INVITE, indicating the response is trigger by the previous request.

    The 5th to 9th lines: See section 13.3.2 "Request Message Examples."

    For details about the description of the message body, see section 13.3.2 "Request Message Examples."

    13.4 SIPI 13.4.1 Introduction to SIPI

    The SIP with encapsulated ISUP (SIPI) is an extension of SIP. It is a set of mechanisms for encapsulating ISUP signaling within SIP. The purpose of SIPI is to provide better PSTN-SIP interconnection. There are three call models: PSTN-IP, IP-PSTN, and PSTN-IP-PSTN.

    In the CDMA2000 network, the CSOFTX3000 interworks with other CSOFTX3000s through SIPI to connect the call and control the bearer. For details about the SIPI signaling procedure, see section 13.5.2 "SIPI Signaling Procedure."

    SIPI adopts SIP message structures and flows. Two techniques, namely, encapsulation and mapping apply to SIPI.

    13.4.2 Encapsulation Encapsulation means that SIP message bodies contain ISUP messages, including two cases:

    z A SIP message does not carry SDP. ISUP messages are encapsulated within the SIP message body, which type is Application/ ISUP.

    z A SIP message that carries SDP contains multiple message bodies. The type of the message body with ISUP encapsulated in it is Application /ISUP.

    13.4.3 Mapping

    ISUP-SIP message mapping SIPI specifies the rules that govern the mapping between ISUP and SIP messages. For example, an IAM must be sent on receipt of an INVITE, a REL for BYE, and so on.

    A mapping between ISUP and SIP messages can be as follows:

    z IAM = INVITE z ACM = 180 RINGING z ANM = 200 OK

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-17

    z REL = BYE z RLC = 200 OK for BYE

    ISUP parameter-SIP header mapping A SIP request message that is used to set up a call contains information that enables the message to be correctly routed to its destination, for example, a called number. SIPI defines the procedure for mapping of information from ISUP to SIP. For example, the called number in an ISUP IAM must be mapped onto the SIP "To" header field.

    13.5 SIP Signaling Procedures 13.5.1 Flows of Mobile Originated Calls Through SIP Trunks

    The following describes the procedure of a mobile originated call (MOC) through the SIP trunks between CSOFTX3000 devices. Figure 13-3 shows the flowchart.

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-18 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    Figure 13-3 SIP flowchart of an MOC through SIP trunks

    BSS CSOFTX3000 CSOFTX3000

    CM_SERVICE_REQ

    ASS_REQ

    ASS_CMP

    INVITE

    100 Trying

    180 Ringing

    200 OK

    ACK

    CLEAR_REQ

    CLEAR_CMDBYE

    200 for BYECLEAR_CMP

    The procedure of a mobile originated call (MOC) through the SIP trunks between CSOFTX3000 devices is as follows:

    1. An ordinary mobile subscriber initiates a CM_SERVICE_REQ. 2. The CSOFTX3000 sends an ASS_REQ to the BSS. 3. The BSS returns an ASS_CMP. 4. After number analysis, the CSOFTX3000 finds that the outgoing office interacts with the

    ingoing office through SIP. At the time, the CSOFTX3000 sends the called office an INVITE containing the calling bearer information in the message body.

    5. The called office returns the CSOFTX3000 a 100 Trying, indicating that it receives the request message and message processing is in progress.

    6. The CSOFTX3000 receives a 180 Ringing. 7. If the called subscriber hooks off, the called office sends the local CSOFTX3000 a 200

    OK, containing the called bearer information in the message body.

  • HUAWEI CSOFTX3000 Signaling Protocols 13 SIP

    Issue 02 (2007-01-15) Huawei Technologies Proprietary 13-19

    8. After the MGW fulfils bearer setup under the control of the local CSOFTX3000, the local CSOFTX3000 sends the peer office an ACK, indicating setup of the signaling path.

    9. If the calling subscriber hooks on, the CSOFTX3000 receives a CLEAR_REQ. At the time, it sends a BYE to the called office and a CLEAR_CMD to the BSS at the calling side. On receipt of the BYE, the called office sends a 200 for BYE to CSOFTX3000. The BSS sends a CLEAR_CMP to confirm the completion of calling party disconnect.

    10. If the called subscriber hooks on, the called office sends a BYE to the local CSOFTX3000. On receipt of the BYE, the local CSOFTX3000 returns a 200 for BYE. Meanwhile, it sends a CLEAR_CMD to the BSS at the calling side. The BSS returns a CLEAR_CMP.

    13.5.2 SIPI Signaling Procedure The following illustrates the call flow of transparency across points of PSTN-SIP interconnection in terms of the PSTN-IP-PSTN call model. Figure 13-4 shows the flowchart.

    Figure 13-4 A successful SIPI procedure (PSTN-IP-PSTN)

    LS A CSOFTX3000 A CSOFTX3000 B LS B

    IAM

    ACM

    ANM

    INVITE

    100 TryingIAM

    ACM

    180 Ringing

    ANM

    200 OK

    ACK

    RELBYE

    REL

    RLC200 OK

    RLC

  • 13 SIP HUAWEI CSOFTX3000

    Signaling Protocols

    13-20 Huawei Technologies Proprietary Issue 02 (2007-01-15)

    The procedure for transparently transmitting the PSTN message through SIPI is as follows:

    1. A PSTN subscriber dials, LS A sends an IAM to CSOFTX3000 A. 2. CSOFTX3000 A preserves the received IAM in an INVITE message body that it sends

    to CSOFTX3000 B. 3. CSOFTX3000 B extracts the IAM from the INVITE and sends the IAM to LS B. 4. CSOFTX3000 B returns CSOFTX3000 A a 100 Trying, indicating that it receives the

    request message and message processing is in progress. 5. The called PSTN phone rings. Meanwhile, LS B sends an ACM to CSOFTX3000 B.

    CSOFTX3000 B preserves the received ACM in a 180 Ringing that sends to CSOFTX3000 A.

    6. CSOFTX3000 A extracts the ACM from the received 180 Ringing and forwards the ACM to LS A. LS A receives the ACM. The calling PSTN subscriber hears ring back tones.

    7. If the called PSTN subscriber hooks off, LS B sends an ANM to CSOFTX3000 B. CSOFTX3000 B preserves the received ANM in a 200 OK that it sends to CSOFTX3000 A.

    8. CSOFTX3000 A extracts the ANM from the received 200 OK and forwards the ANM to LS A.

    9. CSOFTX3000 A sends an ACK to CSOFTX3000 B, acknowledging receipt of the final message from CSOFTX3000 B in response to the INVITE.

    10. At this time, both parties can communicate through an established bidirectional signaling path.

    11. If the calling PSTN subscriber hooks on, LS A sends a REL to CSOFTX3000 A. CSOFTX3000 A preserves the received REL in a BYE message body that it sends to CSOFTX3000 B.

    12. CSOFTX3000 B extracts the REL from the received BYE and forwards the REL to LS B.

    13. On receipt of the REL, LS B sends busy tones to the called PSTN subscriber. If the calling PSTN subscriber hooks on, LS B sends a RLC to CSOFTX3000 B.

    14. CSOFTX3000 B preserves the received RLC in a 200 OK message body that it sends to CSOFTX3000 A.

    15. CSOFTX3000 A extracts the RLC from the received 200 OK and forwards the RLC to LS A.

    ContentsFiguresTables13 SIPAbout This Chapter13.1 Description of SIP13.1.1 Related Terms13.1.2 SIP Addressing

    13.2 SIP Message Types13.2.1 Request Messages13.2.2 Response Messages

    13.3 SIP Message Structure13.3.1 Request Message Structure13.3.2 Request Message Examples13.3.3 Response Message Structure13.3.4 Response Message Examples

    13.4 SIPI13.4.1 Introduction to SIPI13.4.2 Encapsulation13.4.3 Mapping

    13.5 SIP Signaling Procedures13.5.1 Flows of Mobile Originated Calls Through SIP Trunks13.5.2 SIPI Signaling Procedure