SIPREC Call Flows

This section provides examples of call flow scenarios that can occur in a SIPREC environment. SIP recording call flow examples include:

For Selective Recording:

Selective Recording

Normal Call (recording required)

The following illustration shows a normal call using selective recording with recording required. For SDP and Metadata information in Notes 1 and 2 , see Sample SDP and Metadata.

The selective recording normal call call flow is described in the following list.

I

  • UA-A sends INVITE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards INVITE with SDP and metadata to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends INVITE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends re-INVITE with SDP and metadata 
 changes to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK response to UA-A.
  • RTP stream initiated between UA-A and Oracle Communications Session Border Controller.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-B.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS.
  • UA-A sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • Oracle Communications Session Border Controller sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • Oracle Communications Session Border Controller sends BYE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends BYE to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.

Sample SDP and Metadata

The following sample SDP and Metadata pertain to Notes 1 and 2 in the previous Call Flow diagram.

--[Note 1]------------------------------
Content-Type: application/sdp
v=0
o=- 171 213 IN IP4 10.0.0.2
s=-
c=IN IP4 10.0.0.1
t=0 0
m=audio 6000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:1

Content-Type: application/rs-metadata+xml
Content-Disposition: recording-session
<?xml version='1.0' encoding='UTF-8'?>
<recording xmlns='urn:ietf:params:xml:ns:recording'>
        <dataMode>complete</dataMode>
        <session id="urn:uuid:79b2fcd8-5c7f-455c-783f-db334e5d57d0">
                <start-time>2011-06-27T17:03:57</start-time>
        </session>
        <participant id="urn:uuid:10ac9063-76b7-40bb-4587-08ba290d7327" session="urn:uuid:79b2fcd8-5c7f-455c-783f-db334e5d57d0">
                <aor>sip:sipp@168.192.24.40</aor>
                <name>sipp </name>
                <send>urn:uuid:07868c77-ef8e-4d6f-6dd5-a02ff53a1329</send>
                <start-time>2011-06-27T17:03:57</start-time>
        </participant>
        <participant id="urn:uuid:797c45f5-e765-4b12-52b0-d9be31138529" session="urn:uuid:79b2fcd8-5c7f-455c-783f-db334e5d57d0">
                <aor>sip:service@168.192.24.60</aor>
                <name>sut </name>
        </participant>
        <stream id="urn:uuid:4a72a1ed-abb2-4d7c-5f4d-6d4c36e2d4ec" session="urn:uuid:79b2fcd8-5c7f-455c-783f-db334e5d57d0">
                <mode>separate</mode>
                <start-time>2011-06-27T17:03:57</start-time>
				<label>1</label>
        </stream>
</recording>


--[Note 2]------------------------------
Content-Type: application/sdp
v=0
o=- 171 213 IN IP4 10.0.0.2
s=-
c=IN IP4 10.0.0.1
t=0 0
m=audio 6000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:1
m=audio 6002 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:2

Content-Type: application/rs-metadata+xml
Content-Disposition: recording-session
<?xml version='1.0' encoding='UTF-8'?>
<recording xmlns='urn:ietf:params:xml:ns:recording'>
        <dataMode>partial</dataMode>
        <session id="urn:uuid:79b2fcd8-5c7f-455c-783f-db334e5d57d0">
                <start-time>2011-06-27T17:03:57</start-time>
        </session>
        <participant id="urn:uuid:797c45f5-e765-4b12-52b0-d9be31138529" session="urn:uuid:79b2fcd8-5c7f-455c-783f-db334e5d57d0">
                <aor>sip:service@168.192.24.60</aor>
                <name>sut </name>
                <send>urn:uuid:4a72a1ed-abb2-4d7c-5f4d-6d4c36e2d4ec</send>
                <start-time>2011-06-27T17:03:58</start-time>
        </participant>
        <stream id="urn:uuid:07868c77-ef8e-4d6f-6dd5-a02ff53a1329" session="urn:uuid:79b2fcd8-5c7f-455c-783f-db334e5d57d0">
                <mode>separate</mode>
                <start-time>2011-06-27T17:03:58</start-time>
				<label>2</label>
        </stream>
</recording>

Normal Call (recording not required)

The following illustration shows a normal call using selective recording with recording optional.

The normal call without required recording call flow is described in the following list.
  • UA-A sends INVITE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards INVITE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK response to UA-A.
  • Oracle Communications Session Border Controller sends INVITE with SDP and metadata to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • RTP stream initiated between UA-A, Oracle Communications Session Border Controller, 
 and UA-B.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS.
  • UA-A sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • Oracle Communications Session Border Controller sends BYE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends BYE to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.

Early Media Call (recording not required)

The following illustration shows an early media call using selective recording with recording optional.

The early media call without required recording call flow is described below.
  • UA-A sends INVITE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards INVITE to UA-B.
  • UA-B sends 180 and SDP to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends INVITE with SDP and metadata to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends 180 with SDP to UA-A.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-A.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-B.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK to UA-A.
  • Oracle Communications Session Border Controller sends re-INVITE with SDP and metadata 
 changes to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • UA-A sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • Oracle Communications Session Border Controller sends BYE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends BYE to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.

REFER Pass-Through Call (REFER handled by User Agent)

The following illustration shows a REFER pass-through call using selective recording and the User Agent (UA) handling the REFER on the call. Recording is required in this call flow.

The REFER pass-through call handled by the UA call flow is described below.
  • UA-A sends INVITE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards INVITE with SDP Offer and metadata to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends INVITE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends re-INVITE with SDP and metadata changes to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK response to UA-A.
  • RTP stream initiated between UA-A and Oracle Communications Session Border Controller.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-B.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS.
  • UA-A sends REFER-TO: C to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards REFER-TO: C to UA-B.
  • UA-B responds with 202 ACCEPTED to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards 202 ACCEPTED to UA-A.
  • UA-B sends INVITE TO: C to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends INVITE to UA-C.
  • UA-C responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK response to UA-B.
  • Oracle Communications Session Border Controller sends NOTIFY with OK reponse to UA-A.
  • Oracle Communications Session Border Controller sends re-INVITE to SRS with new SDP and metadata, adds participant C, stops participant A .
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • UA-A sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-B.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-C.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS.
  • UA-C sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-C.
  • Oracle Communications Session Border Controller sends BYE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends BYE to SRS
  • SRS responds with OK to Oracle Communications Session Border Controller.

REFER Call (REFER handled by Oracle Communications Session Border Controller)

The following illustration shows a call using selective recording and the Session Border Controller (Oracle Communications Session Border Controller) handling the REFER on the call. Recording is required in this call flow.

The REFER call handled by the SBC call flow is described below.
  • UA-A sends INVITE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards INVITE with SDP Offer and metadata to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends INVITE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends re-INVITE with SDP and metadata changes to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK response to UA-A.
  • RTP stream initiated between UA-A and Oracle Communications Session Border Controller.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-B.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS.
  • UA-A sends REFER-TO: C to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border ControllerOracle Communications Session Border Controller responds with 202 ACCEPTED to UA-A.
  • Oracle Communications Session Border Controller sends INVITE to UA-C.
  • UA-C responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends NOTIFY with OK response to UA-A.
  • UA-A sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • Oracle Communications Session Border Controller sends re-INVITE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends re-INVITE to SRS with new SDP and metadata.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-B.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-C.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS.
  • UA-C sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-C.
  • Oracle Communications Session Border Controller sends BYE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends BYE to SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.

SRS Indicates Busy in Call (recording not required)

The following illustration shows the Session Recording Server (SRS) is BUSY for a call session. Recording is not required in this call flow.

The SRS indicates busy without recording required call flow is described below.
  • UA-A sends INVITE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards INVITE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK response to UA-A.
  • Oracle Communications Session Border Controller sends INVITE to SRS1 with SDP and metadata.
  • SRS1 responds to Oracle Communications Session Border Controller with 436 BUSY HERE.
  • RTP stream initiated between UA-A andOracle Communications Session Border Controller.
  • RTP stream initiated between Oracle Communications Session Border Controller and UA-B.
  • Oracle Communications Session Border Controller sends INVITE to SRS2 with SDP and metadata.
  • SRS2 responds with OK to Oracle Communications Session Border Controller.
  • RTP stream initiated between Oracle Communications Session Border Controller and SRS2.
  • UA-A sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller responds with OK to UA-A.
  • Oracle Communications Session Border Controller sends BYE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends BYE to SRS2.
  • SRS2 responds with OK to Oracle Communications Session Border Controller.

Call Transfer Scenario (recording required)

The following illustration shows the Re-INVITE from Oracle Communications Session Border Controller to SRS on receiving in-dialog-requests INVITE/ UPDATE/ Re-INVITE during call session. Recording is required in this call flow.
The call transfer with required recording call flow is described below.
  • UA-A sends INVITE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller updates the INVITE message to the Metadata in SRS.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller sends an INVITE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK response to UA-A.
  • Oracle Communications Session Border Controller sends INVITE to SRS in Recording Session.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • UA-A sends an UPDATE message to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards UPDATE message to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK to UA-A..
  • Oracle Communications Session Border Controller sends a re-INVITE to SRS in Recording Session.
  • SRS responds with OK to Oracle Communications Session Border Controller.
  • UA-A sends BYE to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards BYE to UA-B.
  • UA-B responds with OK to Oracle Communications Session Border Controller.
  • Oracle Communications Session Border Controller forwards OK to UA-B.
  • Oracle Communications Session Border Controller sends BYE to SRS in Recording Session.
  • SRS responds with OK to Oracle Communications Session Border Controller in Recording Session.