To request that the focus add a new information resource to the
specified conference, any SIP UA can send a REFER to the conference
URI with a Refer-To containing the URI of the new resource. Since
this REFER is sent to the conference URI and not the conference
factory URI, the semantics to the focus are to bring the resource
into the conference and make it visible to the conference
participants. The resultant focus procedures are dependent both on
the nature of the new resource (as expressed by its URI) and the
policy of the focus regarding IM, central vs. distributed real-time
media processing, and so on.
The scenario for adding a new UA participant is important to support
because it works even if the new participant does not support REFER
and transfer call control -- only the requesting participant and the
focus need to support the REFER and transfer call control.
Upon receipt of the REFER containing a Refer-To header with a SIP
URI, the focus SHOULD send an INVITE to the new participant
identified by the Refer-To SIP URI containing a Contact header field
with the conference URI and the ’isfocus’ feature parameter.
A conference-unaware UA would simply ignore the conferencing
information and treat the session (from a SIP perspective) as a
point-to-point session.
An example call flow is shown in Figure 5. While this flow shows the
use of REFER to add a new participant to the conference, the
mechanism can generally add a resource as identified by a URI to the
conference. It is assumed that Alice is already a participant of the
conference. Alice sends a REFER to the conference URI. The focus
invites Carol to the conference by sending an INVITE. After the
session is established, Carol subscribes to the conference URI. It
is important to note that there is no dependency on Carol’s SUBSCRIBE
(F11) and the NOTIFY to Alice (F15) -- they occur asynchronously and
independently.
Alice Focus Bob Carol
| | | |
|<==================>| | |
| REFER sip:Conf-ID Refer-To:Carol F1 | |
|------------------->| |
| 202 Accepted F2 | |
|<-------------------| |
| NOTIFY (Trying) F3 |
|<-------------------| |
| 200 OK F4 | |
|------------------->| |
| | |
| Focus "dials out" to join Carol to the conference |
| | |
| | INVITE Contact:Conf-ID;isfocus F5 |
| |---------------------------------------->|
| | 180 Ringing F6 |
| |<----------------------------------------|
| | 200 OK F7 |
| |<----------------------------------------|
| | ACK F8 |
| |---------------------------------------->|
| | RTP |
| |<=======================================>|
| NOTIFY (OK) F9 | |
|<-------------------| |
| 200 OK F10 | |
|------------------->| |
| | SUBSCRIBE sip:Conf-ID F11 |
| |<----------------------------------------|
| | 200 OK F12 |
| |---------------------------------------->|
| | NOTIFY F13 |
| |---------------------------------------->|
| | 200 OK F14 |
| |<----------------------------------------|
| NOTIFY F15 | |
|<-------------------| |
| 200 OK F16 | |
|------------------->| |
Figure 5. Participant Requests That the Focus Add a Participant to
the Conference.
F1 REFER sip:3402934234@conf.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.example.com;branch=z9hG4bKg4534
Max-Forwards: 70
To: <sip:3402934234@conf.example.com>
From: Alice <sip:alice@atlanta.example.com>;tag=5534562
Call-ID: 849392fklgl43
CSeq: 476 REFER
Contact: <sip:alice@alice.example.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
SUBSCRIBE, NOTIFY
Accept: application/sdp, message/sipfrag
Refer-To: <sip:carol@chicago.example.com>
Supported: replaces
Content-Length: 0
5.6. REFER: Requesting a User to Dial in to a Conference Using a
Conference URI
A participant wishing to add a new participant will request this
participant to send an INVITE to the conference URI. This can be
done using a non-SIP means (such as passing or publishing the
conference URI in an email, IM, or web page). If a non-SIP means is
used, then the flow and requirements are identical to Section 5.1.
The SIP mechanism to do this utilizes the REFER method.
A UA wishing to add a new participant SHOULD send a REFER request to
the participant with a Refer-To header containing the conference URI.
The requirements are then identical to the dial-in case of Section
5.1. The inviting participant MAY receive notification through the
REFER action that the new participant has been added in addition to
the notification received through the conference package.
An example is shown in Figure 6. In this call flow, it is assumed
that Alice is already a participant of the conference. Alice sends
Bob an "out of band" REFER - that is, a REFER outside of an
established dialog. Should Bob reject the REFER, Alice might try
sending an INVITE to Bob to establish a session first, then send a
REFER within the dialog, effectively transferring Bob into the
conference [17].
Alice Focus Bob Carol
| | | |
|<==================>| | |
| | | |
| Alice adds Bob into conference | |
| | | |
| REFER Refer-To:Conf-ID F1 | |
|---------------------------------------->| |
| 202 Accepted F2 | | |
|<----------------------------------------| |
| NOTIFY (Trying) F3| | |
|<----------------------------------------| |
| 200 OK F4 | | |
|---------------------------------------->| |
| | INVITE sip:Conf-ID F5 |
| |<-------------------| |
| | 180 Ringing F6 | |
| |------------------->| |
| | 200 OK Contact:Conf-ID;isfocus F7 |
| |------------------->| |
| | ACK F8 | |
| |<-------------------| |
| | RTP | |
| |<==================>| |
| NOTIFY (OK) F9 | | |
|<----------------------------------------| |
| 200 OK F10 | | |
|---------------------------------------->| |
| NOTIFY F11 | | |
|<-------------------| | |
| 200 OK F12 | | |
|------------------->| | |
| | SUBSCRIBE sip:Conf-ID F13 |
| |<-------------------| |
| | 200 OK F14 | |
| |------------------->| |
| | NOTIFY F15 | |
| |------------------->| |
| | 200 OK F16 | |
| |<-------------------| |
Figure 6. Adding a Participant to an Existing Conference.
5.7. REFER with REFER: Requesting a Focus to Refer a Participant to
Dial in to the Conference
A participant may request that the focus refer a participant into the
conference by sending a REFER method. The Refer-To header field will
have the method set to REFER and an escaped Refer-To header field
containing the conference URI.
Note that in Message F1 below, the Refer-To header field is shown as
continuing across two lines -- this would not be the case in an
actual message; the URI would have continued beyond the formatting
limitations of this document.
This scenario is shown in Figure 7.
Alice Focus Bob Carol
| | | |
|<==================>| | |
| Alice asks focus to REFER Bob into conference |
| | | |
|REFER sip:Conf-ID Refer-To:Bob;method=REFER?Refer-To=Conf-ID F1
|------------------->| | |
| 202 Accepted F2 | | |
|<-------------------| | |
| NOTIFY (Trying) F3| | |
|<-------------------| | |
| 200 OK F4 | | |
|------------------->| | |
| Focus REFERs Bob to the conference |
| | | |
| | REFER Refer-To:Conf-ID F5 |
| |------------------->| |
| | 202 Accepted F6 | |
| NOTIFY (202) F7 |<-------------------| |
|<-------------------| NOTIFY (Trying) F8 | |
| 200 OK F9 |<-------------------| |
|------------------->| 200 OK F10 | |
| |------------------->| |
| | INVITE sip:Conf-ID F11 |
| |<-------------------| |
| | 180 Ringing F12 | |
| |------------------->| |
| | 200 OK Contact:Conf-ID;isfocus F13 |
| |------------------->| |
| | ACK F14 | |
| NOTIFY F15 |<-------------------| |
|<-------------------| RTP | |
| 200 OK F16 |<==================>| |
|------------------->| NOTIFY (200) F17 | |
| |<-------------------| |
| | 200 OK F18 | |
| |------------------->| |
| | SUBSCRIBE sip:Conf-ID F17 |
| |<-------------------| |
| | 200 OK F19 | |
| |------------------->| |
| | NOTIFY F20 | |
| |------------------->| |
| | 200 OK F21 | |
| |<-------------------| |
Figure 7. Requesting That the Focus Refer a Participant to a
Conference.
F1 REFER sip:3402934234@conf.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.example.com;branch=z9hG4bKg4534
Max-Forwards: 70
To: <sip:3402934234@conf.example.com>
From: Alice <sip:alice@atlanta.example.com>;tag=5534562
Call-ID: 849392fklgl43
CSeq: 476 REFER
Contact: <sip:alice@alice.example.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
SUBSCRIBE, NOTIFY
Accept: application/sdp, message/sipfrag
Refer-To: <sip:bob@biloxi.example.com;method=REFER
?Refer-To=sip:3402934234%40example.com>
Supported: replaces
Content-Length: 0
F5 REFER sip:3402934234@conf.example.com SIP/2.0
Via: SIP/2.0/UDP ms5.conf.example.com;branch=z9hG4bK33445243
Max-Forwards: 70
To: <sip:bob@biloxi.example.com>
From: <sip:3402934234@conf.example.com>;tag=345621412
Call-ID: 5494204
CSeq: 4524323 REFER
Contact: <sip:3402934234@conf.example.com>;isfocus
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
SUBSCRIBE, NOTIFY
Accept: application/sdp, message/sipfrag
Refer-To: <sip:3402934234@conf.example.com>