2.12. Find-Me
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 | | |---------------------------------->| | | | 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. While this flow shows a sequential search, the search could be accomplished using parallel forking. 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> 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 F2 INVITE Proxy -> 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> 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 F3 (100 Trying) Proxy -> 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 F4 180 Ringing B1 -> Proxy 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 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. */ F6 CANCEL Proxy -> 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 F7 200 OK B1 -> Proxy 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 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=765432 Call-ID: 12345600@atlanta.example.com CSeq: 1 INVITE Content-Length: 0 F9 ACK Proxy -> 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 F10 INVITE Proxy -> 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: ... 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 480 Not Logged In 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 F12 ACK Proxy -> 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 F13 INVITE Proxy -> 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
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 F14 486 Busy Here B3 -> Proxy 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 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 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: ... 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 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 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 F19 200 OK B4 -> Proxy 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 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: ...
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 F22 ACK Proxy -> 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 /* RTP streams are established between Alice and B4. */ /* User B4 hangs up with Alice. */ F23 BYE B4 -> Proxy 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 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 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 F26 200 OK Proxy -> 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
To: Alice <sips:alice@atlanta.example.com>;tag=1234567 Call-ID: 12345600@atlanta.example.com CSeq: 1 BYE Content-Length: 0
2.13. Call Management (Incoming Call Screening)
Announcement Alice Proxy Bob Server | | | | | 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. Note that call screening cannot be done using the From header -- instead some form of authentication credentials must be used.
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. 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: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 /* Bob only accepts INVITEs that have been screened by the proxy. */ F2 305 Use Proxy 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
F3 ACK Alice -> Bob 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. */ F4 INVITE 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: ... 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. */ F5 407 Proxy Authentication Required Proxy 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
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 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. */ F7 INVITE Alice -> Proxy 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: ...
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 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 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. */ F10 INVITE Alice -> Proxy 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
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 F11 200 OK Announcement Server -> Proxy 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: ... 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 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 /* Announcement Server plays announcement then disconnects. */ F13 BYE Announcement Server -> 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 F14 200 OK Alice -> Announcement Server 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
2.14. Call Management (Outgoing Call Screening)
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 could establish a session to listen to the announcement in the Error-Info header field. Message Details F1 INVITE 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: ... 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. */ F2 407 Proxy Authentication Required Proxy 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 F3 ACK Alice -> Proxy 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 /* Alice responds be sending an INVITE with authentication credentials in it. */ F4 INVITE 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
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 F5 403 Screening Failure (Originating) Proxy 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 F6 ACK Alice -> Proxy 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
2.15. Call Park
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 | | 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. 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. 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 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 F2 180 Ringing Bob -> Alice 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 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
F4 ACK Alice -> Bob 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. */ F5 REFER 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 F6 202 Accepted Park Server -> 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: 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 F7 NOTIFY Park Server -> Bob 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 F8 200 OK Bob -> Park Server 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. */ F9 INVITE Park Server -> 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
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 F10 200 OK Alice -> Park Server 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
F11 ACK Park Server -> 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 F12 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=314159 Call-ID: 12345601@atlanta.example.com CSeq: 2 BYE Content-Length: 0 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 /* 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 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: ... 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 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. */ /* 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 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 F17 200 OK Park Server -> Carol 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 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> F19 200 OK Carol -> Park Server 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: ... 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 F21 200 OK Alice -> Carol 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 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 /* 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 F24 200 OK Park Server -> 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