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:
- Normal Call (recording required)
- Normal Call (recording not required)
- Early Media Call (recording not required)
- REFER Pass-Through Call (REFER handled by User Agent)
- REFER Call (REFER handled by the Oracle Communications Session Border Controller )
- SRS Indicates Busy in Call (recording not required)
- Call Transfer scenario
Note:
REFER is a SIP method indicating that the recipient (identified by the Request-URI) should contact a third party using the contact information provided in the request.
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.

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.

- 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.

- 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.

- 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.

- 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.

- 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)

- 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.