RFC 4579 - Session Initiation Protocol (SIP) Call Control -(4)

时间:2006-11-02 来源: 作者: 点击:
Supported:join,gruu,replaces Content-Length:0 F11INVITEsip:3402934234@conf.example.comSIP/2.0 Via:SIP/2.0/UDPclient.biloxi.com;branch=z9hG4bKh3887 Max-Forwards:70 To:sip:3402934234@conf.example.com F
  
         Supported: join, gruu, replaces
         Content-Length: 0

   F11   INVITE sip:3402934234@conf.example.com SIP/2.0
         Via: SIP/2.0/UDP client.biloxi.com;branch=z9hG4bKh3887
         Max-Forwards: 70
         To: <sip:3402934234@conf.example.com>
         From: Bob <sip:bob@biloxi.example.com>;tag=32411
         Call-ID: 5d4324fa84b4c76e66710
         CSeq: 764 INVITE
         Contact: <sip:bob@client.biloxi.example.com>
         Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
          SUBSCRIBE, NOTIFY
         Allow-Events: dialog
         Accept: application/sdp, message/sipfrag
         Supported: replaces, join
         Content-Type: application/sdp
         Content-Length: ...

         (SDP not shown)

5.8.  Join Header Field: Dialing in to a Conference Using a (3rd Party)
      Dialog Identifier

   Under some circumstances, a participant wanting to join a conference
   may only know a dialog identifier of one of the legs of the
   conference.  The information may have been learned using the dialog
   package [18] or some non-SIP means to retrieve this information from
   another conference participant.

   A UA can request to be added to a conference by sending a request to
   the focus containing a Join [7] header field containing a dialog ID
   of one leg of the conference (a dialog between another participant
   and the focus).

   There are other scenarios in which a UA can use the Join header for
   certain conferencing call control scenarios.  See [7] for further
   examples and details.

   An example is shown in Figure 8.  It is assumed that Alice is a
   participant of the conference.  The dialog identifier between Alice
   and the focus is abbreviated as A-F and is known by Bob.  Bob
   requests to be added to the conference by sending an INVITE message
   F1 to the focus containing a Join header that contains the dialog
   identifier A-F.  Bob is added into the conference by the focus.

   Alice                Focus                 Bob                Carol
     |                    |                    |                    |
     |<==================>|                    |                    |
     |                    |                    |                    |
     |  Bob requests to be added to the conference.                 |
     |                    |                    |                    |
     |                    | INVITE Join:A-F  F1|                    |
     |                    |<-------------------|                    |
     |                    |   180 Ringing F2   |                    |
     |                    |------------------->|                    |
     |                    | 200 OK Contact:Conf-ID;isfocus F3       |
     |                    |------------------->|                    |
     |                    |       ACK F4       |                    |
     |                    |<-------------------|                    |
     |                    |        RTP         |                    |
     |      NOTIFY F5     |<==================>|                    |
     |<-------------------| SUBSCRIBE sip:Conf-ID F6                |
     |      200 OK F7     |<-------------------|                    |
     |------------------->|     200 OK F8      |                    |
     |                    |------------------->|                    |
     |                    |     NOTIFY F9      |                    |
     |                    |------------------->|                    |
     |                    |     200 OK F10     |                    |
     |                    |<-------------------|                    |

   Figure 8. Adding a Participant to an Existing Conference using Join.

   F1   INVITE sip:3402934234@conf.example.com SIP/2.0
        Via: SIP/2.0/UDP client.biloxi.com;branch=z9hG4bKh3832
        Max-Forwards: 70
        To: <sip:3402934234@conf.example.com>
        From: Bob <sip:bob@biloxi.example.com>;tag=32411
        Call-ID: d432fa84b4c76e66710
        CSeq: 8 INVITE
        Contact: <sip:bob@client.biloxi.example.com>
        Join: 3434034-293553453;to-tag=fdj3l34;from-tag=12f331
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
         SUBSCRIBE, NOTIFY
        Allow-Events: dialog
        Accept: application/sdp, message/sipfrag
        Supported: replaces, join
        Content-Type: application/sdp
        Content-Length: ...

        (SDP not shown)

5.9.  Replaces Header Field: Switching User Agents within a Conference

   Participants in a conference may want to change the user agent (i.e.,
   the endpoint or the device) with which they participate in the
   conference.  This could be done by simply sending a BYE from one user
   agent to leave the conference and an INVITE from the other user agent
   to rejoin.  However, the SIP Replaces [6] primitive is perfectly
   suited to this operation.

   An example is shown in Figure 9.  It is assumed that Alice is a
   participant of the conference using user agent #1.  The dialog
   identifier between Alice’s user agent #1 and the focus is abbreviated
   as A-F.  Alice switches to user agent #2 and sends an INVITE message
   F1 to the focus containing a Replaces header that contains the dialog
   identifier A-F.  Note that this dialog identifier could be learned
   through some non-SIP mechanism, or by use of SUBSCRIBE/NOTIFY and the
   dialog event package [18].  Alice’s user agent #2 is added into the
   conference by the focus.  The focus sends a BYE to user agent #1.
   User agent #1 then automatically terminates the subscription by
   sending a SUBSCRIBE with Expires:0 to terminate the subscription.
   Note that the participant list (roster) has not necessarily changed
   during this scenario, unless detailed information about Alice user
   agents (i.e. endpoints) is included in the conference state
   notifications.  For a full discussion of conference package
   notifications, refer to [9].

   Alice UA#1            Focus             Alice UA#2             Carol
      |                    |                    |                    |
      |<==================>|                    |                    |
      |                    |                    |                    |
      |  Alice switches user agents during the conference.           |
      |                    |                    |                    |
      |                    | INVITE sip:Conf-ID Replaces:A-F  F1     |
      |                    |<-------------------|                    |
      |                    | 200 OK Contact:Conf-ID;isfocus F2       |
      |                    |------------------->|                    |
      |                    |       ACK F3       |                    |
      |                    |<-------------------|                    |
      |                    |        RTP         |                    |
      |                    |<==================>|                    |
      |      BYE F4        |                    |                    |
      |<-------------------|                    |                    |
      |      200 OK F5     |                    |                    |
      |------------------->|                    |                    |
      | SUBSCRIBE Expires:0 F6                  |                    |
      |------------------->|                    |                    |
      |     200 OK F7      |                    |                    |
      |<-------------------|                    |                    |
      | NOTIFY Subscription-State:terminated F8 |                    |
      |<-------------------|                    |                    |
      |      200 OK F9     |                    |                    |
      |------------------->|                    |                    |
      |                    | SUBSCRIBE sip:Conf-ID F10               |
      |                    |<-------------------|                    |
      |                    |     200 OK F11     |                    |
      |                    |------------------->|                    |
      |                    |     NOTIFY F12     |                    |
      |                    |------------------->|                    |
      |                    |     200 OK F13     |                    |
      |                    |<-------------------|                    |

   Figure 9. Switching a User Agent within a Conference.

5.10.  Replaces Header Field: Transferring a Point-to-Point Session into
       a Conference

   This call flow shows how a point-to-point call can be transferred to
   a conference call involving an external focus.

   Alice and Bob have an established session with a dialog identifier
   A-B.  Alice joins the conference with the focus by sending an INVITE
   to the Conference URI.  Alice then sends a REFER request to the focus
   to send an INVITE request to the other participant.  Alice includes
   an escaped Replaces header field in the URI included in the Refer-To

   header field.  Bob receives the INVITE from the focus and matches the
   dialog in the Replaces header field with the dialog with Alice.  As a
   result, Bob accepts the INVITE, joins the conference, and sends a BYE
   to Alice to tear down their point-to-point dialog.

   Alice                Focus                 Bob                Carol
     |                    |                    |                    |
     |   Alice is in a session with Bob        |                    |
     |<=======================================>|                    |
     |                    |                    |                    |
     |  Alice joins the conference             |                    |
     |                    |                    |                    |
     | INVITE sip:Conf-ID F1                   |                    |
     |------------------->|                    |                    |
     | 200 OK Contact:sip:Conf-ID;isfocus F2   |                    |
     |<-------------------|                    |                    |
     |        ACK F3      |                    |                    |
     |------------------->|                    |                    |
     |    SUBSCRIBE F4    |                    |                    |
     |------------------->|                    |                    |
     |      200 OK F5     |                    |                    |
     |<-------------------|                    |                    |
     |      NOTIFY F6     |                    |                    |
     |<-------------------|                    |                    |
     |      200 OK F7     |                    |                    |
     |------------------->|                    |                    |
     |<==================>|                    |                    |
     |                    |                    |                    |
     |  Alice asks focus to REFER Bob into conference               |
     |                    |                    |                    |
     | REFER sip:Conf-ID Refer-To:Bob?Replaces=A-B F8               |
     |------------------->|                    |                    |
     |  202 Accepted F9   |                    |                    |
     |<-------------------|                    |                    |
     | NOTIFY (Trying) F10|                    |                    |
     |<-------------------|                    |                    |
     |     200 OK F11     |                    |                    |
     |------------------->|                    |                    |
     |                    |                    |                    |
     |           Focus invites Bob to the conference                |
     |                    |                    |                    |
     |                    | INVITE sip:Conf-ID Replaces:A-B F12     |
     |                    |------------------->|                    |
     |                    |     200 OK F13     |                    |
     |                    |<-------------------|                    |
     |                    |       ACK F14      |                    |
     |                    |------------------->|                    |
     |                    |        RTP         |                    |

     |                    |<==================>|                    |
     |                 BYE F15                 |                    |
     |<----------------------------------------|                    |
     |                200 OK F16               |                    |
     |---------------------------------------->|                    |
     |   NOTIFY (200) F17 |                    |                    |
     |<-------------------|                    |                    |
     |      200 OK F18    |                    |                    |
     |------------------->|                    |                    |
     |      NOTIFY F19    |                    |                    |
     |<-------------------|                    |                    |
     |      200 OK F20    |                    |                    |
     |------------------->|                    |                    |
     |                    | SUBSCRIBE sip:Conf-ID F21               |
     |                    |<-------------------|                    |
     |                    |     200 OK F22     |                    |
     |                    |------------------->|                    |
     |                    |     NOTIFY F23     |                    |
     |                    |------------------->|                    |
     |                    |     200 OK F24     |                    |
     |                    |<-------------------|                    |
     |                    |                    |                    |

   Figure 10. Transitioning a Point to Point Session into a Conference.

5.11.  REFER with BYE: Requesting That the Focus Remove a Participant
       from a Conference

   To request that the focus remove a participant from the specified
   conference, a properly authorized SIP UA (typically the conference
   owner) can send a REFER to the conference URI with a Refer-To
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容