Rfc3261 Chinese translation [version D]
Parallel search: Parallel search. In parallel search, a proxy server sends multiple requests to a possible user location to receive the request response. Serial search: waits for the final response of the previous request before sending the next request. Different from serial search, parallel search sends multiple requests without waiting for the results of previous requests.
Provisional response: temporary response. The server is used to indicate the progress of the response, but does not end the SIP transaction. The 1xx response is a temporary response, and other responses are the final response.
Proxy, proxy server: proxy server. A proxy server is an intermediate entity that generates requests on behalf of other customers and simultaneously has server and customer behavior. The proxy server is mainly used for routing, which means that the request is sent to another entity closest to the target user. Proxy is also good for forcible policies (for example, to ensure that the user is allowed to call ). Before forwarding a request message, the proxy server will explain the request message. If necessary, it will rewrite its special part.
Recursion: recursion. When a customer generates a new request and sends it to one or more of the contact header field URIs in the response, the 3xx response is recursive.
Redirect server: Redirection server. The redirection server is the user Proxy Server (UAs) that generates a 3xx response for the request it receives, and instructs the customer to contact the redirected Uri.
Registrar: register the server. The registration Server accepts the register request and sends the information in the request to the location server of the domain it controls.
Regular Transaction: a regular transaction. Any transaction with the invite, ack, or cancel method is a regular transaction.
Request: request. From the customer's SIP message sent to the server, in order to call key operations.
Response: response. The SIP message sent from the slave server to the customer. to indicate the status of the request sent from the slave server to the server.
Ringback: Return tone. The return tone is a signal generated by the calling application, used to indicate that the call has received the notification.
Route Set: Route Set. A route set is a set of ordered Sip/SIPs Uris, that is, the list of proxy servers that pass through when a special request is sent. A route set can be learned by using a field similar to the record-Route Header or configured.
Server: Server. A server is a network entity that receives requests. It provides services based on the requests and returns responses to these requests. For example, servers include proxy servers, user proxy servers, redirection servers, and registration servers.
Sequential search: Serial search. In serial search, the proxy server tries each contact address in sequence and processes the next one only after receiving the final response from the previous operation. The final response at 2XX or 6xx level always ends the serial search.
Session: Session. According to the SDP specification, "a multimedia session is composed of a data stream between the sender and receiver of a Multimedia Program and the receiver. Multimedia Conferencing is an example of multimedia sessions ." (RFC 2327 [1]) (a session defined by SDP can consist of one or more RTP sessions .) As a definition, the called object can be invited multiple times by different calls in the same session. If SDP is used, the session is defined jointly by the user name, session ID, network type, address type, and address entity in the source domain.
SIP transaction: a sip transaction. The SIP transaction occurs between the customer and the server, from the first request sent by the customer to the final response (not 1xx) sent by the server to the customer. If it is an invite request and the final response is a non-2XX response, the transaction also includes the response ack. The ack for the 2XX response of the invite request is a special transaction.
Spiral: maneuver. The maneuver is the SIP request routed to a proxy server, which is passed forward and then reached the proxy server again. However, this time it will lead to different processing decisions than the original request. In particular, this means that the request-Uri of the request is different from the previous one. It's not like a loop. A typical reason for maneuver is call transfer. A user calls joe@example.com. The example.com proxy server routes requests to Joe's PC and finds that Joe has set the call to be transferred to the bob@example.com. Therefore, this request is routed back to the example.com proxy server. However, this is not a loop, because the target users of the request are different, which is considered as a maneuver and a valid situation.
Stateful Proxy: a stateful proxy server. The transaction status proxy server is the logical entity that maintains the client and server transaction state machine defined during request processing in this standard document (description. The behavior details of a stateful Proxy Server are described in chapter 16th. (Transaction) the stateful proxy server and the call status Proxy Server are not the same.
Stateless Proxy: stateless proxy server. The stateless proxy server does not maintain the logical entity of the client or server transaction state machine defined in this standard document (description) when processing requests. The stateless Proxy Server forwards each request it receives from the bottom and each response received from the top.
Strict routing: strict routing. If the proxy server complies with the rfc2543 and the routing rules in the latest RFC version, we call this proxy server a strict route. When the Routing header field is the current Uri, strict routing may cause the proxy server to damage the request-URI content. In this case, strict routing is not used. We recommend that you use loose routing. A proxy with strict routing is also called a strict router.
Target refresh request: Target refresh request. The target refresh request is sent in the dialog and is responsible for changing the remote target in the dialog.
Transaction user (TU): Transaction user. The transaction user is located on the Transaction layer and is responsible for protocol processing, including the UAC core, UAS core, and proxy core ).
Upstream: upstream stream. Upstream refers to the flow of response messages from the user proxy server to the user proxy client in a transaction.
URL-encoded: URL-encoding. A string encoded according to the format specified in section 5 [5] of rfc2396.
User Agent client (UAC): a user agent. UAC is a logical entity used to create a request and send the request using the client transaction state machine. The role of UAC is only maintained throughout the transaction period. In other words, if a part of a software initializes a request, it plays the UAC only throughout the transaction processing the request. Then, when a request is received, it is converted into a user proxy server for transaction processing.
UAC core: the Core of the customer agent. A collection of processing functions required by UAC, located on the transport layer.
User Agent Server (UAs): User proxy server. UAs is a logical entity that generates a response to a SIP request. The response can accept, reject, or redirect the SIP request. The role of UAs is only maintained throughout the transaction period. In other words, if a part of a software responds to a request, it acts as a UAS only during the whole period of the transaction that processes the request. Then, when it generates a request, it is converted into a user agent to process the transaction.
UAS core: the Core of the user proxy server. A collection of processing functions required by UAS, located on the transport layer.
User Agent (UA): User Agent. A logical entity provides both the user agent client function and the user agent server function.
Like proxy and redirection server, UAC and UAS are defined based on serial transactions. For example, when the user agent sends an initial invite request, it acts as a UAC before initiating a call, and when receiving a bye request from the called, it acts as a UAS. Similarly, the same software can be both a request proxy server and a redirection server for another request. The proxy server, locating server, and registration server defined above are both logical entities. When implemented, they can be combined in an application.
Original Intention:
The SIP protocol is one of the core protocols in the 3G era. China has its own SIP standard. I sincerely hope that more people will study the SIP Protocol to make China a leader in this direction, I also hope that I can contribute a little to this.
There is very little Chinese Information on the SIP network. I am still a technician with poor English skills. To help more people understand the SIP protocol and study the SIP protocol, I have such a bold idea.
The original text of this translation is rfc3261. Due to my English proficiency, I use literal translation for the document. Of course, I have a personal understanding between the lines. please correct me for any improper content. In addition, the source must be reprinted. Please do not use it for commercial use.
-- Dandan
Chinese translation of the initial sip Session Protocol (2) [5-6]
5. Protocol Structure
SIP is a layered protocol, which means it will describe its behavior through several relatively independent processing layers, and the layers adopt loose coupling (communication ). The Protocol behavior is described in layers to make the expression (clear and accurate), that is, in a separate part, you can describe the function by using the SIP entity that involves this function. The SIP protocol does not specify its implementation in any way. When we say that an object contains a layer, we mean that it is subject to a set of rules defined by this layer.
In the Protocol, not every sip entity is indicated to contain each layer. In addition, the entity defined by the SIP is logical, not physical. Physical devices can act as different logical entities, especially those based on serial transactions.
The lowest layer of SIP is the syntax encoding layer. It uses Extended Backus-Naur syntax (BNF paradigm) for encoding. The complete BNF paradigm is defined in Chapter 25th; the SIP Message structure is outlined in chapter 7th.
The second layer is the transport layer (the lowest layer is regarded as the first layer ). It defines how the client sends requests and receives responses over the network, and how the server receives and sends responses. All sip Entities contain the Transaction layer. The transaction layer is described in Chapter 18th.
The third layer is the Transaction layer. Transaction is a basic component of SIP. A transaction is a request sent from a client transaction (through the transport layer) to a server transaction, together with all responses to the request sent from a server transaction to the client. The transaction layer processes relay at the application layer, and responds to request matching and application layer timeout settings. Any task completed by the user agent client (UAC) is implemented through a series of transactions. We will discuss the transaction in Chapter 17th. The user agent and the stateful proxy server contain the Transaction layer. The stateless proxy server does not contain the Transaction layer. The transaction layer has client components (called client transactions) and server-side components (called server-side transactions). Each component maintains a finite state automatic machine that processes specific requests.
Above the Transaction layer is the Transaction user (TU) layer. Each sip entity, except the stateless proxy server, is a Transaction user. When the TU wants to send a request, it creates a client transaction instance and sends the request through the destination IP address, port, and transport device.
A transaction user can create or cancel a client transaction. When a customer cancels a transaction, it will request the server to stop further processing, roll back to the status that existed before the transaction initialization, and generate a specific error response for the transaction. This operation is completed through the cancel request. The request has its own transaction, but involves the canceled transaction (Chapter 1 ).
SIP entity, that is, the user agent client and server, stateless and stateful proxy server and registration server, contains the core that distinguishes it from other entities. Except for the stateless proxy server, the core of other entities is the Transaction user. Although the core behavior of UAC and UAS depends on the method, all methods share some common rules (Chapter 1 ). For UAC, these rules are responsible for request construction; For UAS, these rules are responsible for request processing and response generation. Because registration plays an important role in SIP, the UAS responsible for processing register has a special name-register. Chapter 2 describes the UAC and UAS core behaviors in the register method. Chapter 11th describes the UAC and UAS core behaviors in the options method. The options method is used to determine the UA performance.
Some other requests are sent in the dialog. A conversation is a point-to-point sip relationship between two user proxies that lasts for a period of time. Dialog makes it easier to sort messages between proxies and to route requests appropriately. The invite method is the only way to establish a dialog defined in the document. When a UAC sends a request in the dialog context, it complies with the general UAC rules discussed in chapter 8th and the rules for temporary dialog requests. Chapter 2 discusses the dialog and introduces its construction and maintenance. In addition, it also describes the construction of the request involved in the dialog.
The most important method in SIP is the invite method, which is used to establish a session between two participants. A session is composed of a media stream between the participants and the media streams for communication purposes. Chapter 2 discusses how to initialize sessions through one or more sip sessions. Chapter 2 discusses how to modify the attributes of a session by using an invite request. Chapter 4 describes how to terminate a session.
Chapter 8th, 10, 11, 12, 13, 14, and 15 describes the UA core (Chapter 9th describes cancellation, applicable to UA core and proxy server core ). Chapter 2 discusses the proxy server entity, which is easier to Route packets between proxies.
6. Glossary
The following terms have special significance for the SIP protocol.
Address-of-record: Address Record. An address record (AOR) is a sip or sips uri pointing to a domain with a location service, the locating service can map this URI to another available uri (the physical address of the user ). Typically, the positioning service is implemented through registration (mechanism. An AOR is often regarded as a public address of the user.
Back-to-Back User Agent: Back-to-Back User Agent. A back-to-back user proxy (b2bua) is a logical entity that receives a request and acts as a user Proxy Server (UAs) to process the request. To determine how to respond to a request, it will also act as a user proxy client (UAC) and generate a request. Unlike a proxy server, b2bua needs to maintain the dialog State and must participate in the sending of all requests in the dialogue it creates. Because it is a series of UAC and UAS, you do not need to define its behavior.
Call: Call. Call is an informal term used to indicate point-to-point communication and is usually used to establish multimedia sessions.
Call leg: A sub-call. Dialog alias [31]; not used in this document.
Call stateful: a stateful call. If a proxy server maintains the dialog state from invite request initialization to bye request termination, the proxy server is called a stateful call. A stateful call Proxy Server Always processes stateful transactions, but it is not necessarily correct if it is reversed.
Client: customer. A customer is any network entity that can send SIP requests and receive sip responses. Customers can or cannot directly work with human users. Both the user agent client and the proxy server are customers.
Conference: meeting. Multi-party multimedia sessions (see below ).
Core: core. The core points out the specific functions of the special type of SIP entity, that is, whether it is a stateful or stateless proxy server, user proxy or register. Except for stateless proxy servers, all core services are transaction users.
Dialog: dialog. A dialog is a point-to-point sip relationship between two user proxies for a period of time. A dialog is created through a SIP Message, such as the 2XX response of an invite request. Call ID, local tag, and remote tag jointly determine a conversation. In rfc2543, a dialog is equivalent to a sub-call leg ).
Downstream: downstream. Downstream is the direction of message transmission in the transaction, specifically the direction in which requests flow from UAC to UAS.
Final response: the final response. The final response ends a SIP transaction, which is opposite to the temporary response. All 2XX, 3xx, 4xx, 5xx, and 6xx responses are final responses.
Header: header. The header is an integral part of a SIP message and transmits information related to the message. It is built from a series of header fields.
Header field: the header field. The header field is the component of the SIP header. The header domain can be one or more header domain rows. The header line consists of a header domain name and zero-to-maximum header Domain value. In a given header domain line, multiple header domain values are separated by commas. Some header fields can only have a separate header field value, and therefore always appear in a separate header field row.
Header field value: the value of the header field. The header field value is a single value. The header field consists of 0 or multiple header field values.
Home domain: local domain. This domain provides services to sip users. Typically, this domain appears in the URI of the registered address record.
Informational response: Report the response. The same as the temporary response.
Initiator, calling party, Caller: caller. The caller initiates a session (DIALOG) through an invite request ). From when it sends an initial invite to establish a conversation until it ends, the caller must keep the task.
Invitation: invitation. An invite request.
Invitee, invited user, called party, callee: called. The called receives an invite request to create a new session. From when it receives an invite request until it terminates the conversation established by invite, the called party will keep the task.
Location service: locate the service. The locating Service uses the SIP redirection server or proxy server to obtain the available location information of the called address. It contains an address record binding table and is associated with 0 or more contact addresses. This binding can be created or removed in many ways; the register method is defined in this specification to update the binding.
Loop: loop. A loop refers to a request sent to a proxy server before it is transmitted back to the same proxy server. When it arrives for the second time, its request-Uri is the same as the first time, and other header fields that affect proxy server operations have not changed, therefore, the proxy server will take the same decision as its first time to process the request. Requests that cause loops are incorrect. The Protocol describes how to detect and control this error request.
Loose routing: loose routing. If the proxy server complies with the procedures defined in this standard to process the Route Header domain, the proxy server is loosely routed. This program separates the request destination (request-Uri appears) from the route set of the proxy server along the route (Route Header domain appears. Proxy servers that adapt to this mechanism are also called loose routing.
Message: Message. Data sent between two sip entities as part of the Protocol. A sip message can be either a request or a response.
Method: method. The method is a special function that the server requests to call. The method is carried by the request message itself. For example, the invite and bye methods.
Outbound Proxy: the outbound proxy server. The proxy server receives the request from the client, even if it may not be the server determined by the request-Uri. In addition, a user agent can manually configure the exit proxy server, or learn through the automatic configuration protocol (the required exit Proxy Server ).
This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/dandan0328/archive/2008/07/10/2633384.aspx