📄 rfc3372.txt
字号:
1. The originators of SIP signaling 2. The terminators of SIP signaling 3. The intermediaries that route SIP requests from the originator to the terminator Behavior for the Section 4.1, Section 4.2 and Section 4.3 intermediary roles in a SIP-T call are described in the following sections.4.1 Originator The function of the originating user agent client is to generate the SIP Call setup requests (i.e., INVITEs). When a call originates in the PSTN, a gateway is the UAC; otherwise some native SIP endpoint is the UAC. In either case, note that the originator generally cannot anticipate what sort of entity the terminator will be, i.e., whether final destination of the request is in a SIP network or the PSTN.Vemuri & Peterson Best Current Practice [Page 12]RFC 3372 SIP-T September 2002 In the case of calls originating in the PSTN (see Figure 3 and Figure 5), the originating gateway takes the necessary steps to preserve the ISUP information by encapsulating it in the SIP request it creates. The originating gateway is entrusted with the responsibility of identifying the version of the ISUP (ETSI, ANSI, etc.) that it has received and providing this information in the encapsulated ISUP (usually by adding a multipart MIME body with appropriate MIME headers). It then formulates the headers of the SIP INVITE request from the parameters of the ISUP that it has received from the PSTN as appropriate (see Section 5). This might, for instance, entail setting the 'To:' header field in the INVITE to the reflect dialed number (Called Party Number) of the received ISUP IAM. In other cases (like Figure 7), a SIP phone is the originator of a VoIP call. Usually, the SIP phone sends requests to a SIP proxy that is responsible for routing the request to an appropriate destination. There is no ISUP to encapsulate at the user agent client, as there is no PSTN interface. Although the call may terminate in the telephone network and need to signal ISUP in order for that to take place, the originator has no way to anticipate this and it would be foolhardy to require that all SIP VoIP user agents have the capability to generate ISUP. It is therefore not the responsibility of an IP endpoints like a SIP phone to generate encapsulated ISUP. Thus, an originator must generate the SIP signaling while performing ISUP encapsulation and translation when possible (meaning when the call has originated in the PSTN). Originator requirements: encapsulate ISUP, translate information from ISUP to SIP, multipart MIME support (for gateways only)4.2 Terminator The SIP-T terminator is a consumer of the SIP calls. The terminator is a standard SIP UA that can be either a gateway that interworks with the PSTN or a SIP phone.Vemuri & Peterson Best Current Practice [Page 13]RFC 3372 SIP-T September 2002 In case of PSTN terminations (see Figure 3 and Figure 7) the egress gateway terminates the call to its PSTN interface. The terminator generates the ISUP appropriate for signaling to the PSTN from the incoming SIP message. Values for certain ISUP parameters may be gleaned from the SIP headers or extracted directly from an encapsulated ISUP body. Generally speaking, a gateway uses any encapsulated ISUP as a template for the message it will send, but it overwrites parameter values in the template as it translates SIP headers or adds any parameter values that reflect its local policies (see Appendix A item 1). In case of an IP termination (Figure 5), the SIP UAS that receives SIP messages with encapsulated ISUP typically disregards the ISUP message. This does introduce a general requirement, however, that devices like SIP phones handle multipart MIME messages and unknown MIME types gracefully (this is a baseline SIP requirement, but also a place where vendors have been known to make shortcuts). Terminator requirements: standard SIP processing, interpretation of encapsulated ISUP (for gateways only), support for multipart MIME, graceful handling of unknown MIME content (for non-gateways only)4.3 Intermediary Intermediaries like proxy servers are entrusted with the task of routing messages to one another, as well as gateways and SIP phones. Each proxy server makes a forwarding decision for a SIP request based on values of various headers, or 'routable elements' (including the Request-URI, route headers, and potentially many other elements of a SIP request). SIP-T does introduce some additional considerations for forwarding a request that could lead to new features and requirements for intermediaries. Feature transparency of ISUP is central to the notion of SIP-T. Compatibility between the ISUP variants of the originating and terminating PSTN interfaces automatically leads to feature transparency. Thus, proxy servers might take an interest in the variants of ISUP that are encapsulated with requests - the variant itself could become a routable element. The termination of a call at a point that results in greater proximity to the final destination (rate considerations) is also an important consideration. The preference of one over the other results in a trade-off between simplicity of operation and cost. The requirement of procuring a reasonable rate may dictate that a SIP-T call spans dissimilar PSTN interfaces (SIP bridging across different gateways that don't support any ISUP variants in common). In order to optimize for maximum feature transparency and rate, some operators of intermediaries might want to consider practices along the following lines:Vemuri & Peterson Best Current Practice [Page 14]RFC 3372 SIP-T September 2002 a) The need for ISUP feature transparency may necessitate ISUP variant translation (conversion), i.e., conversion from one variant of ISUP to another in order to facilitate the termination of that call over a gateway interface that does not support the ISUP variant of the originating PSTN interface. (See Appendix A item 2.) Although in theory conversion may be performed at any point in the path of the request, it is optimal to perform it at a point that is at the greatest proximity to the terminating gateway. This could be accomplished by delivering the call to an application that might perform the conversion between variants. Feature transparency in this case is contingent on the availability of resources to perform ISUP conversion, and it incurs an increase in the call-set up time. b) An alternative would be to sacrifice ISUP transparency by handing the call off to a gateway that does not support the version of the originating ISUP. The terminating MGC would then just ignore the encapsulated ISUP and use the information in the SIP header to terminate the call. So, it may be desirable for proxy servers to have the intelligence to make a judicious choice given the options available to it. Proxy requirements: ability to route based on choice of routable elements4.4 Behavioral Requirements Summary If the SIP-T originator is a gateway that received an ISUP request, it must always perform both encapsulation and translation ISUP, regardless of where the originator might guess that the request will terminate. If the terminator does not understand ISUP, it ignores it while performing standard SIP processing. If the terminator does understand ISUP, and needs to signal to the PSTN, it should reuse the encapsulated ISUP if it understands the variant. The terminator should perform the following steps: o Extract the ISUP from the message body, and use this ISUP as a message template. Note that if there is no encapsulated ISUP in the message, the gateway should use a canonical template for the message type in question (a pre-populated ISUP message configured in the gateway) instead.Vemuri & Peterson Best Current Practice [Page 15]RFC 3372 SIP-T September 2002 o Translate the headers of the SIP request into ISUP parameters, overwriting any values in the message template. o Apply any local policies in populating parameters. An intermediary must be able to route a call based on the choice of routable elements in the SIP headers.5. Components of the SIP-T Protocol The mechanisms described in the following sections are the components of SIP-T that provide the protocol functions entailed by the requirements.5.1 Core SIP SIP-T uses the methods and procedures of SIP as defined by RFC 3261.5.2 Encapsulation Encapsulation of the PSTN signaling is one of the major requirements of SIP-T. SIP-T uses multipart MIME bodies to enable SIP messages to contain multiple payloads (Session Description Protocol or SDP [5], ISUP, etc.). Numerous ISUP variants are in existence today; the ISUP MIME type enable recipients too recognize the ISUP type (and thus determine whether or not they support the variant) in the most expeditious possible manner. One scheme for performing ISUP encapsulation using multi-part MIME has been described in [2].5.3 Translation Translation encompasses all aspects of signaling protocol conversion between SIP and ISUP. There are essentially two components to the problem of translation: 1. ISUP SIP message mapping: This describes a mapping between ISUP and SIP at the message level. In SIP-T deployments gateways are entrusted with the task of generating a specific ISUP message for each SIP message received and vice versa. It is necessary to specify the rules that govern the mapping between ISUP and SIP messages (i.e., what ISUP messages is sent when a particular SIP message is received: an IAM must be sent on receipt of an INVITE, a REL for BYE, and so on). A potential mapping between ISUP and SIP messages has been described in [10].Vemuri & Peterson Best Current Practice [Page 16]RFC 3372 SIP-T September 2002 2. ISUP parameter-SIP header mapping: A SIP request that is used to set up a telephone call should contain information that enables it to be appropriately routed to its destination by proxy servers in the SIP network - for example, the telephone number dialed by the originating user. It is important to standardize a set of practices that defines the procedure for translation of information from ISUP to SIP (for example, the Called Party Number in an ISUP IAM must be mapped onto the SIP 'To' header field and Request-URI, etc.). This issue becomes inherently more complicated by virtue of the fact that the headers of a SIP request (especially an INVITE) may be transformed by intermediaries, and that consequently, the SIP headers and encapsulated ISUP bodies come to express conflicting values - effectively, a part of the encapsulated ISUP may be rendered irrelevant and obsolete.5.4 Support for mid-call signaling Pure SIP does not have any provision for carrying any mid-call control information that is generated during a session. The INFO [3] method should be used for this purpose. Note however that INFO is not suitable for managing overlap dialing (for one way of implementing overlap dialing see [11]). Also note that the use of INFO for signaling mid-call DTMF signals is not recommended (see RFC2833 [9] for a recommended mechanism).6. SIP Content Negotiation The originator of a SIP-T request might package both SDP and ISUP elements into the same SIP message by using the MIME multipart format. Traditionally in SIP, if the terminating device does not support a multipart payload (multipart/mixed) and/or the ISUP MIME type, it would then reject the SIP request with a 415 Unsupported Media Type specifying the media types it supports (by default, 'application/SDP'). The originator would subsequently have to re- send the SIP request after stripping out the ISUP payload (i.e. with only the SDP payload) and this would then be accepted. This is a rather cumbersome flow, and it is thus highly desirable to have a mechanism by which the originator could signify which bodies are required and which are optional so that the terminator can silently discard optional bodies that it does not understand (allowing a SIP phone to ignore an ISUP payload when processing ISUP is not critical). This is contingent upon the terminator having support for a Content-type of multipart/mixed and access to the Content-Disposition header to express criticality.Vemuri & Peterson Best Current Practice [Page 17]RFC 3372 SIP-T September 2002 1. Support for ISUP is optional. Therefore, UA2 accepts the INVITE irrespective of whether it can process the ISUP. UA1 UA2 INVITE--> (Content-type:multipart/mixed; Content-type: application/sdp; Content-disposition: session; handling=required; Content-type: application/isup; Content-disposition: signal; handling=optional;)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -