Network Working Group A. Johnston, Ed. Request for Comments: 5359 Avaya BCP: 144 R. Sparks Category: Best Current Practice Tekelec C. Cunningham S. Donovan Cisco Systems K. Summers Sonus October 2008
Network Working Group A. Johnston, Ed. Request for Comments: 5359 Avaya BCP: 144 R. Sparks Category: Best Current Practice Tekelec C. Cunningham S. Donovan Cisco Systems K. Summers Sonus October 2008
Session Initiation Protocol Service Examples
会话启动协议服务示例
Status of This Memo
关于下段备忘
This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited.
本文件规定了互联网社区的最佳现行做法,并要求进行讨论和提出改进建议。本备忘录的分发不受限制。
Abstract
摘要
This document gives examples of Session Initiation Protocol (SIP) services. This covers most features offered in so-called IP Centrex offerings from local exchange carriers and PBX (Private Branch Exchange) features. Most of the services shown in this document are implemented in the SIP user agents, although some require the assistance of a SIP proxy. Some require some extensions to SIP including the REFER, SUBSCRIBE, and NOTIFY methods and the Replaces and Join header fields. These features are not intended to be an exhaustive set, but rather show implementations of common features likely to be implemented on SIP IP telephones in a business environment.
本文档给出了会话启动协议(SIP)服务的示例。这涵盖了本地交换运营商提供的所谓IP Centrex产品中的大多数功能和PBX(专用分支交换)功能。本文档中显示的大多数服务都是在SIP用户代理中实现的,尽管有些服务需要SIP代理的帮助。有些需要对SIP进行一些扩展,包括refere、SUBSCRIBE和NOTIFY方法以及Replaces和Join头字段。这些特性并不是详尽无遗的集合,而是展示了可能在业务环境中的SIP IP电话上实现的常见特性的实现。
Table of Contents
目录
1. Overview ........................................................3 1.1. Legend for Message Flows ...................................4 2. Service Examples ................................................6 2.1. Call Hold ..................................................6 2.2. Consultation Hold .........................................19 2.3. Music on Hold .............................................38 2.4. Transfer - Unattended .....................................50 2.5. Transfer - Attended .......................................58 2.6. Transfer - Instant Messaging ..............................71 2.7. Call Forwarding Unconditional .............................77 2.8. Call Forwarding - Busy ....................................84 2.9. Call Forwarding - No Answer ...............................92 2.10. 3-Way Conference - Third Party Is Added .................101 2.11. 3-Way Conference - Third Party Joins ....................107 2.12. Find-Me .................................................113 2.13. Call Management (Incoming Call Screening) ...............125 2.14. Call Management (Outgoing Call Screening) ...............132 2.15. Call Park ...............................................135 2.16. Call Pickup .............................................147 2.17. Automatic Redial ........................................154 2.18. Click to Dial ...........................................163 3. Security Considerations .......................................166 4. Acknowledgements ..............................................166 5. References ....................................................167 5.1. Normative References .....................................167 5.2. Informative References ...................................168
1. Overview ........................................................3 1.1. Legend for Message Flows ...................................4 2. Service Examples ................................................6 2.1. Call Hold ..................................................6 2.2. Consultation Hold .........................................19 2.3. Music on Hold .............................................38 2.4. Transfer - Unattended .....................................50 2.5. Transfer - Attended .......................................58 2.6. Transfer - Instant Messaging ..............................71 2.7. Call Forwarding Unconditional .............................77 2.8. Call Forwarding - Busy ....................................84 2.9. Call Forwarding - No Answer ...............................92 2.10. 3-Way Conference - Third Party Is Added .................101 2.11. 3-Way Conference - Third Party Joins ....................107 2.12. Find-Me .................................................113 2.13. Call Management (Incoming Call Screening) ...............125 2.14. Call Management (Outgoing Call Screening) ...............132 2.15. Call Park ...............................................135 2.16. Call Pickup .............................................147 2.17. Automatic Redial ........................................154 2.18. Click to Dial ...........................................163 3. Security Considerations .......................................166 4. Acknowledgements ..............................................166 5. References ....................................................167 5.1. Normative References .....................................167 5.2. Informative References ...................................168
This document provides example call flows detailing a SIP implementation of the following traditional telephony services:
本文档提供了示例呼叫流,详细说明了以下传统电话服务的SIP实现:
Call Hold 3-Way Conference Consultation Hold Find-Me Music on Hold Incoming Call Screening Unattended Transfer Outgoing Call Screening Attended Transfer Call Park Instant Messaging Transfer Call Pickup Unconditional Call Forwarding Automatic Redial Call Forwarding on Busy Click to Dial Call Forwarding on No Answer
呼叫保持三方会议咨询保持通话找我音乐保持接听来电屏蔽无人值守转接拨出来电屏蔽有人值守转接呼叫停车场即时消息转接呼叫接听无条件呼叫转接自动重拨呼叫转接忙时单击拨号呼叫转接无应答
Note that the Single Line Extension call flow has been removed from this document and will be covered in a separate document.
请注意,单行分机呼叫流程已从本文档中删除,并将在单独的文档中介绍。
The call flows shown in this document were developed in the design of a SIP IP communications network. They represent an example set of so-called IP Centrex services or PBX services.
本文档中显示的呼叫流是在SIP IP通信网络的设计中开发的。它们代表了所谓的IP Centrex服务或PBX服务的示例集。
It is the hope of the authors that this document will be useful for SIP implementers, designers, and protocol researchers alike and will help further the goal of a standard implementation of RFC 3261 [RFC3261] and some of its extensions.
作者希望本文档对SIP实施者、设计者和协议研究人员都有用,并有助于进一步实现RFC 3261[RFC3261]及其一些扩展的标准实现目标。
These flows represent carefully checked and working group reviewed scenarios of SIP service examples as a companion to the specifications.
这些流程代表了经过仔细检查和工作组审查的SIP服务示例场景,作为规范的配套。
These call flows are based on the current version 2.0 of SIP in RFC 3261 [RFC3261] with Session Description Protocol (SDP) usage described in RFC 3264 [RFC3264]. Other RFCs also form part of the SIP standard and are used and referenced in these call flows.
这些调用流基于RFC 3261[RFC3261]中当前版本2.0的SIP,会话描述协议(SDP)的用法在RFC 3264[RFC3264]中有描述。其他RFC也构成SIP标准的一部分,并在这些调用流中使用和引用。
The SIP specification and the other referenced documents are definitive as far as protocol issues are concerned. Also, these flows do not represent the only way to implement these services -- other approaches such as 3pcc (Third Party Call Control) [RFC3725] or Back-to-Back User Agents (B2BUAs) can be used. This specification does not preclude these or other approaches for implementing such services. The peer-to-peer design and principles of these service examples are described in the Multiparty Framework document [FRAMEWORK].
就协议问题而言,SIP规范和其他参考文件是确定的。此外,这些流并不代表实现这些服务的唯一方法——可以使用其他方法,如3pcc(第三方呼叫控制)[RFC3725]或背靠背用户代理(B2BUA)。本规范不排除这些或其他实现此类服务的方法。多方框架文档[Framework]中描述了这些服务示例的对等设计和原理。
These flows assume the functionality described in the SIP Call Flow Examples document [RFC3665], which explores basic SIP behavior. Some of the scenarios described herein make use of the SIP method extension REFER [RFC3515], the SIP header extension Replaces [RFC3891], and the SIP header extension Join [RFC3911]. The SIP Events document [RFC3265] describes the use of SUBSCRIBE and NOTIFY, while the SIP Dialog Event Package document [RFC4235] describes the dialog event package. Some examples make use of the GRUU (Globally Routable User Agent URI) extension [GRUU].
这些流采用SIP调用流示例文档[RFC3665]中描述的功能,该文档探讨了基本SIP行为。本文描述的一些场景使用SIP方法扩展REFER[RFC3515],SIP报头扩展取代[RFC3891],SIP报头扩展加入[RFC3911]。SIP事件文档[RFC3265]描述了订阅和通知的使用,而SIP对话事件包文档[RFC4235]描述了对话事件包。一些示例使用GRUU(全局可路由用户代理URI)扩展[GRUU]。
These flows were prepared assuming a network of proxies, registrars, and other SIP servers. The use of Secure SIP URIs (sips) is shown throughout this document, implying TLS transport on each hop with assumed certificate validation. However, other security approaches can be used. The use of Digest authentication is shown in some examples.
这些流是假设代理、注册器和其他SIP服务器的网络而准备的。安全SIP URI(sips)的使用在本文档中有详细说明,这意味着每个跃点上的TLS传输都需要假定的证书验证。但是,可以使用其他安全方法。摘要身份验证的使用在一些示例中显示。
The emphasis in these call flows is the SIP signaling exchange. As a result, only very simple SDP offer/answer exchanges are shown with audio media. These flows apply equally well for other media and multimedia sessions. For more advanced examples of SDP offer/answer exchanges, refer to [RFC4317].
这些呼叫流的重点是SIP信令交换。因此,音频媒体仅显示非常简单的SDP提供/应答交换。这些流同样适用于其他媒体和多媒体会话。有关SDP提供/应答交换的更高级示例,请参阅[RFC4317]。
Each call flow is presented with a textual description of the scenario, a message flow diagram showing the messages exchanged between separate network elements, and the detailed contents of each message shown in the diagram.
每个呼叫流都有一个场景的文本描述,一个显示独立网络元素之间交换的消息的消息流图,以及图中显示的每条消息的详细内容。
For simplicity in reading and editing the document, there are a number of differences between some of the examples and actual SIP messages. For example, the HTTP Digest responses are not actual MD5 encodings. Call-IDs are often repeated, and CSeq counts often begin at 1. Header fields are usually shown in the same order. Usually only the minimum required header field set is shown. Also, message body content lengths are often not calculated, but instead shown as "..." where the actual octet count would be.
为便于阅读和编辑文档,一些示例与实际的SIP消息之间存在许多差异。例如,HTTP摘要响应不是实际的MD5编码。呼叫ID经常重复,CSeq计数通常从1开始。标题字段通常以相同的顺序显示。通常只显示所需的最小标题字段集。此外,通常不计算消息正文内容长度,而是将其显示为“…”,其中实际八位字节计数为。
Dashed lines (---) represent control messages that are mandatory to the call scenario. These control messages can be SIP signaling.
Dashed lines (---) represent control messages that are mandatory to the call scenario. These control messages can be SIP signaling.
Double dashed lines (===) represent media paths between network elements.
双虚线(==)表示网络元素之间的媒体路径。
Messages with parentheses around the name represent optional control messages.
名称周围带有括号的消息表示可选的控制消息。
Messages are identified in the figures as F1, F2, etc. This references the message details in the table that follows the figure.
消息在图中标识为F1、F2等。这参考了图后表格中的消息详细信息。
Lines longer than 72 characters are handled using the <allOneLine> convention defined in Section 2.1 of RFC 4475 [RFC4475].
超过72个字符的行使用RFC 4475[RFC4475]第2.1节中定义的<allOneLine>约定进行处理。
Comments in the message details are shown in the following form:
消息详细信息中的注释如下表所示:
/* Comments. */
/* Comments. */
Alice Proxy Bob | INVITE F1 | | |--------------->| | | | INVITE F2 | |(100 Trying) F3 |------------->| |<---------------| | | |180 Ringing F4| | 180 Ringing F5 |<-------------| |<---------------| | | | 200 OK F6 | | 200 OK F7 |<-------------| |<---------------| | | ACK F8 | | |--------------->| ACK F9 | | |------------->| | Both way RTP Established | |<=============================>| | |INVITE(hold) F10 |INVITE(hold) F11|<-------------| |<---------------| | | 200 OK F12 | | |--------------->| 200 OK F13 | | |------------->| | | ACK F14 | | ACK F15 |<-------------| |<---------------| | | No RTP Sent! | | | INVITE F16 | | INVITE F17 |<-------------| |<---------------| | | 200 OK F18 | | |--------------->| 200 OK F19 | | |------------->| | | ACK F20 | | ACK F21 |<-------------| |<---------------| | | Both way RTP Established | |<=============================>| | BYE F22 | | |--------------->| BYE F23 | | |------------->| | | 200 OK F24 | | 200 OK F25 |<-------------| |<---------------| |
Alice Proxy Bob | INVITE F1 | | |--------------->| | | | INVITE F2 | |(100 Trying) F3 |------------->| |<---------------| | | |180 Ringing F4| | 180 Ringing F5 |<-------------| |<---------------| | | | 200 OK F6 | | 200 OK F7 |<-------------| |<---------------| | | ACK F8 | | |--------------->| ACK F9 | | |------------->| | Both way RTP Established | |<=============================>| | |INVITE(hold) F10 |INVITE(hold) F11|<-------------| |<---------------| | | 200 OK F12 | | |--------------->| 200 OK F13 | | |------------->| | | ACK F14 | | ACK F15 |<-------------| |<---------------| | | No RTP Sent! | | | INVITE F16 | | INVITE F17 |<-------------| |<---------------| | | 200 OK F18 | | |--------------->| 200 OK F19 | | |------------->| | | ACK F20 | | ACK F21 |<-------------| |<---------------| | | Both way RTP Established | |<=============================>| | BYE F22 | | |--------------->| BYE F23 | | |------------->| | | 200 OK F24 | | 200 OK F25 |<-------------| |<---------------| |
In this scenario, Alice calls Bob, then Bob places the call on hold. Bob then takes the call off hold, then Alice hangs up the call. Note that hold is unidirectional in nature. However, a UA that places the other party on hold will generally also stop sending media, resulting in no media exchange between the UAs. Older UAs may set the connection address to 0.0.0.0 when initiating hold. However, this behavior has been deprecated in favor or using the a=inactive SDP attribute if no media is sent, or the a=sendonly attribute if media is still sent.
在这个场景中,Alice呼叫Bob,然后Bob将呼叫挂起。然后鲍勃挂断了电话,爱丽丝挂断了电话。请注意,保持在本质上是单向的。但是,暂停另一方的UA通常也会停止发送媒体,导致UAs之间没有媒体交换。较旧的UAs在启动保持时可能会将连接地址设置为0.0.0.0。但是,此行为已被弃用,如果未发送介质,则使用a=inactive SDP属性;如果仍发送介质,则使用a=sendonly属性。
Also note the use of the rendering feature tag defined in RFC 4235 [RFC4235] used in F10 and F11 to indicate that Bob's UA is no longer rendering media to Bob, i.e., that Bob has placed the call on hold.
还请注意,在F10和F11中使用了RFC 4235[RFC4235]中定义的呈现功能标签,以指示Bob的UA不再向Bob呈现媒体,即Bob已将呼叫挂起。
Message Details
消息详细信息
F1 INVITE Alice -> Proxy 1
F1邀请Alice->Proxy 1
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 INVITE Proxy 1 -> Bob
F2邀请代理1->Bob
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061
;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy 1 -> Alice
F3(100次尝试)代理1->Alice
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F4 180 Ringing Bob -> Proxy 1
F4 180振铃鲍勃->代理1
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159
Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length:0
Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length:0
F5 180 Ringing Proxy 1 -> Alice
F5 180振铃代理1->Alice
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length: 0
F6 200 OK Bob -> Proxy 1
F6 200 OK Bob->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F7 200 OK Proxy 1 -> Alice
F7 200 OK Proxy 1->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F8 ACK Alice -> Proxy 1
F8确认爱丽丝->代理1
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf92 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf92 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F9 ACK Proxy 1 -> Bob
F9确认代理1->Bob
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837492.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837492.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061
;branch=z9hG4bK74bf92 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
;branch=z9hG4bK74bf92 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* Bob places Alice on hold. Note that the version is incremented in the o= field of the SDP. */
/* Bob places Alice on hold. Note that the version is incremented in the o= field of the SDP. */
F10 INVITE Bob -> Proxy 1
F10邀请Bob->Proxy 1
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
F11 INVITE Proxy 1 -> Alice
F11邀请代理1->Alice
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061
;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
/* Alice replies to hold. */
/* Alice replies to hold. */
F12 200 OK Alice -> Proxy 1
F12 200 OK Alice->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F13 200 OK Proxy 1 -> Bob
F13 200 OK Proxy 1->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F14 ACK Bob -> Proxy 1
F14确认鲍勃->代理1
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds72 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds72 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
允许:邀请、确认、取消、选项、再见、参考、通知支持:替换内容长度:0
F15 ACK Proxy 1 -> Alice
F15确认代理1->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds72 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds72 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* Bob takes the call off hold. */
/* Bob takes the call off hold. */
F16 INVITE Bob -> Proxy 1
F16邀请Bob->Proxy 1
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com
v=0 o=IP4 client.biloxi.example.com中的bob 2890844527 2890844529 s=IP4 client.biloxi.example.com中的c=
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F17 INVITE Proxy 1 -> Alice
F17邀请代理1->Alice
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F18 200 OK Alice -> Proxy 1
F18 200 OK Alice->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE
Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F19 200 OK Proxy 1 -> Bob
F19 200 OK Proxy 1->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds73 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F20 ACK Bob -> Proxy 1
确认鲍勃->代理1
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds74 Route: <sips:ss1.example.com;lr> Max-Forwards: 70
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds74 Route: <sips:ss1.example.com;lr> Max-Forwards: 70
From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F21 ACK Proxy 1 -> Alice
确认代理1->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837494.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds74 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837494.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds74 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* RTP Media stream re-established. Alice disconnects. */
/* RTP Media stream re-established. Alice disconnects. */
F22 BYE Alice -> Proxy 1
再见Alice->Proxy 1
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F23 BYE Proxy 1 -> Bob
通过代理1->Bob
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1
Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F24 200 OK Bob -> Proxy 1
F24 200 OK Bob->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F25 200 OK Proxy 1 -> Alice
F25 200 OK Proxy 1->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf97 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Alice Proxy Bob Carol | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | |------------->| | |(100 Trying) F3 | | | |<---------------|180 Ringing F4| | | |<-------------| | | 180 Ringing F5 | | | |<---------------| 200 OK F6 | | | |<-------------| | | 200 OK F7 | | | |<---------------| | | | ACK F8 | | | |--------------->| ACK F9 | | | |------------->| | | Both way RTP Established | | |<=============================>| | | |INVITE(hold) F10 | |INVITE(hold) F11|<-------------| | |<---------------| | | | 200 OK F12 | | | |--------------->| 200 OK F13 | | | |------------->| | | | ACK F14 | | | |<-------------| | | ACK F15 | | | |<---------------| | | | No RTP Sent! | | | | INVITE F16 | | | |<-------------| | | | | INVITE F17 | | |--------------------------------->| | |(100 Trying) F18 | | |------------->| | | | | 180 Ringing F19 | | |<---------------------------------| | | 180 Ringing F20 | | |------------->| | | | | 200 OK F21 | | |<---------------------------------| | | 200 OK F22 | | | |------------->| | | | ACK F23 | | | |<-------------| | | | | ACK F24 |
Alice Proxy Bob Carol | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | |------------->| | |(100 Trying) F3 | | | |<---------------|180 Ringing F4| | | |<-------------| | | 180 Ringing F5 | | | |<---------------| 200 OK F6 | | | |<-------------| | | 200 OK F7 | | | |<---------------| | | | ACK F8 | | | |--------------->| ACK F9 | | | |------------->| | | Both way RTP Established | | |<=============================>| | | |INVITE(hold) F10 | |INVITE(hold) F11|<-------------| | |<---------------| | | | 200 OK F12 | | | |--------------->| 200 OK F13 | | | |------------->| | | | ACK F14 | | | |<-------------| | | ACK F15 | | | |<---------------| | | | No RTP Sent! | | | | INVITE F16 | | | |<-------------| | | | | INVITE F17 | | |--------------------------------->| | |(100 Trying) F18 | | |------------->| | | | | 180 Ringing F19 | | |<---------------------------------| | | 180 Ringing F20 | | |------------->| | | | | 200 OK F21 | | |<---------------------------------| | | 200 OK F22 | | | |------------->| | | | ACK F23 | | | |<-------------| | | | | ACK F24 |
| |--------------------------------->| | | Both way RTP Established | | | |<=================>| | | BYE F25 | | | |<-------------| | | | | BYE F26 | | |--------------------------------->| | | | 200 OK F27 | | |<---------------------------------| | | 200 OK F28 | | | |------------->| | | | INVITE F29 | | | INVITE F30 |<-------------| | |<---------------| | | | 200 OK F31 | | | |--------------->| 200 OK F32 | | | |------------->| | | | ACK F33 | | | |<-------------| | | ACK F34 | | | |<---------------| | | | Both way RTP Established | | |<=============================>| | | BYE F35 | | | |--------------->| BYE F36 | | | |------------->| | | | 200 OK F37 | | | |<-------------| | | 200 OK F38 | | | |<---------------| | | | | | |
| |--------------------------------->| | | Both way RTP Established | | | |<=================>| | | BYE F25 | | | |<-------------| | | | | BYE F26 | | |--------------------------------->| | | | 200 OK F27 | | |<---------------------------------| | | 200 OK F28 | | | |------------->| | | | INVITE F29 | | | INVITE F30 |<-------------| | |<---------------| | | | 200 OK F31 | | | |--------------->| 200 OK F32 | | | |------------->| | | | ACK F33 | | | |<-------------| | | ACK F34 | | | |<---------------| | | | Both way RTP Established | | |<=============================>| | | BYE F35 | | | |--------------->| BYE F36 | | | |------------->| | | | 200 OK F37 | | | |<-------------| | | 200 OK F38 | | | |<---------------| | | | | | |
In this scenario, Alice calls Bob. Bob places call on hold. Bob calls Carol. Bob then disconnects with Carol, then takes the call with Alice off hold. The call ends when Alice hangs up.
在这个场景中,Alice调用Bob。鲍勃把电话挂断。鲍勃打电话给卡罗尔。然后鲍勃断开了与卡罗尔的连接,然后接了与艾丽丝的电话。爱丽丝挂断电话后,电话就结束了。
Also note the use of the rendering feature tag defined in RFC 4235 [RFC4235] used in F10 to indicate that Bob's UA is no longer rendering media to Bob, i.e., that Bob has placed the call on hold.
还请注意,使用F10中使用的RFC 4235[RFC4235]中定义的呈现功能标记,以指示Bob的UA不再向Bob呈现媒体,即Bob已将呼叫置于挂起状态。
Message Details
消息详细信息
F1 INVITE Alice -> Proxy 1
F1邀请Alice->Proxy 1
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 INVITE Proxy 1 -> Bob
F2邀请代理1->Bob
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy 1 -> Alice
F3(100次尝试)代理1->Alice
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F4 180 Ringing Bob -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length:0
F4 180 Ringing Bob -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length:0
F5 180 Ringing Proxy 1 -> Alice
F5 180振铃代理1->Alice
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content Length: 0
F6 200 OK Bob -> Proxy 1
F6 200 OK Bob->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F7 200 OK Proxy 1 -> Alice
F7 200 OK Proxy 1->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F8 ACK Alice -> Proxy 1
F8确认爱丽丝->代理1
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf45 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf45 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F9 ACK Proxy 1 -> Bob
F9确认代理1->Bob
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837494.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf45 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837494.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf45 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* Bob places Alice on hold. */
/* Bob places Alice on hold. */
F10 INVITE Bob -> Proxy 1
F10邀请Bob->Proxy 1
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
F11 INVITE Proxy 1 -> Alice
F11邀请代理1->Alice
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
F12 200 OK Alice -> Proxy 1
F12 200 OK Alice->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837497.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F13 200 OK Proxy 1 -> Bob
F13 200 OK Proxy 1->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159
To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F14 ACK Bob -> Proxy 1
F14确认鲍勃->代理1
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdsg Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdsg Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F15 ACK Proxy 1 -> Alice
F15确认代理1->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdsg ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdsg ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567
Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
呼叫ID:12345600@atlanta.example.comCSeq:1确认内容长度:0
F16 INVITE Bob -> Proxy 1
F16邀请Bob->Proxy 1
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F17 INVITE Proxy 1 -> Carol
F17邀请代理1->Carol
INVITE sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749a.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
INVITE sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749a.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces Content-Type: application/sdp Content-Length: ...
Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 50170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F18 (100 Trying) Proxy 1 -> Bob
F18(100次尝试)代理1->Bob
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Content-Length: 0
F19 180 Ringing Carol -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749a.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content Length:0
F19 180 Ringing Carol -> Proxy 1 SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749a.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content Length:0
F20 180 Ringing Proxy 1 -> Bob
F20 180振铃代理1->Bob
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22
;received=client.chicago.example.com Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content Length: 0
;received=client.chicago.example.com Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content Length: 0
F21 200 OK Carol -> Proxy 1
F21 200 OK Carol->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749a.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749a.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F22 200 OK Proxy 1 -> Bob
F22 200 OK Proxy 1->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds22 ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654
Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
Call-ID: 9876543210@biloxi.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F23 ACK Bob -> Proxy 1
确认鲍勃->代理1
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds24 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds24 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F24 ACK Proxy 1 -> Carol
确认代理1->Carol
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749b.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds24 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 ACK
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749b.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds24 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 1 ACK
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
允许:邀请、确认、取消、选项、再见、参考、通知支持:替换内容长度:0
F25 BYE Bob -> Proxy 1
再见Bob->Proxy 1
BYE sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 2 BYE Content-Length: 0
F26 BYE Proxy 1 -> Carol
再见代理1->Carol
BYE sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749k.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749k.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 2 BYE Content-Length: 0
F27 200 OK Carol -> Proxy 1
F27 200 OK卡罗尔->代理1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749k.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749k.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654
Call-ID: 9876543210@biloxi.example.com CSeq: 2 BYE Content-Length: 0
呼叫ID:9876543210@biloxi.example.comCSeq:2字节内容长度:0
F28 200 OK Proxy 1 -> Bob
F28 200 OK Proxy 1->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7j ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=456654 Call-ID: 9876543210@biloxi.example.com CSeq: 2 BYE Content-Length: 0
/* Bob takes the call off hold. */
/* Bob takes the call off hold. */
F29 INVITE Bob -> Proxy 1
邀请Bob->Proxy 1
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F30 INVITE Proxy 1 -> Alice
F30邀请代理1->Alice
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749q.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749q.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844529 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F31 200 OK Alice -> Proxy 1
F31 200 OK Alice->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749q.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749q.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F32 200 OK Proxy 1 -> Bob
F32 200 OK Proxy 1->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7b ;received=192.0.2.105 Record-Route: <sips:ss1.example.com;lr> From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844528 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F33 ACK Bob -> Proxy 1
F33确认鲍勃->代理1
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7d7 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7d7 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces
Content-Length: 0
内容长度:0
F34 ACK Proxy 1 -> Alice
F34确认代理1->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7d7 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374.1 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7d7 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F35 BYE Alice -> Proxy 1
F35再见Alice->Proxy 1
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F36 BYE Proxy 1 -> Bob
F36拜代理1->Bob
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8379.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8379.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F37 200 OK Bob -> Proxy 1
F37 200 OK Bob->Proxy 1
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8379.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8379.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F38 200 OK Proxy 1 -> Alice
F38 200 OK Proxy 1->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf10 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Alice Bob Music Server | | | | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| | | | | | Bob places Alice on hold | | | | | INVITE (hold) F5 | |<---------------| | | 200 OK F6 | | |--------------->| | | ACK F7 | | |<---------------| | | no RTP | | | | | | Bob initiates music on hold | | | | | | REFER Refer-To: A F8 | |------------->| | | 202 F9 | | |<-------------| | | NOTIFY F10 | | |<-------------| | | 200 F11 | | |------------->| | INVITE F12 Replaces: B | |<------------------------------| | 200 OK F13 | |------------------------------>| | ACK F14 | |<------------------------------| | RTP Music | |<==============================| | BYE F15 | | |--------------->| NOTIFY F17 | | 200 OK F16 |<-------------| |<---------------| 200 OK F18 | | |------------->|
Alice Bob Music Server | | | | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| | | | | | Bob places Alice on hold | | | | | INVITE (hold) F5 | |<---------------| | | 200 OK F6 | | |--------------->| | | ACK F7 | | |<---------------| | | no RTP | | | | | | Bob initiates music on hold | | | | | | REFER Refer-To: A F8 | |------------->| | | 202 F9 | | |<-------------| | | NOTIFY F10 | | |<-------------| | | 200 F11 | | |------------->| | INVITE F12 Replaces: B | |<------------------------------| | 200 OK F13 | |------------------------------>| | ACK F14 | |<------------------------------| | RTP Music | |<==============================| | BYE F15 | | |--------------->| NOTIFY F17 | | 200 OK F16 |<-------------| |<---------------| 200 OK F18 | | |------------->|
| | | | The music on hold is complete | | | | | Bob takes Alice off hold | | | | | INVITE Replaces: M F19 | |<---------------| | | 200 OK F20 | | |--------------->| | | ACK F21 | | |<---------------| | | RTP | | |<==============>| | | BYE F22 | |------------------------------>| | 200 OK F23 | |<------------------------------|
| | | | The music on hold is complete | | | | | Bob takes Alice off hold | | | | | INVITE Replaces: M F19 | |<---------------| | | 200 OK F20 | | |--------------->| | | ACK F21 | | |<---------------| | | RTP | | |<==============>| | | BYE F22 | |------------------------------>| | 200 OK F23 | |<------------------------------|
In this flow, Bob places Alice on hold with music. This is performed by Bob sending a REFER to a Music Server that sends an INVITE with Replaces to Alice. The Music Server then sends RTP music to Alice. Bob picks the call up from hold by sending an INVITE with Replaces to Alice.
在这个流程中,Bob用音乐将Alice置于等待状态。这是通过Bob向音乐服务器发送一个REFER来执行的,该音乐服务器向Alice发送一个带有Replaces的邀请。然后音乐服务器将RTP音乐发送给Alice。Bob通过向Alice发送带有替换项的邀请,从等待中接听电话。
Note the use of the rendering feature tag defined in RFC 4235 [RFC4235] used in F5 to indicate that Bob's UA is no longer rendering media to Bob, i.e., that Bob has placed the call on hold. Feature tags are also used in F12 with the automaton (defined in RFC 3840 [RFC3840]) and byeless feature tags (defined in RFC 4235 [RFC4235]) to describe the capabilities of the Music Server.
请注意,在F5中使用了RFC 4235[RFC4235]中定义的呈现功能标记,以指示Bob的UA不再向Bob呈现媒体,即Bob已将呼叫置于挂起状态。功能标签也在F12中与自动机(在RFC 3840[RFC3840]中定义)和无字节功能标签(在RFC 4235[RFC4235]中定义)一起使用,以描述音乐服务器的功能。
Should Alice not wish to receive music on hold, her UA could refuse F12 and she will remain on hold with Bob, but in silence.
如果Alice不希望接收暂停的音乐,她的UA可以拒绝F12,她将与Bob保持暂停,但保持沉默。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
F2 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F3 200 OK Bob -> Alice
F3 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0
v=0 o=IP4 client.biloxi.example.com中的bob 2890844527 2890844527 s=c=IP4 client.biloxi.example.com中的t=0
m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 ACK Alice -> Bob
F4确认爱丽丝->鲍勃
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfd Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfd Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* Bob places Alice on hold. */
/* Bob places Alice on hold. */
F5 INVITE Bob -> Alice
F5邀请Bob->Alice
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK874bk To: Alice <sips:alice@atlanta.example.com>;tag=1234567 From: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 712 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK874bk To: Alice <sips:alice@atlanta.example.com>;tag=1234567 From: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 712 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
F6 200 OK Alice -> Bob
F6 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK874bk ;received=192.0.2.105 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 From: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 712 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK874bk ;received=192.0.2.105 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 From: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 712 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F7 ACK Bob -> Alice
F7确认Bob->Alice
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKq874b To: Alice <sips:alice@atlanta.example.com>;tag=1234567 From: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 712 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKq874b To: Alice <sips:alice@atlanta.example.com>;tag=1234567 From: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 712 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* Bob REFERs Music Server to establish session with Alice which replaces the established session between Alice and Bob. */
/* Bob REFERs Music Server to establish session with Alice which replaces the established session between Alice and Bob. */
F8 REFER Bob -> Music Server
F8参考Bob->音乐服务器
REFER sips:music@server.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9
REFER sips:music@server.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9
Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Music Server <sips:music@server.example.com> Call-ID: 4802029847@biloxi.example.com CSeq: 1 REFER <allOneLine> Refer-To: <sips:a8342043f@atlanta.example.com;gr?Replaces= 12345600%40atlanta.example.com%3Bfrom-tag%3D23431 %3Bto-tag%3D1234567&Require=replaces> </allOneLine> Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Music Server <sips:music@server.example.com> Call-ID: 4802029847@biloxi.example.com CSeq: 1 REFER <allOneLine> Refer-To: <sips:a8342043f@atlanta.example.com;gr?Replaces= 12345600%40atlanta.example.com%3Bfrom-tag%3D23431 %3Bto-tag%3D1234567&Require=replaces> </allOneLine> Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F9 202 Accepted Music Server -> Bob
F9 202已接受的音乐服务器->Bob
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com Contact: <sips:music@server.example.com> CSeq: 1 REFER Content-Length: 0
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com Contact: <sips:music@server.example.com> CSeq: 1 REFER Content-Length: 0
F10 NOTIFY Music Server -> Bob
F10通知音乐服务器->鲍勃
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Event: refer Subscription-State: active;expires=60 Contact: <sips:music@server.example.com> Content-Type: message/sipfrag Content-Length: ...
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Event: refer Subscription-State: active;expires=60 Contact: <sips:music@server.example.com> Content-Type: message/sipfrag Content-Length: ...
SIP/2.0 100 Trying
SIP/2.0 100
F11 200 OK Bob -> Music Server
F11 200 OK Bob->音乐服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Content-Length: 0
/* Music Server places call to Alice to replace session between Alice and Bob. */
/* Music Server places call to Alice to replace session between Alice and Bob. */
F12 INVITE Music Server -> Alice
F12邀请音乐服务器->Alice
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf Max-Forwards: 70 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr> Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:music@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Require: replaces Replaces: 12345600@atlanta.example.com ;from-tag=23431;to-tag=1234567 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf Max-Forwards: 70 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr> Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:music@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Require: replaces Replaces: 12345600@atlanta.example.com ;from-tag=23431;to-tag=1234567 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=MusicServer 2890844576 2890844576 IN IP4 server.example.com s= c=IN IP4 server.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
v=0 o=MusicServer 2890844576 2890844576 IN IP4 server.example.com s= c=IN IP4 server.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
F13 200 OK Alice -> Music Server
F13 200 OK Alice->音乐服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F14 ACK Music Server -> Alice
F14确认音乐服务器->爱丽丝
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK7rfF Max-Forwards: 70 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK7rfF Max-Forwards: 70 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 ACK Content-Length: 0
F15 BYE Alice -> Bob
再见,爱丽丝->鲍勃
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com
CSeq: 2 BYE Content-Length: 0
CSeq:2字节内容长度:0
F16 200 OK Bob -> Alice
F16 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
/* Music Server reports success back to Bob by returning a 200 OK response. Bob obtains the dialog identifiers from the headers included in the response. */
/* Music Server reports success back to Bob by returning a 200 OK response. Bob obtains the dialog identifiers from the headers included in the response. */
F17 NOTIFY Music Server -> Bob
F17通知音乐服务器->鲍勃
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9 To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Event: refer Subscription-State: terminated;reason=noresource Contact: <sips:music@server.example.com> Content-Type: message/sipfrag Content-Length: ...
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9 To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Event: refer Subscription-State: terminated;reason=noresource Contact: <sips:music@server.example.com> Content-Type: message/sipfrag Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr>
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:music@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr>
F18 200 OK Bob -> Music Server
F18 200 OK Bob->音乐服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Music Server <sips:music@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Content-Length: 0
/* Alice is now parked at the Music Server. */
/* Alice is now parked at the Music Server. */
/* Bob picks up the call by sending an INVITE to Alice, who replaces the existing session with the Music Server. */
/* Bob picks up the call by sending an INVITE to Alice, who replaces the existing session with the Music Server. */
F19 INVITE Bob -> Alice
F19邀请鲍勃->爱丽丝
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bf9 From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr To: Alice <sips:a8342043f@atlanta.example.com;gr> Call-ID: uioewrjk2k2were CSeq: 42121 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Replaces: a5-75-34-12-76@server.example.com ;to-tag=098594;from-tag=0111 Contact: <sips:bob@client.biloxi.example.com> Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bf9 From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr To: Alice <sips:a8342043f@atlanta.example.com;gr> Call-ID: uioewrjk2k2were CSeq: 42121 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Replaces: a5-75-34-12-76@server.example.com ;to-tag=098594;from-tag=0111 Contact: <sips:bob@client.biloxi.example.com> Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844631 2890844631 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendrecv
v=0 o=bob 2890844631 2890844631 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendrecv
F20 200 OK Alice -> Bob
F20 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=6654323 Call-ID: uioewrjk2k2were CSeq: 42121 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Contact: <sips:alice@client.atlanta.example.com> Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=6654323 Call-ID: uioewrjk2k2were CSeq: 42121 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Contact: <sips:alice@client.atlanta.example.com> Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844576 2890844576 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendrecv
v=0 o=alice 2890844576 2890844576 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendrecv
F21 200 ACK Bob -> Alice
F21 200确认Bob->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKj974bf9 From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=6654323 Call-ID: uioewrjk2k2were CSeq: 42121 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKj974bf9 From: Bob <sips:bob@biloxi.example.com>;tag=4i323pr To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=6654323 Call-ID: uioewrjk2k2were CSeq: 42121 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Length: 0
F22 BYE Alice -> Music Server
再见Alice->音乐服务器
BYE sips:music@server.example.com SIP/2.0 Max-Forwards: 70 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74rf
BYE sips:music@server.example.com SIP/2.0 Max-Forwards: 70 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74rf
To: <sips:music@server.example.com>;tag=0111 From: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 15 BYE Content-Length: 0
To: <sips:music@server.example.com>;tag=0111 From: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 15 BYE Content-Length: 0
F23 200 OK Music Server -> Alice
F23 200 OK音乐服务器->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 To: <sips:music@server.example.com>;tag=0111 From: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 15 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 To: <sips:music@server.example.com>;tag=0111 From: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 15 BYE Content-Length: 0
/* Normal media session between Alice and Bob is resumed. */
/* Normal media session between Alice and Bob is resumed. */
Alice Bob Carol | INVITE F1 | | |<-------------------| | | 180 Ringing F2 | | |------------------->| | | 200 OK F3 | | |------------------->| | | ACK F4 | | |<-------------------| | | RTP | | |<==================>| | | | | | Alice performs unattended transfer | | | | | REFER Refer-To:C F5| | |------------------->| | | 202 Accepted F6 | | |<-------------------| | | NOTIFY F7 | | |<-------------------| | | 200 OK F8 | | |------------------->| | | BYE F9 | | |------------------->| | | 200 OK F10 | | |<-------------------| | | No RTP Session | INVITE Referred-By: A F11 | |------------------->| | | 180 Ringing F12 | | |<-------------------| | | 200 OK F13 | | |<-------------------| | | ACK F14 | | |------------------->| | | RTP | | |<==================>| | NOTIFY F15 | | |<-------------------| | | 200 OK F16 | | |------------------->| | | | |
Alice Bob Carol | INVITE F1 | | |<-------------------| | | 180 Ringing F2 | | |------------------->| | | 200 OK F3 | | |------------------->| | | ACK F4 | | |<-------------------| | | RTP | | |<==================>| | | | | | Alice performs unattended transfer | | | | | REFER Refer-To:C F5| | |------------------->| | | 202 Accepted F6 | | |<-------------------| | | NOTIFY F7 | | |<-------------------| | | 200 OK F8 | | |------------------->| | | BYE F9 | | |------------------->| | | 200 OK F10 | | |<-------------------| | | No RTP Session | INVITE Referred-By: A F11 | |------------------->| | | 180 Ringing F12 | | |<-------------------| | | 200 OK F13 | | |<-------------------| | | ACK F14 | | |------------------->| | | RTP | | |<==================>| | NOTIFY F15 | | |<-------------------| | | 200 OK F16 | | |------------------->| | | | |
In this scenario, Bob calls Alice. Alice then transfers Bob to Carol, then Alice disconnects with Bob. Bob establishes the session to Carol then reports the success back to Alice in the NOTIFY in F15. If the transfer fails, Bob can send a new INVITE back to Alice to re-establish the session.
在这个场景中,Bob调用Alice。然后爱丽丝把鲍勃转给卡罗尔,然后爱丽丝与鲍勃断开了联系。Bob向Carol建立会话,然后在F15的NOTIFY中向Alice报告成功。如果传输失败,Bob可以向Alice发送一个新的邀请以重新建立会话。
Despite the BYE sent by Alice in F9, the dialog between Alice and Bob still exists until the subscription created by the REFER has terminated (either due to a NOTIFY containing a Subscription-State: terminated;reason=noresource header field, as in F15, or a 481 response to a NOTIFY).
尽管Alice在F9中发送了BYE,但Alice和Bob之间的对话框仍然存在,直到由REFER创建的订阅终止为止(由于包含订阅状态的通知:terminated;reason=noresource header字段,如F15中所示,或是481响应通知)。
For more about call transfer, see the transfer document [TRANSFER].
有关呼叫转移的更多信息,请参阅转移文档[转移]。
Message Details
消息详细信息
F1 INVITE Bob -> Alice
F1邀请鲍勃->爱丽丝
INVITE sips:alice@atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Alice -> Bob
F2 180响铃Alice->Bob
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159
To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Length: 0
To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Length: 0
F3 200 OK Alice -> Bob
F3 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 ACK Bob -> Alice
F4确认鲍勃->爱丽丝
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds2 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds2 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* Session is established between Alice and Bob. */
/* Session is established between Alice and Bob. */
/* Alice performs unattended transfer of Bob to Carol. */
/* Alice performs unattended transfer of Bob to Carol. */
F5 REFER Alice -> Bob
F5参考Alice->Bob
REFER sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds8 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 101 REFER Refer-To: <sips:carol@chicago.example.com> Referred-By: <alice@atlanta.example.com> Contact: <sips:alice@client.atlanta.example.com> Content-Length: 0
REFER sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds8 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 101 REFER Refer-To: <sips:carol@chicago.example.com> Referred-By: <alice@atlanta.example.com> Contact: <sips:alice@client.atlanta.example.com> Content-Length: 0
F6 202 Accepted Bob -> Alice
F6 202已接受Bob->Alice
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds8 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com Contact: <sips:bob@client.biloxi.example.com> CSeq: 101 REFER Content-Length: 0
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds8 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com Contact: <sips:bob@client.biloxi.example.com> CSeq: 101 REFER Content-Length: 0
F7 NOTIFY Bob -> Alice
F7通知Bob->Alice
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds32 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 NOTIFY Event: refer Subscription-State: active;expires=60 Contact: <sips:bob@client.biloxi.example.com> Content-Type: message/sipfrag Content-Length: ...
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds32 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 NOTIFY Event: refer Subscription-State: active;expires=60 Contact: <sips:bob@client.biloxi.example.com> Content-Type: message/sipfrag Content-Length: ...
SIP/2.0 100 Trying
SIP/2.0 100
F8 200 OK Alice -> Bob
F8 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds32 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds32 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 2 NOTIFY Content-Length: 0
/* Alice now disconnects with Bob. */
/* Alice now disconnects with Bob. */
F9 BYE Alice -> Bob
F9再见Alice->Bob
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds43 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 102 BYE Content-Length: 0
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds43 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 102 BYE Content-Length: 0
F10 200 OK Bob -> Alice
F10 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds43 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 102 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds43 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 102 BYE Content-Length: 0
/* Bob attempts the transfer to Carol. */
/* Bob attempts the transfer to Carol. */
F11 INVITE Bob -> Carol
F11邀请鲍勃->卡罗尔
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Referred-By: <alice@atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Referred-By: <alice@atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F12 180 Ringing Carol -> Bob
F12 180振铃卡罗尔->鲍勃
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content-Length: 0
F13 200 OK Carol -> Bob
F13 200 OK卡罗尔->鲍勃
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287
Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890944542 2890844542 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890944542 2890844542 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F14 ACK Bob -> Carol
F14确认鲍勃->卡罗尔
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* Bob and Carol now have established a session. Bob reports success to Alice, which Alice probably ignores. */
/* Bob and Carol now have established a session. Bob reports success to Alice, which Alice probably ignores. */
F15 NOTIFY Bob -> Alice
F15通知Bob->Alice
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds67 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 3 NOTIFY Event: refer Subscription-State: terminated;reason=noresource Contact: <sips:bob@client.biloxi.example.com> Content-Type: message/sipfrag
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds67 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 3 NOTIFY Event: refer Subscription-State: terminated;reason=noresource Contact: <sips:bob@client.biloxi.example.com> Content-Type: message/sipfrag
Content-Length: ...
内容长度:。。。
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds1 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content-Type: application/sdp Content-Length: ...
F16 200 OK Alice -> Bob
F16 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds6 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 3 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds6 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=314159 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345601@atlanta.example.com CSeq: 3 NOTIFY Content-Length: 0
Alice Bob Carol | | | | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| | |INVITE (hold) F5| | |<---------------| | | 200 OK F6 | | |--------------->| | | ACK F7 | | |<---------------| | | No RTP | | | | INVITE F8 | | |------------->| | | 180 Ringing F9 | |<-------------| | | 200 OK F10 | | |<-------------| | | ACK F11 | | |------------->| | | RTP | | |<============>| | |INVITE (hold) F12 | |------------->| | | 200 OK F13 | | |<-------------| | | ACK F14 | | |------------->| | | No RTP | | REFER Refer-To: C F15 | |<---------------| | |202 Accepted F16| | |--------------->| | | NOTIFY F17 | | |--------------->| | | 200 OK F18 | | |<---------------| | | INVITE Replaces: B F19 | |------------------------------>|
Alice Bob Carol | | | | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| | |INVITE (hold) F5| | |<---------------| | | 200 OK F6 | | |--------------->| | | ACK F7 | | |<---------------| | | No RTP | | | | INVITE F8 | | |------------->| | | 180 Ringing F9 | |<-------------| | | 200 OK F10 | | |<-------------| | | ACK F11 | | |------------->| | | RTP | | |<============>| | |INVITE (hold) F12 | |------------->| | | 200 OK F13 | | |<-------------| | | ACK F14 | | |------------->| | | No RTP | | REFER Refer-To: C F15 | |<---------------| | |202 Accepted F16| | |--------------->| | | NOTIFY F17 | | |--------------->| | | 200 OK F18 | | |<---------------| | | INVITE Replaces: B F19 | |------------------------------>|
| 200 OK F20 | |<------------------------------| | ACK F21 | |------------------------------>| | RTP | |<=============================>| | | BYE F22 | | |<-------------| | | 200 OK F23 | | |------------->| | NOTIFY F24 | | |--------------->| | | 200 OK F25 | | |<---------------| | | BYE F26 | | |<---------------| | | 200 OK F27 | | |--------------->| |
| 200 OK F20 | |<------------------------------| | ACK F21 | |------------------------------>| | RTP | |<=============================>| | | BYE F22 | | |<-------------| | | 200 OK F23 | | |------------->| | NOTIFY F24 | | |--------------->| | | 200 OK F25 | | |<---------------| | | BYE F26 | | |<---------------| | | 200 OK F27 | | |--------------->| |
In this scenario, Alice calls Bob. Bob puts Alice on hold then calls Carol to announce transfer, then places Carol on hold. Bob transfers Alice to Carol, which replaces the session between Bob and Carol. Carol then disconnects session with Bob. Alice reports success of transfer to Bob, who then disconnects with Alice. In this example, the Replaces header field [RFC3891] is inserted into the Refer-To URI by Bob. Note that the Refer-To URI is the Contact URI returned by Carol in the 200 OK response F10. This ensures that only the correct instance of Carol is reached. The presence of the gr URI parameter in the Contact URI in message F10 indicates that the Contact URI is a GRUU [GRUU] and will be globally routable outside of the dialog. Without knowing the Contact URI is a gruu, Bob must be prepared, if the triggered INVITE had failed, to retry the REFER with a Refer-To URI of the URI used to reach Carol but with a Require: replaces header escaped in the Refer-To header field, as discussed in the transfer document [TRANSFER].
在这个场景中,Alice调用Bob。鲍勃让艾丽丝等着,然后打电话给卡罗尔宣布调任,然后让卡罗尔等着。Bob将Alice转给Carol,这将取代Bob和Carol之间的会话。然后,卡罗尔断开了与鲍勃的会话。Alice向Bob报告转移成功,Bob随后与Alice断开连接。在本例中,替换头字段[RFC3891]由Bob插入到引用URI中。注意,refereferuri是Carol在200ok响应F10中返回的联系人URI。这样可以确保只到达正确的Carol实例。消息F10中的联系人URI中存在gr URI参数表示联系人URI是GRUU[GRUU],可在对话框外部全局路由。在不知道联系人URI是gruu的情况下,Bob必须准备在触发的INVITE失败的情况下,使用用于到达Carol的URI的REFER-REFER-URI重试REFER,但需要:替换REFER-REFER-header字段中转义的标头,如传输文档[transfer]中所述。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com
CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
F2 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F3 200 OK Bob -> Alice
F3 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 ACK Alice -> Bob
F4确认爱丽丝->鲍勃
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
/* Alice and Bob have established a session. Bob puts Alice on hold. */
/* Alice and Bob have established a session. Bob puts Alice on hold. */
F5 INVITE Bob -> Alice
F5邀请Bob->Alice
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Content-Type: application/sdp Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Content-Type: application/sdp Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com
v=0 o=IP4 client.biloxi.example.com中的bob 2890844527 2890844528 s=IP4 client.biloxi.example.com中的c=
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
F6 200 OK Alice -> Bob
F6 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F7 ACK Bob -> Alice
F7确认Bob->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds3 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 ACK Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds3 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 ACK Content-Length: 0
/* Bob calls Carol. */
/* Bob calls Carol. */
F8 INVITE Bob -> Carol
F8邀请鲍勃->卡罗尔
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F9 180 Ringing Carol -> Bob
F9 180振铃卡罗尔->鲍勃
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:39itp34klkd@chicago.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:39itp34klkd@chicago.example.com> Content-Length: 0
F10 200 OK Carol -> Bob
F10 200 OK卡罗尔->鲍勃
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com
CSeq: 42 INVITE Contact: <sips:39itp34klkd@chicago.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
CSeq: 42 INVITE Contact: <sips:39itp34klkd@chicago.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F11 ACK Bob -> Carol
F11确认鲍勃->卡罗尔
ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashd5 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 ACK Content-Length: 0
ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashd5 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 ACK Content-Length: 0
/* Bob puts Carol on hold. */
/* Bob puts Carol on hold. */
F12 INVITE Bob -> Carol
F12邀请鲍勃->卡罗尔
INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds0 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 43 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds0 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 43 INVITE Contact: <sips:bob@client.biloxi.example.com>;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
v=0 o=bob 289084834 2890844835 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=sendonly
F13 200 OK Carol -> Bob
F13 200 OK卡罗尔->鲍勃
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds0 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 43 INVITE Contact: <sips:39itp34klkd@chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds0 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 43 INVITE Contact: <sips:39itp34klkd@chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=carol 2890844922 2890844923 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F14 ACK Bob -> Carol
F14确认鲍勃->卡罗尔
ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash334 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com
ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash334 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com
CSeq: 43 ACK Content-Length: 0
CSeq:43确认内容长度:0
/* Bob transfers Alice to Carol. */
/* Bob transfers Alice to Carol. */
F15 REFER Bob -> Alice
F15参考Bob->Alice
REFER sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds2g Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1025 REFER <allOneLine> Refer-To: <sips:39itp34klkd@chicago.example.com?Replaces= sdjfdjfskdf%40biloxi.example.com%3Bto-tag%3D5f35a3 %3Bfrom-tag%3D8675309&Require=replaces> </allOneLine> Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
REFER sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds2g Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1025 REFER <allOneLine> Refer-To: <sips:39itp34klkd@chicago.example.com?Replaces= sdjfdjfskdf%40biloxi.example.com%3Bto-tag%3D5f35a3 %3Bfrom-tag%3D8675309&Require=replaces> </allOneLine> Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F16 202 Accepted Alice -> Bob
F16 202接受Alice->Bob
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds2g ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com Contact: <sips:alice@client.atlanta.example.com> CSeq: 1025 REFER Content-Length: 0
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds2g ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com Contact: <sips:alice@client.atlanta.example.com> CSeq: 1025 REFER Content-Length: 0
F17 NOTIFY Alice -> Bob
F17通知Alice->Bob
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfK Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfK Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431
Call-ID: 12345600@atlanta.example.com CSeq: 2 NOTIFY Contact: <sips:alice@client.atlanta.example.com> Event: refer Subscription-State: active;expires=60 Content-Type: message/sipfrag Content-Length: ...
Call-ID: 12345600@atlanta.example.com CSeq: 2 NOTIFY Contact: <sips:alice@client.atlanta.example.com> Event: refer Subscription-State: active;expires=60 Content-Type: message/sipfrag Content-Length: ...
SIP/2.0 100 Trying
SIP/2.0 100
F18 200 OK Bob -> Alice
F18 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfK ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 2 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfK ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 2 NOTIFY Content-Length: 0
/* Alice establishes session with Carol, which replaces the session between Bob and Carol. */
/* Alice establishes session with Carol, which replaces the session between Bob and Carol. */
F19 INVITE Alice -> Carol
F19邀请爱丽丝->卡罗尔
INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4ko To: Carol <sips:39itp34klkd@chicago.example.com> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 INVITE Require: replaces Referred-By: <sips:bob@biloxi.example.com> Replaces: sdjfdjfskdf@biloxi.example.com ;to-tag=5f35a3;from-tag=8675309 Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4ko To: Carol <sips:39itp34klkd@chicago.example.com> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 INVITE Require: replaces Referred-By: <sips:bob@biloxi.example.com> Replaces: sdjfdjfskdf@biloxi.example.com ;to-tag=5f35a3;from-tag=8675309 Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844989 2890844989 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F20 200 OK Carol -> Alice
F20 200 OK卡罗尔->爱丽丝
SIP/2.0 200 OK Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4ko ;received=192.0.2.103 To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 INVITE Contact: <sips:39itp34klkd@chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4ko ;received=192.0.2.103 To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 INVITE Contact: <sips:39itp34klkd@chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844221 2890844221 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890844221 2890844221 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F21 ACK Alice -> Carol
确认爱丽丝->卡罗尔
ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4kU3 To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
ACK sips:39itp34klkd@chicago.example.com;gr SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4kU3 To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces Content-Length: 0
支持:替换内容长度:0
/* Carol then disconnects from Bob. */
/* Carol then disconnects from Bob. */
F22 BYE Carol -> Bob
再见卡罗尔->鲍勃
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfE To: Bob <sips:bob@biloxi.example.com>;tag=8675309 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 1 BYE Content-Length: 0
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfE To: Bob <sips:bob@biloxi.example.com>;tag=8675309 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 1 BYE Content-Length: 0
F23 200 OK Bob -> Carol
F23 200 OK Bob->Carol
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfE ;received=192.0.2.123 To: Bob <sips:bob@biloxi.example.com>;tag=8675309 From: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 1 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfE ;received=192.0.2.123 To: Bob <sips:bob@biloxi.example.com>;tag=8675309 From: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 1 BYE Content-Length: 0
/* Alice tells Bob that the call has been successfully transferred. */
/* Alice tells Bob that the call has been successfully transferred. */
F24 NOTIFY Alice -> Bob
通知Alice->Bob
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2N Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 3 NOTIFY Event: refer Subscription-State: terminated;reason=noresource
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2N Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 3 NOTIFY Event: refer Subscription-State: terminated;reason=noresource
Contact: <sips:alice@client.atlanta.example.com> Content-Type: message/sipfrag Content-Length: ...
Contact: <sips:alice@client.atlanta.example.com> Content-Type: message/sipfrag Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4ko ;received=192.0.2.103 To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 INVITE Contact: <sips:39itp34klkd@chicago.example.com>
SIP/2.0 200 OK Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKadfe4ko ;received=192.0.2.103 To: Carol <sips:39itp34klkd@chicago.example.com>;tag=ff3a From: Alice <sips:alice@atlanta.example.com>;tag=3461 Call-ID: 9435674543@atlanta.example.com CSeq: 1 INVITE Contact: <sips:39itp34klkd@chicago.example.com>
F25 200 OK Bob -> Alice
F25 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 3 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 3 NOTIFY Content-Length: 0
/* Bob disconnects with Alice. */
/* Bob disconnects with Alice. */
F26 BYE Bob -> Alice
再见,鲍勃->爱丽丝
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7P Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1026 BYE Content-Length: 0
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7P Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1026 BYE Content-Length: 0
F27 200 OK Alice -> Bob
F27 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7P
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7P
;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1026 BYE Content-Length: 0
;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1026 BYE Content-Length: 0
Alice Bob Carol | | | | INVITE F1 | | |------------->| | | 180 Ringing F2 | |<-------------| | | 200 OK F3 | | |<-------------| | | ACK F4 | | |------------->| | | Both way RTP Established | |<============>| | | | MESSAGE F5 | | |------------------>| | | 200 OK F6 | | |<------------------| | | | | INVITE Replaces:A-B F7 | |<---------------------------------| | 200 OK F8 | |--------------------------------->| | ACK F9 | |<---------------------------------| | Both way RTP Established | |<================================>| | BYE F10 | | |------------->| | | 200 OK F11 | | |<-------------| | | |
Alice Bob Carol | | | | INVITE F1 | | |------------->| | | 180 Ringing F2 | |<-------------| | | 200 OK F3 | | |<-------------| | | ACK F4 | | |------------->| | | Both way RTP Established | |<============>| | | | MESSAGE F5 | | |------------------>| | | 200 OK F6 | | |<------------------| | | | | INVITE Replaces:A-B F7 | |<---------------------------------| | 200 OK F8 | |--------------------------------->| | ACK F9 | |<---------------------------------| | Both way RTP Established | |<================================>| | BYE F10 | | |------------->| | | 200 OK F11 | | |<-------------| | | |
In this scenario, Alice and Bob establish a session between them. Bob wants Carol to take the call and so sends an Instant Message (IM) to Carol containing Alice's URI and an embedded Replaces header field. If Carol clicks on the URI, Carol's SIP UA sends an INVITE to Alice, which replaces the session with Bob.
在这个场景中,Alice和Bob在他们之间建立了一个会话。Bob希望Carol接听电话,因此向Carol发送一条即时消息(IM),其中包含Alice的URI和嵌入的头字段。如果Carol单击URI,Carol的SIP UA将向Alice发送邀请,这将用Bob替换会话。
This scenario shows the use of the SIP MESSAGE [RFC3428] method to pass the URI. However, another IM protocol or other method could have been used to pass the URI from Bob to Carol.
此场景显示使用SIP消息[RFC3428]方法传递URI。但是,可以使用另一个IM协议或其他方法将URI从Bob传递给Carol。
Message Details
消息详细信息
F1 INVITE Alice -> Bob INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
F1 INVITE Alice -> Bob INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
F2 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F3 200 OK Bob -> Alice
F3 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com Contact: <sips:bob@client.biloxi.example.com> CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com Contact: <sips:bob@client.biloxi.example.com> CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 ACK Alice -> Bob
F4确认爱丽丝->鲍勃
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74r Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74r Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces CSeq: 1 ACK Content-Length: 0
/* Bob IMs Carol. */
/* Bob IMs Carol. */
F5 MESSAGE Bob -> Carol
F5消息Bob->Carol
MESSAGE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash Max-Forwards: 70
MESSAGE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash Max-Forwards: 70
From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 MESSAGE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Type: text/html Content-Length: ...
From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 MESSAGE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Type: text/html Content-Length: ...
<HTML>Do you want to take this call from <allOneLine> <A HREF="sips:a8342043f@atlanta.example.com;gr?Replaces= 12345600@atlanta.example.com%3Bto-tag%3D3145678 %3Bfrom-tag%3D1234567&Require=replaces"> Alice</A>? </allOneLine> </HTML>
<HTML>Do you want to take this call from <allOneLine> <A HREF="sips:a8342043f@atlanta.example.com;gr?Replaces= 12345600@atlanta.example.com%3Bto-tag%3D3145678 %3Bfrom-tag%3D1234567&Require=replaces"> Alice</A>? </allOneLine> </HTML>
F6 200 OK Carol -> Bob
F6 200 OK卡罗尔->鲍勃
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 MESSAGE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=5f35a3 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 MESSAGE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Length: 0
/* Carol takes the call from Bob. */
/* Carol takes the call from Bob. */
F7 INVITE Carol -> Alice
F7邀请卡罗尔->爱丽丝
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675310 To: Alice <sips:a8342043f@atlanta.example.com;gr> Call-ID: 563456212@b2.chicago.example.com CSeq: 1 INVITE Require: replaces
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675310 To: Alice <sips:a8342043f@atlanta.example.com;gr> Call-ID: 563456212@b2.chicago.example.com CSeq: 1 INVITE Require: replaces
Replaces: 12345600@atlanta.example.com ;to-tag=3145678;from-tag=1234567 Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Type: application/sdp Content-Length: ...
Replaces: 12345600@atlanta.example.com ;to-tag=3145678;from-tag=1234567 Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890843122 2890843122 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 5342 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890843122 2890843122 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 5342 RTP/AVP 0 a=rtpmap:0 PCMU/8000
/* Alice matches the dialog information in the Replaces header and accepts the INVITE. */
/* Alice matches the dialog information in the Replaces header and accepts the INVITE. */
F8 200 OK Alice -> Carol
F8 200 OK爱丽丝->卡罗尔
SIP/2.0 200 OK Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH ;received=192.0.2.114 From: Carol <sips:carol@chicago.example.com>;tag=8675310 To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=131256 Call-ID: 563456212@b2.chicago.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH ;received=192.0.2.114 From: Carol <sips:carol@chicago.example.com>;tag=8675310 To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=131256 Call-ID: 563456212@b2.chicago.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F9 ACK Carol -> Alice
F9确认卡罗尔->爱丽丝
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS b2.biloxi.example.com:5061 ;branch=z9hG4bK7435 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675310 To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=131256 Call-ID: 563456212@b2.chicago.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS b2.biloxi.example.com:5061 ;branch=z9hG4bK7435 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675310 To: Alice <sips:a8342043f@atlanta.example.com;gr>;tag=131256 Call-ID: 563456212@b2.chicago.example.com CSeq: 1 ACK Content-Length: 0
/* RTP streams are established between Alice and Carol. Alice hangs up with Bob due to the Replaces header field. */
/* RTP streams are established between Alice and Carol. Alice hangs up with Bob due to the Replaces header field. */
F10 BYE Alice -> Bob
再见,爱丽丝->鲍勃
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F11 200 OK Bob -> Alice
F11 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Alice Proxy Gateway | | | | INVITE F1 | | |--------------->| | |(100 Trying) F2 | | |<---------------| | | (181 Call Is Being Forwarded) F3 |<---------------| INVITE F4 | | |------------->| | |180 Ringing F5| | 180 Ringing F6 |<-------------| |<---------------| 200 OK F7 | | 200 OK F8 |<-------------| |<---------------| | | ACK F9 | | |--------------->| ACK F10 | | |------------->| | Both way RTP Established | |<=============================>| | BYE F11 | | |--------------->| BYE F12 | | |------------->| | | 200 OK F13 | | 200 OK F14 |<-------------| |<---------------| | | | |
Alice Proxy Gateway | | | | INVITE F1 | | |--------------->| | |(100 Trying) F2 | | |<---------------| | | (181 Call Is Being Forwarded) F3 |<---------------| INVITE F4 | | |------------->| | |180 Ringing F5| | 180 Ringing F6 |<-------------| |<---------------| 200 OK F7 | | 200 OK F8 |<-------------| |<---------------| | | ACK F9 | | |--------------->| ACK F10 | | |------------->| | Both way RTP Established | |<=============================>| | BYE F11 | | |--------------->| BYE F12 | | |------------->| | | 200 OK F13 | | 200 OK F14 |<-------------| |<---------------| | | | |
Bob wants all calls forwarded to the Public Switched Telephone Network (PSTN) (which is just another URI to the proxy server). Alice calls Bob. The proxy server rewrites the Request URI, and forwards the INVITE to a Gateway. Details of messaging behind the Gateway are not shown.
Bob希望所有呼叫都转发到公共交换电话网(PSTN)(这只是代理服务器的另一个URI)。爱丽丝打电话给鲍勃。代理服务器重写请求URI,并将邀请转发到网关。未显示网关后面的消息传递详细信息。
Note that the 181 Call is Being Forwarded response is shown as sent by the proxy. Strictly speaking, the proxy is behaving as a user agent in this case as a proxy cannot generate non-100 provisional responses.
请注意,181呼叫正在转发,响应显示为由代理发送。严格地说,代理是作为用户代理的,在这种情况下,代理无法生成非100个临时响应。
Note also that forwarding could be accomplished using a redirect (302 Moved Temporarily response).
还请注意,可以使用重定向(302临时移动响应)完成转发。
Message Details
消息详细信息
F1 INVITE Alice -> Proxy INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
F1 INVITE Alice -> Proxy INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 (100 Trying) Proxy -> Alice
F2(100次尝试)代理->Alice
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F3 (181 Call is Being Forwarded) Proxy -> Alice
F3(正在转发181个呼叫)代理->Alice
SIP/2.0 181 Call is Being Forwarded Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=9214d
SIP/2.0 181 Call is Being Forwarded Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=9214d
Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
呼叫ID:12345600@atlanta.example.comCSeq:1邀请内容长度:0
/* Proxy forwards call by rewriting Request-URI. */
/* Proxy forwards call by rewriting Request-URI. */
F4 INVITE Proxy -> Gateway
F4邀请代理->网关
INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F5 180 Ringing Gateway -> Proxy
F5 180振铃网关->代理
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com
CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Content Length:0
CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Content Length:0
F6 180 Ringing Proxy -> Alice
F6 180振铃代理->Alice
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Content Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Content Length: 0
F7 200 OK Gateway -> Proxy
F7 200正常网关->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com s= c=IN IP4 gatewayone.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com s= c=IN IP4 gatewayone.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F8 200 OK Proxy -> Alice
F8 200 OK Proxy->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:+19727293660@gw1.example.com;user=phone> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com s= c=IN IP4 gatewayone.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=GATEWAY1 2890844527 2890844527 IN IP4 gatewayone.example.com s= c=IN IP4 gatewayone.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F9 ACK Alice -> Proxy
F9确认->代理
ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf31 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf31 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F10 ACK Proxy -> Gateway
F10确认代理->网关
ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749ws.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf31 ;received=192.0.2.103 Max-Forwards: 69
ACK sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749ws.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf31 ;received=192.0.2.103 Max-Forwards: 69
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F11 BYE Alice -> Proxy
F11再见Alice->Proxy
BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F12 BYE Proxy -> Gateway
F12通过代理->网关
BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749G1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:+19727293660@gw1.example.com;user=phone SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749G1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F13 200 OK Gateway -> Proxy
F13 200正常网关->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749G1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749G1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159
Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
呼叫ID:12345600@atlanta.example.comCSeq:2字节内容长度:0
F14 200 OK Proxy -> Alice
F14 200 OK Proxy->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfJe ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Alice Proxy User B1 User B2 | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | |------------->| | |(100 Trying) F3 | | | |<---------------| 486 Busy F4 | | | |<-------------| | | | ACK F5 | | | |------------->| | |(181 Call is Being Forwarded) F6 | |<---------------| | INVITE F7 | | |--------------------------------->| | | | 180 Ringing F8 | | |<---------------------------------| | 180 Ringing F9 | | | |<---------------| | 200 OK F10 | | |<---------------------------------| | 200 OK F11 | | | |<---------------| | | | ACK F12 | | | |--------------->| | ACK F13 | | |--------------------------------->| | Both way RTP Established | |<=================================================>| | BYE F14 | | | |--------------->| | BYE F15 | | |--------------------------------->| | | | 200 OK F16 | | 200 OK F17 |<---------------------------------| |<---------------| | | | | | |
Alice Proxy User B1 User B2 | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | | |------------->| | |(100 Trying) F3 | | | |<---------------| 486 Busy F4 | | | |<-------------| | | | ACK F5 | | | |------------->| | |(181 Call is Being Forwarded) F6 | |<---------------| | INVITE F7 | | |--------------------------------->| | | | 180 Ringing F8 | | |<---------------------------------| | 180 Ringing F9 | | | |<---------------| | 200 OK F10 | | |<---------------------------------| | 200 OK F11 | | | |<---------------| | | | ACK F12 | | | |--------------->| | ACK F13 | | |--------------------------------->| | Both way RTP Established | |<=================================================>| | BYE F14 | | | |--------------->| | BYE F15 | | |--------------------------------->| | | | 200 OK F16 | | 200 OK F17 |<---------------------------------| |<---------------| | | | | | |
Bob wants calls to B1 forwarded to B2 if B1 is busy (this information is known to the proxy). Alice calls B1, B1 is busy, the proxy server places call to B2.
如果B1忙,Bob希望将对B1的呼叫转发到B2(代理知道此信息)。Alice呼叫B1,B1忙,代理服务器呼叫B2。
Message Details
消息详细信息
F1 INVITE Alice -> Proxy
F1邀请Alice->Proxy
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 INVITE Proxy -> B1
F2邀请代理->B1
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy -> Alice
F3(100次尝试)代理->Alice
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F4 486 Busy Here B1 -> Proxy
F4 486忙在这里B1->代理
SIP/2.0 486 Busy Here Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 486 Busy Here Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F5 ACK Proxy -> B1
F5确认代理->B1
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F6 (181 Call is Being Forwarded) Proxy -> Alice
F6(正在转发181个呼叫)代理->Alice
SIP/2.0 181 Call is Being Forwarded Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103
SIP/2.0 181 Call is Being Forwarded Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=9214d Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=9214d Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
/* The proxy now forwards the call to B2. */
/* The proxy now forwards the call to B2. */
F7 INVITE Proxy -> B2
F7邀请代理->B2
INVITE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F8 180 Ringing B2 -> Proxy
F8 180响铃B2->代理
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567
To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
F9 180 Ringing Proxy -> Alice
F9 180振铃代理->Alice
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
F10 200 OK B2 -> Proxy
F10 200正常B2->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F11 200 OK Proxy -> Alice
F11 200 OK Proxy->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F12 ACK Alice -> Proxy
F12确认爱丽丝->代理
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfX Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfX Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F13 ACK Proxy -> B2
F13确认代理->B2
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83731 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfX ;received=192.0.2.103 Max-Forwards: 69
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83731 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfX ;received=192.0.2.103 Max-Forwards: 69
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* RTP streams are established between Alice and B2. */
/* RTP streams are established between Alice and B2. */
/* Alice eventually hangs up with User B2. */
/* Alice eventually hangs up with User B2. */
F14 BYE Alice -> Proxy
F14再见Alice->Proxy
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bW4 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bW4 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F15 BYE Proxy -> B2
F15通过代理->B2
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bW4 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bW4 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F16 200 OK B2 -> Proxy
F16 200正常B2->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837493 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061
;branch=z9hG4bK74bW4 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
;branch=z9hG4bK74bW4 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F17 200 OK Proxy -> Alice
F17 200 OK Proxy->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bW4 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bW4 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Alice Proxy User B1 User B2 | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | |(100 Trying) F3 |------------->| | |<---------------|180 Ringing F4| | | 180 Ringing F5 |<-------------| | |<---------------| | | | Request Timeout | | | | | | | CANCEL F6 | | | |------------->| | | | 200 OK F7 | | | |<-------------| | | | 487 F8 | | | |<-------------| | | | ACK F9 | | | |------------->| | |(181 Call is Being Forwarded) F10 | |<---------------| | INVITE F11 | | |--------------------------------->| | | | 180 Ringing F12 | | 180 Ringing F13|<---------------------------------| |<---------------| | 200 OK F14 | | |<---------------------------------| | 200 OK F15 | | | |<---------------| | | | ACK F16 | | | |--------------->| | ACK F17 | | |--------------------------------->| | Both way RTP Established | |<=================================================>| | BYE F18 | | | |--------------->| | BYE F19 | | |--------------------------------->| | | | 200 OK F20 | | 200 OK F21 |<---------------------------------| |<---------------| | | | | | |
Alice Proxy User B1 User B2 | | | | | INVITE F1 | | | |--------------->| INVITE F2 | | |(100 Trying) F3 |------------->| | |<---------------|180 Ringing F4| | | 180 Ringing F5 |<-------------| | |<---------------| | | | Request Timeout | | | | | | | CANCEL F6 | | | |------------->| | | | 200 OK F7 | | | |<-------------| | | | 487 F8 | | | |<-------------| | | | ACK F9 | | | |------------->| | |(181 Call is Being Forwarded) F10 | |<---------------| | INVITE F11 | | |--------------------------------->| | | | 180 Ringing F12 | | 180 Ringing F13|<---------------------------------| |<---------------| | 200 OK F14 | | |<---------------------------------| | 200 OK F15 | | | |<---------------| | | | ACK F16 | | | |--------------->| | ACK F17 | | |--------------------------------->| | Both way RTP Established | |<=================================================>| | BYE F18 | | | |--------------->| | BYE F19 | | |--------------------------------->| | | | 200 OK F20 | | 200 OK F21 |<---------------------------------| |<---------------| | | | | | |
Bob wants calls to B1 forwarded to B2 if B1 is not answered (information is known to the proxy server). Alice calls B1 and no one answers. The proxy server then places the call to B2.
如果B1没有应答,Bob希望将对B1的呼叫转发给B2(代理服务器知道这些信息)。爱丽丝打电话给B1,但没人接。然后,代理服务器将调用放在B2上。
Message Details
消息详细信息
F1 INVITE Alice -> Proxy
F1邀请Alice->Proxy
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 INVITE Proxy -> B1
F2邀请代理->B1
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s=
v=0 o=IP4 client.atlanta.example.com s中的alice 2890844526 2890844526=
c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy -> Alice
F3(100次尝试)代理->Alice
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F4 180 Ringing B1 -> Proxy
F4 180振铃B1->代理
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F5 180 Ringing Proxy -> Alice
F5 180振铃代理->Alice
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE
Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
/* B1 rings until a configurable timer expires in the proxy. The proxy sends Cancel and proceeds down the list of routes. */
/* B1 rings until a configurable timer expires in the proxy. The proxy sends Cancel and proceeds down the list of routes. */
F6 CANCEL Proxy -> B1
F6取消代理->B1
CANCEL sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
CANCEL sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
F7 200 OK B1 -> Proxy
F7 200正常B1->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=329d823 Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=329d823 Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
F8 487 Request Terminated B1 -> Proxy
F8 487请求已终止B1->代理
SIP/2.0 487 Request Terminated Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 487 Request Terminated Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F9 ACK Proxy -> B1
F9确认代理->B1
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F10 (181 Call is Being Forwarded) Proxy -> Alice
F10(正在转发181个呼叫)代理->Alice
SIP/2.0 181 Call is Being Forwarded Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=9214d Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 181 Call is Being Forwarded Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=9214d Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F11 INVITE Proxy -> B2
F11邀请代理->B2
INVITE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s=
v=0 o=IP4 client.atlanta.example.com s中的alice 2890844526 2890844526=
c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F12 180 Ringing B2 -> Proxy
F12 180振铃B2->代理
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
F13 180 Proxy -> Alice
F13 180代理->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Content-Length: 0
F14 200 OK B2 -> Proxy
F14 200正常B2->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103
Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F15 200 OK Proxy -> Alice
F15 200 OK Proxy->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client2.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client2.biloxi.example.com s= c=IN IP4 client2.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F16 ACK Alice -> Proxy
F16确认爱丽丝->代理
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061
;branch=z9hG4bK74bf3 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
;branch=z9hG4bK74bf3 Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F17 ACK Proxy -> B2
F17确认代理->B2
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf3 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf3 ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* RTP streams are established between Alice and B2. Alice hangs up with User B2. */
/* RTP streams are established between Alice and B2. Alice hangs up with User B2. */
F18 BYE Alice -> Proxy
F18再见Alice->Proxy
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F19 BYE Proxy -> B2
F19通过代理->B2
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837.1
BYE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837.1
Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F20 200 OK B2 -> Proxy
F20 200正常B2->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK837.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F21 200 OK Proxy -> Alice
F21 200 OK Proxy->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b3f ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 2 BYE Content-Length: 0
Alice Bob Carol | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| | | INVITE F5 | | |<---------------| | | 200 OK F6 | | |--------------->| | | ACK F7 | | |<---------------| INVITE F8 | | |------------->| | | 180 F9 | | |<-------------| | | 200 OK F10 | | |<-------------| | | ACK F11 | | |------------->| | | RTP | | |<============>|
Alice Bob Carol | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| | | INVITE F5 | | |<---------------| | | 200 OK F6 | | |--------------->| | | ACK F7 | | |<---------------| INVITE F8 | | |------------->| | | 180 F9 | | |<-------------| | | 200 OK F10 | | |<-------------| | | ACK F11 | | |------------->| | | RTP | | |<============>|
In this scenario, Alice and Bob are in a 2-party call (session) when Bob wishes to add Carol into the conversation. Bob is capable of media mixing in a 3-party call. Bob first sends a re-INVITE to Alice, changing Contact URIs to one that indicates Bob's mixer and acts like a focus. As a result, Bob includes the "isfocus" feature tag [RFC3840] as described in [RFC4579]. Bob then INVITEs Carol using the same Contact URI. Note that Bob could wait to re-INVITE Alice until after Carol has answered. Bob could also put Alice on hold before calling Carol.
在此场景中,Alice和Bob正在进行两方通话(会话),Bob希望将Carol添加到对话中。Bob能够在三方通话中进行媒体混合。Bob首先向Alice发送一个重新邀请,将联系人URI更改为表示Bob的混音器并充当焦点的URI。因此,Bob包括[RFC4579]中所述的“isfocus”功能标签[RFC3840]。Bob然后使用相同的联系人URI邀请Carol。请注意,Bob可以等到Carol回答后再重新邀请Alice。鲍勃也可以在给卡罗尔打电话之前先让爱丽丝等一下。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9
Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
F2 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Content-Length: 0
F3 200 OK Bob -> Alice
F3 200 OK Bob->Alice
SIP/2.0 200 OK
SIP/2.0 200正常
Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 ACK Alice -> Bob
F4确认爱丽丝->鲍勃
ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfL Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfL Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* Alice and Bob have established a session. Bob re-INVITEs, changing Contact URIs. */
/* Alice and Bob have established a session. Bob re-INVITEs, changing Contact URIs. */
F5 INVITE Bob -> Alice
F5邀请Bob->Alice
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Content-Type: application/sdp Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Content-Type: application/sdp Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s=
v=0 o=IP4 client.biloxi.example.com中的bob 2890844527 2890844528=
c=IN IP4 client.biloxi.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
c=IN IP4 client.biloxi.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F6 200 OK Alice -> Bob
F6 200 OK Alice->Bob
SIP/2.0 200 OK
SIP/2.0 200正常
Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F7 ACK Bob -> Alice
F7确认Bob->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash3G Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 ACK Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash3G Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 ACK Content-Length: 0
/* Bob calls Carol. */
/* Bob calls Carol. */
F8 INVITE Bob -> Carol
F8邀请鲍勃->卡罗尔
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashJfd Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashJfd Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 48174 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 48174 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F9 180 Ringing Carol -> Bob
F9 180振铃卡罗尔->鲍勃
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashJfd ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=341313 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashJfd ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=341313 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F10 200 OK Carol -> Bob
F10 200 OK卡罗尔->鲍勃
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashJfd ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashJfd ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309
To: Carol <sips:carol@chicago.example.com>;tag=341313 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
To: Carol <sips:carol@chicago.example.com>;tag=341313 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F11 ACK Bob -> Carol
F11确认鲍勃->卡罗尔
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash431 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=341313 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 ACK Content-Length: 0
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash431 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=341313 Call-ID: sdjfdjfskdf@biloxi.example.com CSeq: 42 ACK Content-Length: 0
/* Bob's mixer now mixes media from both Alice and Carol to create the 3-way conference. */
/* Bob's mixer now mixes media from both Alice and Carol to create the 3-way conference. */
Alice Bob Carol | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| INVITE Join:A-B F5 | |<-------------| | | 180 F6 | | |------------->| | INVITE F7 | | |<---------------| | | 200 OK F8 | | |--------------->| | | ACK F9 | | |<---------------| | | | 200 OK F10 | | |------------->| | | ACK F11 | | |<-------------| | | RTP | | |<============>|
Alice Bob Carol | INVITE F1 | | |--------------->| | | 180 Ringing F2 | | |<---------------| | | 200 OK F3 | | |<---------------| | | ACK F4 | | |--------------->| | | RTP | | |<==============>| INVITE Join:A-B F5 | |<-------------| | | 180 F6 | | |------------->| | INVITE F7 | | |<---------------| | | 200 OK F8 | | |--------------->| | | ACK F9 | | |<---------------| | | | 200 OK F10 | | |------------->| | | ACK F11 | | |<-------------| | | RTP | | |<============>|
In this scenario, Alice and Bob are in a 2-party call and Carol wishes to join, resulting in a 3-party call. Carol could have learned Bob's dialog identifier using some non-SIP means, or possibly from a NOTIFY with the dialog package sent by Bob. Carol sends an INVITE to Bob containing a Join header identifying the dialog between Alice and Bob. Bob re-INVITEs Alice to switch to focus mode and includes the "isfocus" feature tag [RFC3840] as described in [RFC4579]. Bob then accepts the INVITE from Carol, resulting in the 3-way call.
在这个场景中,Alice和Bob正在进行一个两方通话,而Carol希望加入,这导致了一个三方通话。Carol可以使用一些非SIP方法学习Bob的对话标识符,或者可能从Bob发送的带有对话包的NOTIFY中学习。Carol向Bob发送一个邀请,其中包含一个连接头,标识Alice和Bob之间的对话。Bob再次邀请Alice切换到焦点模式,并包括[RFC4579]中所述的“isfocus”功能标签[RFC3840]。然后Bob接受了Carol的邀请,结果是三方通话。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9
Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
F2 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Content-Length: 0
F3 200 OK Bob -> Alice
F3 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:b54gh42f5@biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, join, gruu Content-Type: application/sdp Content-Length: ...
Supported: replaces, join, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 ACK Alice -> Bob
F4确认爱丽丝->鲍勃
ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf6 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:b54gh42f5@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf6 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* Alice and Bob have established a session. Carol requests to join the session. */
/* Alice and Bob have established a session. Carol requests to join the session. */
F5 INVITE Carol -> Bob
F5邀请卡罗尔->鲍勃
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com> Call-ID: 452k499sk@chicago.example.com CSeq: 99 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431 Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com> Call-ID: 452k499sk@chicago.example.com CSeq: 99 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join Join: 12345600@atlanta.example.com;from-tag=1234567;to-tag=23431 Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F6 180 Ringing Bob -> Carol
F6 180振铃鲍勃->卡罗尔
SIP/2.0 180 Ringing Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnashds7 ;received=120. From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=0982 Call-ID: 452k499sk@chicago.example.com CSeq: 99 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnashds7 ;received=120. From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=0982 Call-ID: 452k499sk@chicago.example.com CSeq: 99 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Length: 0
F7 INVITE Bob -> Alice
F7邀请Bob->Alice
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdyKL Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Content-Type: application/sdp Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join, gruu Content-Length: ...
INVITE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdyKL Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus Content-Type: application/sdp Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join, gruu Content-Length: ...
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844528 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F8 200 OK Alice -> Bob SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdyKL ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
F8 200 OK Alice -> Bob SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdyKL ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F9 ACK Bob -> Alice
F9确认Bob->Alice
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash3g Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 ACK Content-Length: 0
ACK sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnash3g Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=23431 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1024 ACK Content-Length: 0
F10 200 OK Bob -> Carol
F10 200 OK鲍勃->卡罗尔
SIP/2.0 200 OK Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnashds7 ;received=120. From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=0982 Call-ID: 452k499sk@chicago.example.com CSeq: 99 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus
SIP/2.0 200 OK Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnashds7 ;received=120. From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=0982 Call-ID: 452k499sk@chicago.example.com CSeq: 99 INVITE Contact: <sips:bob-Mixer@client.biloxi.example.com>;isfocus
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join, gruu Content-Type: application/sdp Content-Length: ...
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 48174 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 28908445834 2890844834 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 48174 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F11 ACK OK Carol -> Bob
F11确认OK卡罗尔->鲍勃
ACK sips:bob-Mixer@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnash4Gf Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=0982 Call-ID: 452k499sk@chicago.example.com CSeq: 99 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join Content-Length:0
ACK sips:bob-Mixer@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS chicago.example.com:5061 ;branch=z9hG4bKnash4Gf Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=0982 Call-ID: 452k499sk@chicago.example.com CSeq: 99 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, join Content-Length:0
Alice Proxy User User User User B1 B2 B3 B4 | | | | | | | INVITE F1 | | | | | |--------------->| INVITE F2 | | | | | |------------->| | | | |(100 Trying) F3 | | | | | |<---------------|180 Ringing F4| | | | | |<-------------| | | | | 180 Ringing F5 | | | | | |<---------------| | | | | | | Timeout | | | | | | | | | | | | CANCEL F6 | | | | | |------------->| | | | | | 200 OK F7 | | | | | |<-------------| | | | | | 487 F8 | | | | | |<-------------| | | | | | ACK F9 | | | | | |------------->| | | | | | INVITE F10 | | | | |-------------------->| | | | |480 Not Logged In F11| | | | |<--------------------| | | | | ACK F12| | | | |-------------------->| | | | | INVITE F13 | | | |--------------------------->| | | | 486 Busy Here F14 | | | |<---------------------------| | | | ACK F15 | | | |--------------------------->| | | | INVITE F16 | | |---------------------------------->| | | 180 Ringing F17 | | 180 F18 |<----------------------------------| |<---------------| 200 OK F19 | | 200 OK F20 |<----------------------------------| |<---------------| | | ACK F21 | | |--------------->| ACK F22 | | |---------------------------------->| | Both way RTP Established | |<==================================================>|
Alice Proxy User User User User B1 B2 B3 B4 | | | | | | | INVITE F1 | | | | | |--------------->| INVITE F2 | | | | | |------------->| | | | |(100 Trying) F3 | | | | | |<---------------|180 Ringing F4| | | | | |<-------------| | | | | 180 Ringing F5 | | | | | |<---------------| | | | | | | Timeout | | | | | | | | | | | | CANCEL F6 | | | | | |------------->| | | | | | 200 OK F7 | | | | | |<-------------| | | | | | 487 F8 | | | | | |<-------------| | | | | | ACK F9 | | | | | |------------->| | | | | | INVITE F10 | | | | |-------------------->| | | | |480 Not Logged In F11| | | | |<--------------------| | | | | ACK F12| | | | |-------------------->| | | | | INVITE F13 | | | |--------------------------->| | | | 486 Busy Here F14 | | | |<---------------------------| | | | ACK F15 | | | |--------------------------->| | | | INVITE F16 | | |---------------------------------->| | | 180 Ringing F17 | | 180 F18 |<----------------------------------| |<---------------| 200 OK F19 | | 200 OK F20 |<----------------------------------| |<---------------| | | ACK F21 | | |--------------->| ACK F22 | | |---------------------------------->| | Both way RTP Established | |<==================================================>|
| | BYE F23 | | BYE F24 |<----------------------------------| |<---------------| | | 200 OK F25 | | |--------------->| 200 OK F26 | | |---------------------------------->| | | |
| | BYE F23 | | BYE F24 |<----------------------------------| |<---------------| | | 200 OK F25 | | |--------------->| 200 OK F26 | | |---------------------------------->| | | |
Alice's call to Bob will result in an attempt to locate Bob by calling locations from a list of contacts. The location to answer the call becomes the active set; no other sets may join the call.
Alice对Bob的呼叫将导致尝试通过从联系人列表中调用位置来定位Bob。应答呼叫的位置成为激活集;其他组不能加入呼叫。
While this flow shows a sequential search, the search could be accomplished using parallel forking.
虽然此流程显示了顺序搜索,但可以使用并行分叉来完成搜索。
Message Details
消息详细信息
F1 INVITE Alice -> Proxy
F1邀请Alice->Proxy
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 INVITE Proxy -> B1
F2邀请代理->B1
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103
INVITE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103
Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t= 0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F3 (100 Trying) Proxy -> Alice
F3(100次尝试)代理->Alice
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 100 Trying Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F4 180 Ringing B1 -> Proxy
F4 180振铃B1->代理
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F5 180 Ringing Proxy -> Alice
F5 180振铃代理->Alice
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
/* B1 rings until a configurable timer in the proxy expires. The proxy then sends Cancel and proceeds down the list of routes. */
/* B1 rings until a configurable timer in the proxy expires. The proxy then sends Cancel and proceeds down the list of routes. */
F6 CANCEL Proxy -> B1
F6取消代理->B1
CANCEL sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
CANCEL sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
F7 200 OK B1 -> Proxy
F7 200正常B1->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
F8 487 Request Terminated B1 -> Proxy
F8 487请求已终止B1->代理
SIP/2.0 487 Request Terminated
SIP/2.0 487请求终止
Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F9 ACK Proxy -> B1
F9确认代理->B1
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F10 INVITE Proxy -> B2
F10邀请代理->B2
INVITE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com
v=0 o=alice 2890844526在IP4 client.atlanta.example.com中2890844526在IP4 client.atlanta.example.com中s=c=
t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F11 480 Not Logged In B2 -> Proxy
F11 480未登录B2->Proxy
SIP/2.0 480 Not Logged In Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314756 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 480 Not Logged In Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314756 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F12 ACK Proxy -> B2
F12确认代理->B2
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314756 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client2.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.2 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314756 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F13 INVITE Proxy -> B3
F13邀请代理->B3
INVITE sips:bob@client3.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.3 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE
INVITE sips:bob@client3.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.3 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE
Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F14 486 Busy Here B3 -> Proxy
F14 486忙在这里B3->代理
SIP/2.0 486 Busy Here Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.3 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 486 Busy Here Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.3 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F15 ACK Proxy -> B3
F15确认代理->B3
ACK sips:bob@client3.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.3 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client3.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.3 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7654321 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F16 INVITE Proxy -> B4
F16邀请代理->B4
INVITE sips:bob@client4.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.4 Via: SIP/2.0/TLS client.atlanta.example.com:5061
INVITE sips:bob@client4.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.4 Via: SIP/2.0/TLS client.atlanta.example.com:5061
;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F17 180 Ringing B4 -> Proxy
F17 180振铃B4->代理
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.4 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.4 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Length: 0
F18 180 Ringing Proxy -> Alice
F18 180振铃代理->Alice
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136
Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Length: 0
Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Length: 0
F19 200 OK B4 -> Proxy
F19 200正常B4->代理
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.4 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83749.4 ;received=192.0.2.54 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com s= c=IN IP4 client4.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com s= c=IN IP4 client4.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F20 200 OK Proxy -> Alice
F20 200 OK Proxy->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 Record-Route: <sips:ss1.example.com;lr> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client4.biloxi.example.com> Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com s= c=IN IP4 client4.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client4.biloxi.example.com s= c=IN IP4 client4.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F21 ACK Alice -> Proxy
确认爱丽丝->代理
ACK sips:bob@client4.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client4.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F22 ACK Proxy -> B4
确认代理->B4
ACK sips:bob@client4.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client4.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK8374 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf ;received=192.0.2.103 Max-Forwards: 69 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7137136 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* RTP streams are established between Alice and B4. */
/* RTP streams are established between Alice and B4. */
/* User B4 hangs up with Alice. */
/* User B4 hangs up with Alice. */
F23 BYE B4 -> Proxy
再见B4->代理
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7
Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=7137136 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
Route: <sips:ss1.example.com;lr> Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=7137136 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
F24 BYE Proxy -> Alice
再见代理->爱丽丝
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83754 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=7137136 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83754 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 Max-Forwards: 69 From: Bob <sips:bob@biloxi.example.com>;tag=7137136 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
F25 200 OK Alice -> Proxy
F25 200 OK Alice->Proxy
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83754 ;received=192.0.2.54 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=7137136 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS ss1.example.com:5061 ;branch=z9hG4bK83754 ;received=192.0.2.54 Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=7137136 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
F26 200 OK Proxy -> B4
F26 200正常代理->B4
SIP/2.0 200 OK Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=7137136
SIP/2.0 200 OK Via: SIP/2.0/TLS client4.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=7137136
To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
Announcement Alice Proxy Bob Server
公告Alice代理Bob服务器
| | | | | INVITE F1 | | | |------------------------------>| | | 305 Use Proxy F2 | | |<------------------------------| | | ACK F3 | | | |------------------------------>| | | INVITE F4 | | | |--------------->| | | | 407 Proxy Authentication F5 | | |<---------------| | | | ACK F6 | | | |--------------->| | | | INVITE F7 | | | |--------------->| | | | 403 Screening Failure (Terminating) Error-Info: URI F8 |<---------------| | | | ACK F9 | | | |--------------->| | | | INVITE F10 | | | |--------------------------------------------->| | 200 OK F11 | | | |--------------------------------------------->| | ACK F12 | | |--------------------------------------------->| | Announcement Played to Caller | |<=============================================| | BYE F13 | |<---------------------------------------------| | 200 OK F14 | |--------------------------------------------->| | | | | | |
| | | | | INVITE F1 | | | |------------------------------>| | | 305 Use Proxy F2 | | |<------------------------------| | | ACK F3 | | | |------------------------------>| | | INVITE F4 | | | |--------------->| | | | 407 Proxy Authentication F5 | | |<---------------| | | | ACK F6 | | | |--------------->| | | | INVITE F7 | | | |--------------->| | | | 403 Screening Failure (Terminating) Error-Info: URI F8 |<---------------| | | | ACK F9 | | | |--------------->| | | | INVITE F10 | | | |--------------------------------------------->| | 200 OK F11 | | | |--------------------------------------------->| | ACK F12 | | |--------------------------------------------->| | Announcement Played to Caller | |<=============================================| | BYE F13 | |<---------------------------------------------| | 200 OK F14 | |--------------------------------------------->| | | | | | |
Bob has an incoming call screening list; Alice is included on the list of addresses from which Bob will not accept calls. Alice attempts to call Bob. Messages F1, F2, and F3 are included to show that Bob does not accept INVITEs that have not been screened by the proxy.
Bob有来电筛选列表;Alice包含在Bob不接受电话的地址列表中。爱丽丝试图给鲍勃打电话。包含消息F1、F2和F3以表明Bob不接受未经代理筛选的邀请。
Note that call screening cannot be done using the From header -- instead some form of authentication credentials must be used.
请注意,不能使用From标头进行呼叫筛选,必须使用某种形式的身份验证凭据。
The screening proxy inserts an announcement URI in an Error-Info header field, which Alice accesses by sending an INVITE to listen to the Announcement. The Announcement Server uses the automaton and rendering feature tags in F12 and F13 to indicate that it is a media server only capable of playing announcements.
屏蔽代理在错误信息头字段中插入公告URI,Alice通过发送邀请收听公告来访问该字段。公告服务器使用F12和F13中的automaton和rendering功能标记来指示它是仅能够播放公告的媒体服务器。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
/* Bob only accepts INVITEs that have been screened by the proxy. */
/* Bob only accepts INVITEs that have been screened by the proxy. */
F2 305 Use Proxy Bob -> Alice
F2305使用代理Bob->Alice
SIP/2.0 305 Use Proxy Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=342123 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:ss1.example.com> Content-Length: 0
SIP/2.0 305 Use Proxy Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=342123 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:ss1.example.com> Content-Length: 0
F3 ACK Alice -> Bob
F3确认爱丽丝->鲍勃
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=342123 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=342123 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* A retries the call through the proxy. */
/* A retries the call through the proxy. */
F4 INVITE Alice -> Proxy 1
F4邀请Alice->Proxy 1
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf0 Max-Forwards: 70 Route: <sips:ss1.example.com> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf0 Max-Forwards: 70 Route: <sips:ss1.example.com> From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
/* Proxy 1 challenges Alice for authentication. */
/* Proxy 1 challenges Alice for authentication. */
F5 407 Proxy Authentication Required Proxy 1 -> Alice
F5 407需要代理身份验证代理1->Alice
SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf0 ;received=192.0.2.103
SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf0 ;received=192.0.2.103
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7886765 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Proxy-Authenticate: Digest realm="example.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", qop="auth", nc=00000001, cnonce="0a4f113b", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7886765 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Proxy-Authenticate: Digest realm="example.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", qop="auth", nc=00000001, cnonce="0a4f113b", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0
F6 ACK Alice -> Proxy 1
F6确认->代理1
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf0 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7886765 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Content-Length: 0
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf0 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=7886765 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Content-Length: 0
/* Alice responds by sending an INVITE with authentication credentials in it. */
/* Alice responds by sending an INVITE with authentication credentials in it. */
F7 INVITE Alice -> Proxy 1
F7邀请Alice->代理1
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 3 INVITE Contact: <sips:alice@client.atlanta.example.com> Proxy-Authorization: Digest username="alice", realm="example.com", qop=auth, nc=00000001, cnonce="4gr84543ft2", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", uri="sips:bob@biloxi.example.com", response="bbaec39f943bdcb3620d90afc548a45c" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 3 INVITE Contact: <sips:alice@client.atlanta.example.com> Proxy-Authorization: Digest username="alice", realm="example.com", qop=auth, nc=00000001, cnonce="4gr84543ft2", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", uri="sips:bob@biloxi.example.com", response="bbaec39f943bdcb3620d90afc548a45c" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F8 403 Screening Failure (Terminating) Proxy 1 -> Alice
F8 403筛选失败(终止)代理1->Alice
SIP/2.0 403 Screening Failure (Terminating) Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=ffe254 Call-ID: 12345600@atlanta.example.com CSeq: 3 INVITE Error-Info: <sips:screen-fail-term-ann@ms.biloxi.example.com> Content-Length: 0
SIP/2.0 403 Screening Failure (Terminating) Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=ffe254 Call-ID: 12345600@atlanta.example.com CSeq: 3 INVITE Error-Info: <sips:screen-fail-term-ann@ms.biloxi.example.com> Content-Length: 0
F9 ACK Alice -> Proxy 1
F9确认->代理1
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=ffe254 Call-ID: 12345600@atlanta.example.com Proxy-Authorization: Digest username="alice", realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", uri="sips:bob@biloxi.example.com", response="bbaec39f943bdcb3620d90afc548a45c" CSeq: 3 ACK Content-Length: 0
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=ffe254 Call-ID: 12345600@atlanta.example.com Proxy-Authorization: Digest username="alice", realm="example.com", nonce="ae9137be1c87d175c2dd63302a0d6e0a", opaque="", uri="sips:bob@biloxi.example.com", response="bbaec39f943bdcb3620d90afc548a45c" CSeq: 3 ACK Content-Length: 0
/* To hear the recording, Alice connects to the Error-Info URI. */
/* To hear the recording, Alice connects to the Error-Info URI. */
F10 INVITE Alice -> Proxy 1
F10邀请Alice->代理1
INVITE sips:screen-fail-term-ann@ms.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfj Max-Forwards: 70
INVITE sips:screen-fail-term-ann@ms.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfj Max-Forwards: 70
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 4 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 4 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F11 200 OK Announcement Server -> Proxy 1
F11 200正常公告服务器->代理1
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfj ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=234934 Call-ID: 12345600@atlanta.example.com CSeq: 4 INVITE Contact: <sips:ms.biloxi.example.com> ;automaton;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfj ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=234934 Call-ID: 12345600@atlanta.example.com CSeq: 4 INVITE Contact: <sips:ms.biloxi.example.com> ;automaton;+sip.rendering="no" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com s= c=IN IP4 announce.biloxi.example.com t=0 0 m=audio 49174 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=annc 2890844543 2890844543 IN IP4 announce.biloxi.example.com s= c=IN IP4 announce.biloxi.example.com t=0 0 m=audio 49174 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F12 ACK Alice -> Announcement Server
F12确认->公告服务器
ACK sips:ms.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b32
ACK sips:ms.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b32
Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=234934 Call-ID: 12345600@atlanta.example.com CSeq: 4 ACK Content-Length: 0
Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=234934 Call-ID: 12345600@atlanta.example.com CSeq: 4 ACK Content-Length: 0
/* Announcement Server plays announcement then disconnects. */
/* Announcement Server plays announcement then disconnects. */
F13 BYE Announcement Server -> Alice
F13再见公告服务器->Alice
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS announcement.example.com:5061 ;branch=z9hG4bK74bKS Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=234934 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2334 BYE Content-Length: 0
BYE sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS announcement.example.com:5061 ;branch=z9hG4bK74bKS Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=234934 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2334 BYE Content-Length: 0
F14 200 OK Alice -> Announcement Server
F14 200 OK Alice->公告服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS announcement.example.com:5061 ;branch=z9hG4bK74bKS ;received=192.0.2.103 From: Bob <sips:bob@biloxi.example.com>;tag=234934 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2334 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS announcement.example.com:5061 ;branch=z9hG4bK74bKS ;received=192.0.2.103 From: Bob <sips:bob@biloxi.example.com>;tag=234934 To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 2334 BYE Content-Length: 0
Alice Proxy Bob | | | | INVITE F1 | | |--------------->| | | 407 Proxy Authentication F2 | |<---------------| | | ACK F3 | | |--------------->| | | INVITE F4 | | |--------------->| | | 403 Screening Failure (Originating) F5 |<---------------| | | ACK F6 | | |--------------->| | | | |
Alice Proxy Bob | | | | INVITE F1 | | |--------------->| | | 407 Proxy Authentication F2 | |<---------------| | | ACK F3 | | |--------------->| | | INVITE F4 | | |--------------->| | | 403 Screening Failure (Originating) F5 |<---------------| | | ACK F6 | | |--------------->| | | | |
Alice has an outgoing call screening list; Bob is included on the list of addresses to which Alice will not be able to place a call. Alice attempts to call Bob.
Alice有一个呼出电话筛选列表;Bob被列入Alice无法拨打电话的地址列表中。爱丽丝试图给鲍勃打电话。
Alice could establish a session to listen to the announcement in the Error-Info header field.
Alice可以在Error Info header字段中建立一个会话来侦听公告。
Message Details
消息详细信息
F1 INVITE Alice -> Proxy 1
F1邀请Alice->Proxy 1
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0
v=0 o=IP4 client.atlanta.example.com中的alice 2890844526 2890844526 s=c=IP4 client.atlanta.example.com中的t=0
m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
/* Proxy 1 challenges Alice for authentication. */
/* Proxy 1 challenges Alice for authentication. */
F2 407 Proxy Authentication Required Proxy 1 -> Alice
F2407需要代理身份验证代理1->Alice
SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=90210 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="example.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", qop="auth", nc=00000001, cnonce="0a4f113b", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0
SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=90210 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Proxy-Authenticate: Digest realm="example.com", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", qop="auth", nc=00000001, cnonce="0a4f113b", opaque="", stale=FALSE, algorithm=MD5 Content-Length: 0
F3 ACK Alice -> Proxy 1
F3确认爱丽丝->代理1
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=90210 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=90210 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
/* Alice responds be sending an INVITE with authentication credentials in it. */
/* Alice responds be sending an INVITE with authentication credentials in it. */
F4 INVITE Alice -> Proxy 1
F4邀请Alice->Proxy 1
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com
CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Proxy-Authorization: Digest username="alice", realm="example.com", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", uri="sips:bob@biloxi.example.com", response="b9d2e5bcdec9f69ab2a9b44f270285a6" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
CSeq: 2 INVITE Contact: <sips:alice@client.atlanta.example.com> Proxy-Authorization: Digest username="alice", realm="example.com", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", uri="sips:bob@biloxi.example.com", response="b9d2e5bcdec9f69ab2a9b44f270285a6" Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F5 403 Screening Failure (Originating) Proxy 1 -> Alice
F5 403筛选失败(原始)代理1->Alice
SIP/2.0 403 Screening Failure (Originating) Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=18017 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Error-Info: <sips:screen-fail-orig-ann@announcement.example.com> Content-Length: 0
SIP/2.0 403 Screening Failure (Originating) Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=18017 Call-ID: 12345600@atlanta.example.com CSeq: 2 INVITE Error-Info: <sips:screen-fail-orig-ann@announcement.example.com> Content-Length: 0
F6 ACK Alice -> Proxy 1
F6确认->代理1
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=18017 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Proxy-Authorization: Digest username="alice", realm="example.com", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", uri="sips:bob@biloxi.example.com", response="b9d2e5bcdec9f69ab2a9b44f270285a6" Content-Length: 0
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=18017 Call-ID: 12345600@atlanta.example.com CSeq: 2 ACK Proxy-Authorization: Digest username="alice", realm="example.com", nonce="cb360afc54bbaec39f943bd820d9a45c", opaque="", uri="sips:bob@biloxi.example.com", response="b9d2e5bcdec9f69ab2a9b44f270285a6" Content-Length: 0
Alice Bob Park Server Carol | | | | | INVITE F1 | | | |------------->| | | |180 Ringing F2| | | |<-------------| | | | 200 OK F3 | | | |<-------------| | | | ACK F4 | | | |------------->| | | | RTP Media | | | |<============>| | | | Bob Parks Call | | | | REFER Refer-To: A F5 | | |------------->| | | | 202 F6 | | | |<-------------| | | | NOTIFY F7 | | | |<-------------| | | | 200 F8 | | | |------------->| | | INVITE F9 Replaces: B | | |<----------------------------| | | 200 OK F10 | | |---------------------------->| | | ACK F11 | | |<----------------------------| | | RTP Music | | |<===========================>| | | BYE F12 | | | |------------->| NOTIFY F14 | | | 200 OK F13 |<-------------| | |<-------------| 200 OK F15 | | | |------------->| | | | Carol picks up the call | | | | | | | | SUBSCRIBE F16| | | |<-------------| | | | 200 OK F17 | | | |------------->| | | | NOTIFY F18 | | | |------------->| | | | 200 OK F19 | | | |<-------------| | INVITE Replaces: Park Server F20 | |<-------------------------------------------|
Alice Bob Park Server Carol | | | | | INVITE F1 | | | |------------->| | | |180 Ringing F2| | | |<-------------| | | | 200 OK F3 | | | |<-------------| | | | ACK F4 | | | |------------->| | | | RTP Media | | | |<============>| | | | Bob Parks Call | | | | REFER Refer-To: A F5 | | |------------->| | | | 202 F6 | | | |<-------------| | | | NOTIFY F7 | | | |<-------------| | | | 200 F8 | | | |------------->| | | INVITE F9 Replaces: B | | |<----------------------------| | | 200 OK F10 | | |---------------------------->| | | ACK F11 | | |<----------------------------| | | RTP Music | | |<===========================>| | | BYE F12 | | | |------------->| NOTIFY F14 | | | 200 OK F13 |<-------------| | |<-------------| 200 OK F15 | | | |------------->| | | | Carol picks up the call | | | | | | | | SUBSCRIBE F16| | | |<-------------| | | | 200 OK F17 | | | |------------->| | | | NOTIFY F18 | | | |------------->| | | | 200 OK F19 | | | |<-------------| | INVITE Replaces: Park Server F20 | |<-------------------------------------------|
| | | 200 F21 | |------------------------------------------->| | | | ACK F22 | |<-------------------------------------------| | RTP Media | |<==========================================>| | BYE F23 | | |---------------------------->| | | 200 OK F24 | | |<----------------------------| | | No more RTP Music | |
| | | 200 F21 | |------------------------------------------->| | | | ACK F22 | |<-------------------------------------------| | RTP Media | |<==========================================>| | BYE F23 | | |---------------------------->| | | 200 OK F24 | | |<----------------------------| | | No more RTP Music | |
In this example, Alice calls Bob. Bob then parks the call at the Park Server by sending a REFER to the Park Server. The server sends an INVITE to Alice, which replaces the session between Alice and Bob. The Park Server utilizes the automaton, rendering, and byeless feature tags in F9 to indicate its capabilities to Alice. The call is accepted by Alice and causes Alice to send a BYE to Bob. Bob receives notification of the successful park, and also receives the dialog identifiers in the application/sip body of the NOTIFY response.
在本例中,Alice调用Bob。然后,Bob通过向Park服务器发送REFER,将呼叫停在Park服务器上。服务器向Alice发送一个邀请,它将替换Alice和Bob之间的会话。Park服务器利用F9中的automaton、rendering和Byless功能标记向Alice指示其功能。电话被Alice接受,并导致Alice向Bob告别。Bob接收成功停驻的通知,还接收NOTIFY响应的应用程序/sip正文中的对话框标识符。
Carol wishes to retrieve the call, so she sends an INVITE containing the dialog identifiers to Alice, which replaces the session with the Park Server. Alice accepts the call and sends a BYE to the Park Server. Carol obtains the dialog identifiers from a NOTIFY from the Park Server.
Carol希望检索该呼叫,因此她向Alice发送了一个包含对话框标识符的邀请,该邀请将会话替换为Park服务器。Alice接受呼叫并向公园服务器发送“再见”。Carol从公园服务器的通知中获取对话框标识符。
Note that this call flow is a special case of call transfer.
请注意,此呼叫流是呼叫转移的一种特殊情况。
Note also that this flow could also be used for Music on Hold.
还请注意,此流也可用于暂停音乐。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.alice.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.alice.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp
Content-Length: ...
内容长度:。。。
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
F2 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F3 200 OK Bob -> Alice
F3 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 ACK Alice -> Bob
F4确认爱丽丝->鲍勃
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 1 ACK Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Length: 0
/* Bob REFERs Park Server to establish session with Alice, which replaces the established session between Alice and Bob. Note that there is no session established between Bob and the Park Server. */
/* Bob REFERs Park Server to establish session with Alice, which replaces the established session between Alice and Bob. Note that there is no session established between Bob and the Park Server. */
F5 REFER Bob -> Park Server
F5参考Bob->Park Server
REFER sips:park@server.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Park Server <sips:park@server.example.com> Call-ID: 4802029847@biloxi.example.com CSeq: 1 REFER <allOneLine> Refer-To: <sips:a8342043f@atlanta.example.com;gr?Replaces= 12345601%40atlanta.example.com%3Bfrom-tag%3D314159 %3Bto-tag%3D1234567&Require=replaces> </allOneLine> Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
REFER sips:park@server.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Park Server <sips:park@server.example.com> Call-ID: 4802029847@biloxi.example.com CSeq: 1 REFER <allOneLine> Refer-To: <sips:a8342043f@atlanta.example.com;gr?Replaces= 12345601%40atlanta.example.com%3Bfrom-tag%3D314159 %3Bto-tag%3D1234567&Require=replaces> </allOneLine> Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F6 202 Accepted Park Server -> Bob
F6 202已接受的停车场服务器->鲍勃
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Park Server <sips:park@server.example.com>;tag=56323
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds9 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=02134 To: Park Server <sips:park@server.example.com>;tag=56323
Call-ID: 4802029847@biloxi.example.com Contact: <sips:park@server.example.com> CSeq: 1 REFER Content-Length: 0
Call-ID: 4802029847@biloxi.example.com Contact: <sips:park@server.example.com> CSeq: 1 REFER Content-Length: 0
F7 NOTIFY Park Server -> Bob
F7通知停车场服务器->鲍勃
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Event: refer Contact: <sips:park@server.example.com> Subscription-State: active;expires=60 Content-Type: message/sipfrag Content-Length: ...
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Event: refer Contact: <sips:park@server.example.com> Subscription-State: active;expires=60 Content-Type: message/sipfrag Content-Length: ...
SIP/2.0 100 Trying
SIP/2.0 100
F8 200 OK Bob -> Park Server
F8 200 OK Bob->驻车服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bT6 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 1 NOTIFY Content-Length: 0
/* Park Server places call to Alice to replace session between Alice and Bob. */
/* Park Server places call to Alice to replace session between Alice and Bob. */
F9 INVITE Park Server -> Alice
F9邀请公园服务器->Alice
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf Max-Forwards: 70 From: <sips:park@server.example.com>;tag=0111
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf Max-Forwards: 70 From: <sips:park@server.example.com>;tag=0111
To: <sips:a8342043f@atlanta.example.com;gr> Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Require: replaces Replaces: 12345601@atlanta.example.com ;from-tag=314159;to-tag=1234567 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
To: <sips:a8342043f@atlanta.example.com;gr> Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Referred-By: <sips:bob@biloxi.example.com> Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Require: replaces Replaces: 12345601@atlanta.example.com ;from-tag=314159;to-tag=1234567 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com s= c=IN IP4 server.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=ParkServer 2890844576 2890844576 IN IP4 Park.server.example.com s= c=IN IP4 server.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F10 200 OK Alice -> Park Server
F10 200正常爱丽丝->公园服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:park@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:park@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=recvonly
F11 ACK Park Server -> Alice
F11确认停车场服务器->Alice
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK7rfF Max-Forwards: 70 From: <sips:park@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK7rfF Max-Forwards: 70 From: <sips:park@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 ACK Content-Length: 0
F12 BYE Alice -> Bob
F12再见爱丽丝->鲍勃
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
BYE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
F13 200 OK Bob -> Alice
F13 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.105 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0
/* Park Server reports success back to Bob by returning a 200 OK response. Bob obtains the dialog identifiers from the headers included in the response. */
/* Park Server reports success back to Bob by returning a 200 OK response. Bob obtains the dialog identifiers from the headers included in the response. */
F14 NOTIFY Park Server -> Bob
F14通知停车场服务器->鲍勃
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9
NOTIFY sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9
To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Event: refer Subscription-State: terminated;reason=noresource Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Content-Type: message/sipfrag Content-Length: ...
To: Bob <sips:bob@biloxi.example.com>;tag=02134 Max-Forwards: 70 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Event: refer Subscription-State: terminated;reason=noresource Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Content-Type: message/sipfrag Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:park@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr>
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74rf ;received=192.0.2.103 From: <sips:park@server.example.com>;tag=0111 To: <sips:a8342043f@atlanta.example.com;gr>;tag=098594 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr>
F15 200 OK Bob -> Park Server
F15 200正常鲍勃->停车服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 To: Bob <sips:bob@biloxi.example.com>;tag=02134 From: Park Server <sips:park@server.example.com>;tag=56323 Call-ID: 4802029847@biloxi.example.com CSeq: 2 NOTIFY Content-Length: 0
/* Alice is now parked at the Park Server. */
/* Alice is now parked at the Park Server. */
/* Carol picks up the call by sending an INVITE to A, which replaces the existing session with the Park Server. Carol needs to know the dialog information to construct the Replaces header. */
/* Carol picks up the call by sending an INVITE to A, which replaces the existing session with the Park Server. Carol needs to know the dialog information to construct the Replaces header. */
F16 SUBSCRIBE Carol -> Park Server
F16订阅卡罗尔->公园服务器
SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74b232
SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74b232
Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=158x93461 To: <sips:park@server.example.com> Call-ID: 2d6485356dfaj34dsf CSeq: 1 SUBSCRIBE Contact: <sips:carol@client.chicago.example.com> Event: dialog Expires: 0 Accept: application/dialog-info+xml Content-Length: 0
Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=158x93461 To: <sips:park@server.example.com> Call-ID: 2d6485356dfaj34dsf CSeq: 1 SUBSCRIBE Contact: <sips:carol@client.chicago.example.com> Event: dialog Expires: 0 Accept: application/dialog-info+xml Content-Length: 0
F17 200 OK Park Server -> Carol
F17 200正常停车服务->卡罗尔
SIP/2.0 200 OK Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74b232 ;received=192.0.2.105 From: Carol <sips:carol@chicago.example.com>;tag=158x93461 To: <sips:park@server.example.com>;tag=3213j Call-ID: 2d6485356dfaj34dsf CSeq: 1 SUBSCRIBE Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74b232 ;received=192.0.2.105 From: Carol <sips:carol@chicago.example.com>;tag=158x93461 To: <sips:park@server.example.com>;tag=3213j Call-ID: 2d6485356dfaj34dsf CSeq: 1 SUBSCRIBE Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Content-Length: 0
F18 NOTIFY Park Server -> Carol
F18通知停车场服务器->卡罗尔
NOTIFY sips:carol@client.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74b8skd Max-Forwards: 70 To: Carol <sips:carol@chicago.example.com>;tag=158x93461 From: <sips:park@server.example.com>;tag=3213j Call-ID: 2d6485356dfaj34dsf CSeq: 1 NOTIFY Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Event: dialog Subscription-State: terminated;reason=timeout Content-Type: application/dialog-info+xml Content-Length: ... <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:park@server.example.com"> <dialog id="439920143524" call-id="a5-75-34-12-76@server.example.com"
NOTIFY sips:carol@client.example.com SIP/2.0 Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74b8skd Max-Forwards: 70 To: Carol <sips:carol@chicago.example.com>;tag=158x93461 From: <sips:park@server.example.com>;tag=3213j Call-ID: 2d6485356dfaj34dsf CSeq: 1 NOTIFY Contact: <sips:park@server.example.com>;automaton ;+sip.byeless;+sip.rendering="no" Event: dialog Subscription-State: terminated;reason=timeout Content-Type: application/dialog-info+xml Content-Length: ... <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:park@server.example.com"> <dialog id="439920143524" call-id="a5-75-34-12-76@server.example.com"
local-tag="0111" remote-tag="098594" direction="initiator"> <duration>1</duration> <local> <target>sips:park@server.example.com</target> </local> <remote> <target>sips:a8342043f@atlanta.example.com;gr</target> </remote> <state>confirmed</state> </dialog> </dialog-info>
local-tag="0111" remote-tag="098594" direction="initiator"> <duration>1</duration> <local> <target>sips:park@server.example.com</target> </local> <remote> <target>sips:a8342043f@atlanta.example.com;gr</target> </remote> <state>confirmed</state> </dialog> </dialog-info>
F19 200 OK Carol -> Park Server
F19 200 OK卡罗尔->停车场服务器
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74b8skd ;received=192.0.2.103 To: Carol <sips:carol@chicago.example.com>;tag=158x93461 From: <sips:park@server.example.com>;tag=3213j Call-ID: 2d6485356dfaj34dsf CSeq: 1 NOTIFY Contact: <sips:carol@client.chicago.example.com> Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS server.example.com:5061 ;branch=z9hG4bK74b8skd ;received=192.0.2.103 To: Carol <sips:carol@chicago.example.com>;tag=158x93461 From: <sips:park@server.example.com>;tag=3213j Call-ID: 2d6485356dfaj34dsf CSeq: 1 NOTIFY Contact: <sips:carol@client.chicago.example.com> Content-Length: 0
F20 INVITE Carol -> Alice
邀请卡罗尔->爱丽丝
INVITE sips:alice@atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74bQ2 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=5893461 To: Alice <sips:alice@atlanta.example.com> Call-ID: 6485356@chicago.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Require: replaces Replaces: a5-75-34-12-76@server.example.com ;to-tag=098594;from-tag=0111 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:alice@atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74bQ2 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=5893461 To: Alice <sips:alice@atlanta.example.com> Call-ID: 6485356@chicago.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Require: replaces Replaces: a5-75-34-12-76@server.example.com ;to-tag=098594;from-tag=0111 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0
v=0
o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
o=carol 2890844922 2890844922 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F21 200 OK Alice -> Carol
F21 200 OK爱丽丝->卡罗尔
SIP/2.0 200 OK Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74bQ2 ;received=192.0.2.105 From: Carol <sips:carol@chicago.example.com>;tag=5893461 To: Alice <sips:alice@atlanta.example.com>;tag=222 Call-ID: 6485356@chicago.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74bQ2 ;received=192.0.2.105 From: Carol <sips:carol@chicago.example.com>;tag=5893461 To: Alice <sips:alice@atlanta.example.com>;tag=222 Call-ID: 6485356@chicago.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844527 2890844527 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F22 ACK Carol -> Alice
确认卡罗尔->爱丽丝
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74bJ0 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=5893461 To: Alice <sips:alice@atlanta.example.com>;tag=222 Call-ID: 6485356@chicago.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS client.chicago.example.com:5061 ;branch=z9hG4bK74bJ0 Max-Forwards: 70 From: Carol <sips:carol@chicago.example.com>;tag=5893461 To: Alice <sips:alice@atlanta.example.com>;tag=222 Call-ID: 6485356@chicago.example.com CSeq: 1 ACK Content-Length: 0
/* A replaces the session to the Park Server with the new session with C and generates a BYE to disconnect the Park Server. */
/* A replaces the session to the Park Server with the new session with C and generates a BYE to disconnect the Park Server. */
F23 BYE Alice -> Park Server
再见爱丽丝->公园服务器
BYE sips:park@server.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4N Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=098594 To: <sips:park@server.example.com>;tag=0111 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 BYE Content-Length: 0
BYE sips:park@server.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4N Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=098594 To: <sips:park@server.example.com>;tag=0111 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 BYE Content-Length: 0
F24 200 OK Park Server -> Alice
F24 200正常停车场服务器->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4N ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=098594 To: <sips:park@server.example.com>;tag=0111 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b4N ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=098594 To: <sips:park@server.example.com>;tag=0111 Call-ID: a5-75-34-12-76@server.example.com CSeq: 1 BYE Content-Length: 0
Alice Bob Bill | | | | INVITE F1 | | |------------->| | |180 Ringing F2| | |<-------------| | | | SUBSCRIBE F3 | | |<------------------| | | 200 OK F4 | | |------------------>| | | NOTIFY F5 | | |------------------>| | | 200 OK F6 | | |<------------------| | INVITE Replaces:Bob F7 | |<---------------------------------| | | 200 OK F8 | |--------------------------------->| | CANCEL F9 | | |------------->| | | 200 OK F10 | | |<-------------| | | 487 F11 | | |<-------------| | | ACK F12 | | |------------->| | | ACK F13 | |<---------------------------------| | | | Two-Way RTP Established | |<================================>| | BYE F14 | |--------------------------------->| | 200 OK F15 | |<---------------------------------| | |
Alice Bob Bill | | | | INVITE F1 | | |------------->| | |180 Ringing F2| | |<-------------| | | | SUBSCRIBE F3 | | |<------------------| | | 200 OK F4 | | |------------------>| | | NOTIFY F5 | | |------------------>| | | 200 OK F6 | | |<------------------| | INVITE Replaces:Bob F7 | |<---------------------------------| | | 200 OK F8 | |--------------------------------->| | CANCEL F9 | | |------------->| | | 200 OK F10 | | |<-------------| | | 487 F11 | | |<-------------| | | ACK F12 | | |------------->| | | ACK F13 | |<---------------------------------| | | | Two-Way RTP Established | |<================================>| | BYE F14 | |--------------------------------->| | 200 OK F15 | |<---------------------------------| | |
Bob and Bill are part of a work group at example.com that can pick up each other's calls. Alice calls Bob, who does not answer. Bill wishes to pick up the call and sends a SUBSCRIBE to Bob to retrieve the dialog information. Bill then generates an INVITE with a Replaces to Alice. Alice answers the INVITE and sends a CANCEL to stop Bob's phone ringing. Note that the relative order of the 487/ACK sequence (F11/F12) and the 200 OK to the CANCEL (F10) is not deterministic.
鲍勃和比尔是example.com工作组的一员,他们可以接听对方的电话。爱丽丝打电话给鲍勃,鲍勃不接。Bill希望接听电话并向Bob发送SUBSCRIBE以检索对话信息。然后,Bill生成一个邀请,并将其替换为Alice。Alice回复了邀请并发送了一个“取消”来阻止Bob的电话铃声。注意,487/ACK序列(F11/F12)和200 OK到CANCEL(F10)的相对顺序是不确定的。
This call flow shows the use of the "early-only" parameter [RFC3891] in the Replaces header field of F7. This parameter prevents Alice from accepting the INVITE if Bob has already accepted the INVITE. If Bill had wished to "take" the call from Bob regardless of whether he had answered, the parameter would not have been present in F7.
此调用流显示在F7的Replaces标头字段中使用“仅早期”参数[RFC3891]。如果Bob已经接受邀请,此参数将阻止Alice接受邀请。如果Bill希望“接听”Bob的电话,而不管他是否接听,则F7中不会出现该参数。
Also note that the subscription between Bob and Carol could have been established prior to Alice's call.
还请注意,Bob和Carol之间的订阅可能是在Alice打电话之前建立的。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 180 Ringing Bob -> Alice
F2 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com
CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
/* Bill decides to pick up the call. */
/* Bill decides to pick up the call. */
F3 SUBSCRIBE Bill -> Bob
F3订阅账单->鲍勃
SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74bf Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com> Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 SUBSCRIBE Contact: <sips:bill@pc.biloxi.example.com> Event: dialog Expires: 0 Accept: application/dialog-info+xml Content-Length: 0
SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74bf Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com> Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 SUBSCRIBE Contact: <sips:bill@pc.biloxi.example.com> Event: dialog Expires: 0 Accept: application/dialog-info+xml Content-Length: 0
F4 200 OK Bob -> Bill
F4 200正常鲍勃->比尔
SIP/2.0 200 OK Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74bf ;received=192.0.2.114 Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=31451098 Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 SUBSCRIBE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74bf ;received=192.0.2.114 Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675309 To: Bob <sips:bob@biloxi.example.com>;tag=31451098 Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 SUBSCRIBE Content-Length: 0
F5 NOTIFY Bob -> Bill
F5通知Bob->Bill
NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74br Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=31451098 To: Bill <sips:bill@biloxi.example.com>;tag=8675309 Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 NOTIFY
NOTIFY sips:bill@pc.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74br Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=31451098 To: Bill <sips:bill@biloxi.example.com>;tag=8675309 Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 NOTIFY
Contact: <sips:bob@client.biloxi.example.com> Event: dialog Subscription-State: terminated;reason=timeout Content-Type: application/dialog-info+xml Content-Length: ...
联系人:<sips:bob@client.biloxi.example.com>事件:对话框订阅状态:已终止;原因=超时内容类型:应用程序/对话框信息+xml内容长度:。。。
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="94992014524" call-id="12345600@atlanta.example.com" local-tag="3145678" remote-tag="1234567" direction="recipient"> <duration>1</duration> <local> <identity display="Bob">sips:bob@biloxi.example.com</identity> <target>sips:bob@client.biloxi.example.com</target> </local> <remote> <identity display="Alice">sips:alice@atlanta.example.com </identity> <target>sips:a8342043@atlanta.example.com;gr</target> </remote> <state>early</state> </dialog> </dialog-info>
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="94992014524" call-id="12345600@atlanta.example.com" local-tag="3145678" remote-tag="1234567" direction="recipient"> <duration>1</duration> <local> <identity display="Bob">sips:bob@biloxi.example.com</identity> <target>sips:bob@client.biloxi.example.com</target> </local> <remote> <identity display="Alice">sips:alice@atlanta.example.com </identity> <target>sips:a8342043@atlanta.example.com;gr</target> </remote> <state>early</state> </dialog> </dialog-info>
F6 200 OK Bill -> Bob
F6 200 OK Bill->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74br ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=31451098 To: Bill <sips:bill@biloxi.example.com>;tag=8675309 Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 NOTIFY Contact: <sips:bill@pc.biloxi.example.com> Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74br ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=31451098 To: Bill <sips:bill@biloxi.example.com>;tag=8675309 Call-ID: rt4353gs2egg@pc.biloxi.example.com CSeq: 1 NOTIFY Contact: <sips:bill@pc.biloxi.example.com> Content-Length: 0
F7 INVITE Bill -> Alice
F7邀请比尔->爱丽丝
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675310 To: Alice <sips:alice@atlanta.example.com>
INVITE sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675310 To: Alice <sips:alice@atlanta.example.com>
Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 INVITE Require: replaces Replaces: 12345600@atlanta.example.com ;from-tag=314578;to-tag=1234567;early-only Contact: <sips:bill@pc.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 INVITE Require: replaces Replaces: 12345600@atlanta.example.com ;from-tag=314578;to-tag=1234567;early-only Contact: <sips:bill@pc.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bill 2890843122 2890843122 IN IP4 pc.biloxi.example.com s= c=IN IP4 pc.biloxi.example.com t=0 0 m=audio 5342 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bill 2890843122 2890843122 IN IP4 pc.biloxi.example.com s= c=IN IP4 pc.biloxi.example.com t=0 0 m=audio 5342 RTP/AVP 0 a=rtpmap:0 PCMU/8000
/* Alice matches the dialog information in the Replaces header and accepts the INVITE. */
/* Alice matches the dialog information in the Replaces header and accepts the INVITE. */
F8 200 OK Alice -> Bill
F8 200 OK Alice->Bill
SIP/2.0 200 OK Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH ;received=192.0.2.114 From: Bill <sips:bill@biloxi.example.com>;tag=8675310 To: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK74HH ;received=192.0.2.114 From: Bill <sips:bill@biloxi.example.com>;tag=8675310 To: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 INVITE Contact: <sips:a8342043f@atlanta.example.com;gr> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces, gruu Content-Type: application/sdp Content-Length: ...
v=0 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 289084543 289084543 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
/* Alice stops Bob's phone from ringing by sending a CANCEL. */
/* Alice stops Bob's phone from ringing by sending a CANCEL. */
F9 CANCEL Alice -> Bob
F9取消Alice->Bob
CANCEL sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
CANCEL sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
F10 200 OK Bob -> Alice
F10 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 CANCEL Content-Length: 0
F11 487 Request Terminated Bob -> Alice
F11 487请求终止Bob->Alice
SIP/2.0 487 Request Terminated Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 487 Request Terminated Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F12 ACK Alice -> Bob
F12确认爱丽丝->鲍勃
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK83749.1 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=3145678
Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
呼叫ID:12345600@atlanta.example.comCSeq:1确认内容长度:0
F13 ACK Bill -> Alice
F13确认比尔->爱丽丝
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK7435 Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675310 To: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:a8342043f@atlanta.example.com;gr SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bK7435 Max-Forwards: 70 From: Bill <sips:bill@biloxi.example.com>;tag=8675310 To: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 ACK Content-Length: 0
/* RTP streams are established between Alice and Bill. Later, Alice hangs up with Bill. */
/* RTP streams are established between Alice and Bill. Later, Alice hangs up with Bill. */
F14 BYE Alice -> Bill
F14再见爱丽丝->比尔
BYE sips:bill@pc.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 Max-Forwards: 70 To: Bill <sips:bill@biloxi.example.com>;tag=8675310 From: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 BYE Content-Length: 0
BYE sips:bill@pc.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 Max-Forwards: 70 To: Bill <sips:bill@biloxi.example.com>;tag=8675310 From: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 BYE Content-Length: 0
F15 200 OK Bill -> Alice
F15 200 OK Bill->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 ;received=192.0.2.105 To: Bill <sips:bill@biloxi.example.com>;tag=8675310 From: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 BYE Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf2 ;received=192.0.2.105 To: Bill <sips:bill@biloxi.example.com>;tag=8675310 From: Alice <sips:alice@atlanta.example.com>;tag=131256 Call-ID: 563456212@b2.biloxi.example.com CSeq: 1 BYE Content-Length: 0
2.17. Automatic Redial Alice Bob | | | INVITE F1 | |--------------->| |486 Busy Here F2| |<---------------| Bob is busy | ACK F3 | |--------------->| | SUBSCRIBE F4 | |--------------->| | 200 OK F5 | |<---------------| | NOTIFY F6 | |<---------------| | 200 OK F7 | |--------------->| | | | NOTIFY F8 | Bob is now available |<---------------| | 200 OK F9 | |--------------->| | | | INVITE F10 | |--------------->| Session setup successful | 180 Ringing F11| |<---------------| | 200 OK F12 | |<---------------| | ACK F13 | |--------------->| | Media Session | |<==============>| | | | NOTIFY F14 | |<---------------| | 200 OK F15 | |--------------->| | | | SUBSCRIBE F16 | Alice terminates subscription |--------------->| | 200 OK F17 | |<---------------| | NOTIFY F18 | |<---------------| | 200 OK F19 | |--------------->| | |
2.17. Automatic Redial Alice Bob | | | INVITE F1 | |--------------->| |486 Busy Here F2| |<---------------| Bob is busy | ACK F3 | |--------------->| | SUBSCRIBE F4 | |--------------->| | 200 OK F5 | |<---------------| | NOTIFY F6 | |<---------------| | 200 OK F7 | |--------------->| | | | NOTIFY F8 | Bob is now available |<---------------| | 200 OK F9 | |--------------->| | | | INVITE F10 | |--------------->| Session setup successful | 180 Ringing F11| |<---------------| | 200 OK F12 | |<---------------| | ACK F13 | |--------------->| | Media Session | |<==============>| | | | NOTIFY F14 | |<---------------| | 200 OK F15 | |--------------->| | | | SUBSCRIBE F16 | Alice terminates subscription |--------------->| | 200 OK F17 | |<---------------| | NOTIFY F18 | |<---------------| | 200 OK F19 | |--------------->| | |
Bob is initially busy when Alice calls. Alice subscribes to Bob's call state using a SUBSCRIBE F4. Bob sends a NOTIFY F8 when Bob is available. Alice is alerted, then Alice sends an INVITE to Bob to establish the session. The subscription is terminated using SUBSCRIBE F16.
Alice打电话时Bob一开始很忙。Alice使用SUBSCRIBE F4订阅Bob的呼叫状态。当Bob可用时,Bob发送通知F8。Alice收到警报,然后Alice向Bob发送邀请以建立会话。使用SUBSCRIBE F16终止订阅。
Message Details
消息详细信息
F1 INVITE Alice -> Bob
F1邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com> Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F2 486 Busy Here
这里忙吗
SIP/2.0 486 Busy Here Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=982039i4 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
SIP/2.0 486 Busy Here Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=982039i4 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0
F3 ACK Alice -> Bob
F3确认爱丽丝->鲍勃
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=982039i4 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=982039i4 Call-ID: 12345600@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F4 SUBSCRIBE Alice -> Bob
F4订阅Alice->Bob
SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b8G Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Bob <sips:bob@biloxi.example.com> Call-ID: 4524526232@atlanta.example.com CSeq: 1 SUBSCRIBE Contact: sips:alice@client.atlanta.example.com Event: dialog Accept: application/dialog-info+xml Content-Length: 0
SUBSCRIBE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b8G Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Bob <sips:bob@biloxi.example.com> Call-ID: 4524526232@atlanta.example.com CSeq: 1 SUBSCRIBE Contact: sips:alice@client.atlanta.example.com Event: dialog Accept: application/dialog-info+xml Content-Length: 0
F5 200 OK Bob -> Alice
F5 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b8G ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Bob <sips:bob@biloxi.example.com>;tag=341123 Call-ID: 4524526232@atlanta.example.com Expires: 60 CSeq: 1 SUBSCRIBE Contact: sips:bob@client.biloxi.example.com Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74b8G ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Bob <sips:bob@biloxi.example.com>;tag=341123 Call-ID: 4524526232@atlanta.example.com Expires: 60 CSeq: 1 SUBSCRIBE Contact: sips:bob@client.biloxi.example.com Content-Length: 0
F6 NOTIFY Bob -> Alice
F6通知Bob->Alice
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bn2 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 1 NOTIFY Contact: <sips:bob@client.biloxi.example.com> Event: dialog Subscription-State: active;expires=59 Content-Type: application/dialog-info+xml Content-Length: ...
通知sips:alice@client.atlanta.example.comSIP/2.0 Via:SIP/2.0/TLS client.biloxi.example.com:5061;分支=z9hG4bK74bn2最大转发:70自:Bob<sips:bob@biloxi.example.com>;标签=341123至:Alice<sips:alice@atlanta.example.com>;tag=837348234呼叫ID:4524526232@atlanta.example.comCSeq:1通知联系人:<sips:bob@client.biloxi.example.com>事件:对话框订阅状态:活动;expires=59内容类型:应用程序/对话框信息+xml内容长度:。。。
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="562623442g3"> <duration>1</duration> <state>confirmed</state> </dialog> </dialog-info>
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="562623442g3"> <duration>1</duration> <state>confirmed</state> </dialog> </dialog-info>
F7 200 OK Alice -> Bob
F7 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bn2 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 1 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bn2 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 1 NOTIFY Content-Length: 0
/* Bob is now available. */
/* Bob is now available. */
F8 NOTIFY Bob -> Alice
F8通知Bob->Alice
NOTIFY sips:alice@atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bVi Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=341123
NOTIFY sips:alice@atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bVi Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=341123
To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 2 NOTIFY Event: dialog Subscription-State: active;expires=27 Contact: <sips:bob@client.biloxi.example.com> Content-Type: application/dialog-info+xml Content-Length: ...
致:Alice<sips:alice@atlanta.example.com>;tag=837348234呼叫ID:4524526232@atlanta.example.comCSeq:2通知事件:对话框订阅状态:活动;expires=27联系人:<sips:bob@client.biloxi.example.com>内容类型:应用程序/对话框信息+xml内容长度:。。。
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="562623442g3"> <state>terminated</state> </dialog> </dialog-info>
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="562623442g3"> <state>terminated</state> </dialog> </dialog-info>
F9 200 OK Alice -> Bob
F9 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bVi ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 2 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK74bVi ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 2 NOTIFY Content-Length: 0
F10 INVITE Alice -> Bob
F10邀请Alice->Bob
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfq Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com> Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfq Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com> Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 INVITE Contact: <sips:alice@client.atlanta.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=alice 2890844826 2890844826 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=alice 2890844826 2890844826 IN IP4 client.atlanta.example.com s= c=IN IP4 client.atlanta.example.com t=0 0 m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F11 180 Ringing Bob -> Alice
F11 180响铃鲍勃->爱丽丝
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfq ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfq ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Content-Length: 0
F12 200 OK Bob -> Alice
F12 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfq ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bfq ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890854527 2890854527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890854527 2890854527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F13 ACK Alice -> Bob
F13确认爱丽丝->鲍勃
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bLBJ Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 ACK Content-Length: 0
ACK sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK74bLBJ Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=f23fkg14k To: Bob <sips:bob@biloxi.example.com>;tag=23431 Call-ID: aoij4i9okitr@atlanta.example.com CSeq: 1 ACK Content-Length: 0
F14 NOTIFY Bob -> Alice
F14通知Bob->Alice
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK4bnd2 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 3 NOTIFY Contact: <sips:bob@client.biloxi.example.com> Event: dialog Subscription-State: active;expires=15 Content-Type: application/dialog-info+xml Content-Length: ...
通知sips:alice@client.atlanta.example.comSIP/2.0 Via:SIP/2.0/TLS client.biloxi.example.com:5061;分支=z9hG4bK4bnd2最大转发:70自:Bob<sips:bob@biloxi.example.com>;标签=341123至:Alice<sips:alice@atlanta.example.com>;tag=837348234呼叫ID:4524526232@atlanta.example.comCSeq:3通知联系人:<sips:bob@client.biloxi.example.com>事件:对话框订阅状态:活动;expires=15内容类型:应用程序/对话框信息+xml内容长度:。。。
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="62d2623442g3"> <duration>1</duration> <state>confirmed</state> </dialog> </dialog-info>
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="62d2623442g3"> <duration>1</duration> <state>confirmed</state> </dialog> </dialog-info>
F15 200 OK Alice -> Bob
F15 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK4bnd2 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bK4bnd2 ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234
Call-ID: 4524526232@atlanta.example.com CSeq: 3 NOTIFY Content-Length: 0
呼叫ID:4524526232@atlanta.example.comCSeq:3通知内容长度:0
/* Alice terminates the subscription. */
/* Alice terminates the subscription. */
F16 SUBSCRIBE Alice -> Bob
F16订阅Alice->Bob
SUBSCRIBE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK474b8 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 2 SUBSCRIBE Contact: sips:alice@client.atlanta.example.com Event: dialog Expires: 0 Accept: application/dialog-info+xml Content-Length: 0
SUBSCRIBE sips:bob@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK474b8 Max-Forwards: 70 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 2 SUBSCRIBE Contact: sips:alice@client.atlanta.example.com Event: dialog Expires: 0 Accept: application/dialog-info+xml Content-Length: 0
F17 200 OK Bob -> Alice
F17 200 OK Bob->Alice
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK474b8 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Bob <sips:bob@biloxi.example.com>;tag=341123 Call-ID: 4524526232@atlanta.example.com Expires: 0 CSeq: 2 SUBSCRIBE Contact: sips:bob@client.biloxi.example.com Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.atlanta.example.com:5061 ;branch=z9hG4bK474b8 ;received=192.0.2.103 From: Alice <sips:alice@atlanta.example.com>;tag=837348234 To: Bob <sips:bob@biloxi.example.com>;tag=341123 Call-ID: 4524526232@atlanta.example.com Expires: 0 CSeq: 2 SUBSCRIBE Contact: sips:bob@client.biloxi.example.com Content-Length: 0
F18 NOTIFY Bob -> Alice
F18通知Bob->Alice
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKb5n2j Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com
NOTIFY sips:alice@client.atlanta.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKb5n2j Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com
CSeq: 4 NOTIFY Contact: <sips:bob@client.biloxi.example.com> Event: dialog Subscription-State: terminated;reason=noresource Content-Type: application/dialog-info+xml Content-Length: ...
CSeq:4通知联系人:<sips:bob@client.biloxi.example.com>事件:对话框订阅状态:已终止;原因=无资源内容类型:应用程序/对话框信息+xml内容长度:。。。
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="62d2623442g3"> <duration>3</duration> <state>confirmed</state> </dialog> </dialog-info>
<?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sips:bob@biloxi.example.com"> <dialog id="62d2623442g3"> <duration>3</duration> <state>confirmed</state> </dialog> </dialog-info>
F19 200 OK Alice -> Bob
F19 200 OK Alice->Bob
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKb5n2j ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 4 NOTIFY Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKb5n2j ;received=192.0.2.105 From: Bob <sips:bob@biloxi.example.com>;tag=341123 To: Alice <sips:alice@atlanta.example.com>;tag=837348234 Call-ID: 4524526232@atlanta.example.com CSeq: 4 NOTIFY Content-Length: 0
Bob's PC Bob Carol | REFER Refer-To:Carol F1 | |------------------->| | | 202 Accepted F2 | | |<-------------------| | | | INVITE F3 | | |------------------->| | | 180 Ringing F4 | | |<-------------------| | | 200 OK F5 | | |<-------------------| | | ACK F6 | | |------------------->| | | RTP | | |<==================>| | | |
Bob's PC Bob Carol | REFER Refer-To:Carol F1 | |------------------->| | | 202 Accepted F2 | | |<-------------------| | | | INVITE F3 | | |------------------->| | | 180 Ringing F4 | | |<-------------------| | | 200 OK F5 | | |<-------------------| | | ACK F6 | | |------------------->| | | RTP | | |<==================>| | | |
In this example, while browsing the web on his PC, Bob clicks on Carol's SIP URI, intending to establish a session with Carol. Bob's web browser passes the SIP URI to the SIP client on Bob's PC. The PC client is configured with the URI of Bob's SIP phone. A REFER is sent to the SIP phone, which results in the establishment of the session between Bob and Carol.
在本例中,Bob在PC上浏览web时,单击Carol的SIPURI,打算与Carol建立会话。Bob的web浏览器将SIP URI传递给Bob PC上的SIP客户端。PC客户端配置有Bob SIP电话的URI。向SIP电话发送REFER,从而在Bob和Carol之间建立会话。
Note that Bob's PC requests that no REFER dialog be established by the use of the Refer-Sub: false header field [RFC4488].
请注意,Bob的PC请求通过使用REFER Sub:false头字段[RFC4488]来建立无REFER对话框。
This flow is preferable to the 3pcc flow because the end-to-end SIP signaling is not interrupted by the 3pcc controller, and because Bob's experience of the call will not be marred by the lack of ringback tone or possible clipping. Suitable authorization of the REFER and explicit authorization of the triggered INVITE by Bob are necessary.
该流比3pcc流更可取,因为端到端SIP信令不会被3pcc控制器中断,并且因为Bob的呼叫体验不会因缺少回铃音或可能的削波而受损。有必要对REFER进行适当授权,并对Bob触发的INVITE进行明确授权。
Message Details
消息详细信息
/* Bob's PC SIP client sends a REFER to Bob's SIP phone. */
/* Bob's PC SIP client sends a REFER to Bob's SIP phone. */
F1 REFER PC -> Bob
F1参考PC->Bob
REFER sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: <sips:pc.biloxi.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>
REFER sips:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TLS pc.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 Max-Forwards: 70 From: <sips:pc.biloxi.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1234560183434 CSeq: 1 REFER Refer-To: <sips:carol@chicago.example.com> Refer-Sub: false Contact: <sips:pc.biloxi.example.com> Content-Length: 0
Call-ID: 1234560183434 CSeq: 1 REFER Refer-To: <sips:carol@chicago.example.com> Refer-Sub: false Contact: <sips:pc.biloxi.example.com> Content-Length: 0
F2 202 Accepted Bob -> PC
F2 202已接受Bob->PC
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.103 From: <sips:pc.biloxi.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 1234560183434 Contact: <sips:bob@client.biloxi.example.com> CSeq: 1 REFER Refer-Sub: false Content-Length: 0
SIP/2.0 202 Accepted Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashds7 ;received=192.0.2.103 From: <sips:pc.biloxi.example.com>;tag=1234567 To: Bob <sips:bob@biloxi.example.com>;tag=314159 Call-ID: 1234560183434 Contact: <sips:bob@client.biloxi.example.com> CSeq: 1 REFER Refer-Sub: false Content-Length: 0
F3 INVITE Bob -> Carol
F3邀请鲍勃->卡罗尔
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdK9 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Referred-By: <sips:pc.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
INVITE sips:carol@chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdK9 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com> Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:bob@client.biloxi.example.com> Referred-By: <sips:pc.biloxi.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=bob 2890844539 2890844539 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 3458 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F4 180 Ringing Carol -> Bob
F4 180振铃卡罗尔->鲍勃
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdK9 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content-Length: 0
SIP/2.0 180 Ringing Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdK9 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Content-Length: 0
F5 200 OK Carol -> Bob
F5 200 OK卡罗尔->鲍勃
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdK9 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
SIP/2.0 200 OK Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashdK9 ;received=192.0.2.113 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287 Call-ID: 7436222@atlanta.example.com CSeq: 1 INVITE Contact: <sips:carol@client.chicago.example.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ...
v=0 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
v=0 o=carol 2890844527 2890844527 IN IP4 client.chicago.example.com s= c=IN IP4 client.chicago.example.com t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
F6 ACK Bob -> Carol
F6确认鲍勃->卡罗尔
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashd43 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287
ACK sips:carol@client.chicago.example.com SIP/2.0 Via: SIP/2.0/TLS client.biloxi.example.com:5061 ;branch=z9hG4bKnashd43 Max-Forwards: 70 From: Bob <sips:bob@biloxi.example.com>;tag=8675309 To: Carol <sips:carol@chicago.example.com>;tag=928287
Call-ID: 7436222@atlanta.example.com CSeq: 1 ACK Content-Length: 0
呼叫ID:7436222@atlanta.example.comCSeq:1确认内容长度:0
/* Bob and Carol now have established a session. */
/* Bob and Carol now have established a session. */
Since many of the examples in this document involve SIP call control, either peer-to-peer or 3pcc, the security considerations in the Multiparty Framework document [FRAMEWORK] apply.
由于本文档中的许多示例涉及SIP呼叫控制(点对点或3pcc),因此多方框架文档[Framework]中的安全注意事项适用。
Many of the services shown in this document rely on a particular user agent being part of a group. Members of a group could be, for example, employees within a particular department, a set of home phone extensions, members of a call center, etc. As such, user agents that are part of the group permit other group members special privileges and features. For example, while a user agent may not in general allow another user agent to learn detailed dialog information, this information might be shared with another group member in order to facilitate a service such as call pickup. Group members must be authenticated using normal SIP means such as certificates or shared secrets.
本文档中显示的许多服务依赖于作为组一部分的特定用户代理。例如,组的成员可以是特定部门的员工、一组家庭电话分机、呼叫中心的成员等。因此,作为组一部分的用户代理允许其他组成员享有特权和功能。例如,虽然用户代理通常可能不允许另一个用户代理了解详细的对话信息,但该信息可能与另一个组成员共享,以便促进诸如呼叫拾取之类的服务。必须使用普通的SIP手段(如证书或共享机密)对组成员进行身份验证。
The service examples in this document make extensive use of the SIP call control primitives REFER, Replaces, Join, and the dialog package. The security considerations associated with each of these extensions [RFC3515], [RFC3891], [RFC3911], [RFC4235] apply to the scenarios in this document.
本文档中的服务示例广泛使用SIP呼叫控制原语refered、Replaces、Join和dialog包。与这些扩展[RFC3515]、[RFC3891]、[RFC3911]、[RFC4235]相关的安全注意事项适用于本文档中的场景。
The authors would like to thank the following reviewers of the document for their detailed comments and corrections: Vijay Gurbani, John Elwell, Joel Repiquet, Nagesh Kumar, Chandra Ravipati, Eric Burger, Jeroen Bemmel, Miguel Garcia, and Dale Worley.
作者要感谢以下文件审查人员的详细评论和更正:Vijay Gurbani、John Elwell、Joel Repiquet、Nagesh Kumar、Chandra Ravipati、Eric Burger、Jeroen Bemmel、Miguel Garcia和Dale Worley。
The Transfer - Instant Messaging call flow is based on the "IM-a-call" call flow by Jonathan Rosenberg and Henning Schulzrinne. The Automatic Redial call flow is based on a call flow by Adam Roach. The authors wish to thank the following individuals for their assistance and review of this call flows document: Joel Repiquet, Aki Neimi, Rohan Mahy, Jonathan Rosenberg, Hemant Agrawal, Henry Sinnreich, Dean Willis, David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole MCI WorldCom IPOP Design team, Scott
转接即时消息呼叫流基于Jonathan Rosenberg和Henning Schulzrinne的“IM-a-call”呼叫流。自动重拨呼叫流基于Adam Roach的呼叫流。作者希望感谢以下个人对本呼叫流文件的帮助和审查:Joel Repiquet、Aki Neimi、Rohan Mahy、Jonathan Rosenberg、Hemant Agrawal、Henry Sinnreich、Dean Willis、David Devanatham、Joe Pizzimeti、Matt Cannon、John Hearty、整个MCI WorldCom IPOP设计团队、Scott
Orton, Greg Osterhout, Pat Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent, and Nortel.
奥顿、格雷格·奥斯特罗、帕特·索利、道格·魏森伯格、丹尼·米斯特里、史蒂夫·麦金农、丹尼斯·英格拉姆、丹尼斯·卡巴莱罗、汤姆·雷德曼、伊利亚·斯莱恩、帕特·索利、约翰·特鲁特肯以及来自MCI世界通信、3Com、思科、朗讯和北电的其他人。
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002.
[RFC3261]Rosenberg,J.,Schulzrinne,H.,Camarillo,G.,Johnston,A.,Peterson,J.,Sparks,R.,Handley,M.,和E.Schooler,“SIP:会话启动协议”,RFC 3261,2002年6月。
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002.
[RFC3264]Rosenberg,J.和H.Schulzrinne,“具有会话描述协议(SDP)的提供/应答模型”,RFC 3264,2002年6月。
[RFC3265] Roach, A., "Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265, June 2002.
[RFC3265]Roach,A.,“会话启动协议(SIP)-特定事件通知”,RFC3265,2002年6月。
[RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and D. Gurle, "Session Initiation Protocol (SIP) Extension for Instant Messaging", RFC 3428, December 2002.
[RFC3428]Campbell,B.,Rosenberg,J.,Schulzrinne,H.,Huitema,C.,和D.Gurle,“即时消息的会话启动协议(SIP)扩展”,RFC 34282002年12月。
[RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer Method", RFC 3515, April 2003.
[RFC3515]Sparks,R.,“会话启动协议(SIP)引用方法”,RFC3515,2003年4月。
[RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)", RFC 3840, August 2004.
[RFC3840]Rosenberg,J.,Schulzrinne,H.,和P.Kyzivat,“指出会话启动协议(SIP)中的用户代理功能”,RFC 3840,2004年8月。
[RFC3891] Mahy, R., Biggs, B., and R. Dean, "The Session Initiation Protocol (SIP) "Replaces" Header", RFC 3891, September 2004.
[RFC3891]Mahy,R.,Biggs,B.,和R.Dean,“会话启动协议(SIP)”取代了RFC 38912004年9月的“头”。
[RFC3911] Mahy, R. and D. Petrie, "The Session Initiation Protocol (SIP) "Join" Header", RFC 3911, October 2004.
[RFC3911]Mahy,R.和D.Petrie,“会话启动协议(SIP)”加入“头”,RFC 3911,2004年10月。
[RFC4235] Rosenberg, J., Schulzrinne, H., and R. Mahy, "An INVITE-Initiated Dialog Event Package for the Session Initiation Protocol (SIP)", RFC 4235, November 2005.
[RFC4235]Rosenberg,J.,Schulzrinne,H.,和R.Mahy,“会话启动协议(SIP)的邀请启动对话事件包”,RFC 4235,2005年11月。
[RFC4488] Levin, O., "Suppression of Session Initiation Protocol (SIP) REFER Method Implicit Subscription", RFC 4488, May 2006.
[RFC4488]Levin,O.“会话启动协议(SIP)的抑制是指方法隐式订阅”,RFC 4488,2006年5月。
[RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol (SIP) Call Control - Conferencing for User Agents", BCP 119, RFC 4579, August 2006.
[RFC4579]Johnston,A.和O.Levin,“会话发起协议(SIP)呼叫控制-用户代理会议”,BCP 119,RFC 4579,2006年8月。
[FRAMEWORK] Mahy, R., Sparks, R., Rosenberg, J., Petrie, D., and A. Johnston, "A Call Control and Multi-party usage framework for the Session Initiation Protocol (SIP)", Work in Progress, April 2008.
[框架]Mahy,R.,Sparks,R.,Rosenberg,J.,Petrie,D.,和A.Johnston,“会话启动协议(SIP)的呼叫控制和多方使用框架”,正在进行的工作,2008年4月。
[GRUU] Rosenberg, J., "Obtaining and Using Globally Routable User Agent (UA) URIs (GRUU) in the Session Initiation Protocol (SIP)", Work in Progress, October 2007.
[GRUU]Rosenberg,J.,“在会话启动协议(SIP)中获取和使用全局可路由用户代理(UA)URI(GRUU)”,正在进行的工作,2007年10月。
[RFC3665] Johnston, A., Donovan, S., Sparks, R., Cunningham, C., and K. Summers, "Session Initiation Protocol (SIP) Basic Call Flow Examples", BCP 75, RFC 3665, December 2003.
[RFC3665]Johnston,A.,Donovan,S.,Sparks,R.,Cunningham,C.,和K.Summers,“会话发起协议(SIP)基本呼叫流示例”,BCP 75,RFC 36652003年12月。
[RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo, "Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, April 2004.
[RFC3725]Rosenberg,J.,Peterson,J.,Schulzrinne,H.,和G.Camarillo,“会话启动协议(SIP)中第三方呼叫控制(3pcc)的当前最佳实践”,BCP 85,RFC 37252004年4月。
[RFC4317] Johnston, A. and R. Sparks, "Session Description Protocol (SDP) Offer/Answer Examples", RFC 4317, December 2005.
[RFC4317]Johnston,A.和R.Sparks,“会话描述协议(SDP)提供/回答示例”,RFC 43172005年12月。
[RFC4475] Sparks, R., Hawrylyshen, A., Johnston, A., Rosenberg, J., and H. Schulzrinne, "Session Initiation Protocol (SIP) Torture Test Messages", RFC 4475, May 2006.
[RFC4475]Sparks,R.,Hawrylyshen,A.,Johnston,A.,Rosenberg,J.,和H.Schulzrinne,“会话启动协议(SIP)酷刑测试消息”,RFC 4475,2006年5月。
[TRANSFER] Sparks, R. and A. Johnston, "Session Initiation Protocol Call Control - Transfer", Work in Progress, September 2008.
[TRANSFER]Sparks,R.和A.Johnston,“会话启动协议呼叫控制-传输”,正在进行的工作,2008年9月。
Authors' Addresses
作者地址
Alan Johnston (editor) Avaya St. Louis, MO 63124
艾伦·约翰斯顿(编辑)密苏里州圣路易斯阿瓦亚63124
EMail: alan@sipstation.com
EMail: alan@sipstation.com
Robert J. Sparks Tekelec
罗伯特·J·斯帕克斯·泰克莱克
EMail: RjS@nostrum.com
EMail: RjS@nostrum.com
Chris Cunningham Cisco Systems
克里斯坎宁安思科系统公司
EMail: chrcunni@cisco.com
EMail: chrcunni@cisco.com
Steve Donovan Cisco Systems
史蒂夫·多诺万思科系统公司
EMail: srd@cisco.com
EMail: srd@cisco.com
Kevin Summers Sonus Plano, TX 75093
凯文·萨默斯·索努斯·普莱诺,德克萨斯州75093
EMail: ksummers@sonusnet.com
EMail: ksummers@sonusnet.com
Full Copyright Statement
完整版权声明
Copyright (C) The IETF Trust (2008).
版权所有(C)IETF信托基金(2008年)。
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
Intellectual Property
知识产权
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.