Pages

RCS Procedures

According to RCS specification (RCC11_RCS5_1_endorsement_of_oma_cpm_2_0_conversation_functions_v2.0), RCS 5.1 does indicate or be compatible with OMA defined CPM based instant messaging services (OMA-TS-CPM_Conversation_Function-V2_0-20150113-C) even though there are differences between them, which is main agenda of that RCS 5.1 specification.



In order to differentiate how many services in OMA CPM and SIMPLE IM are endorsed or not by RCS, I made a table below based on chapter 4 of RCC11_RCS5_1_endorsement_of_oma_cpm_2_0_conversation_functions_v2.0 and chapter 4 of RCC12_RCS5_1_endorsement_of_oma_sip_simple_im_v2.0. The chapter described in this table regarding SIMPLE IM is referring to OMA-TS-SIMPLE_IM-V2_0-20150310-A. 




So I would like to describe major service procedures based on OMA CPM version 2.0 and RCS 5.1 rather than SIMPLE IM. OMA CPM based instant messaging and RCS defines three major services below.



  • CPM Standalone Message
  • CPM Session
  • CPM File Transfer

There are more subset services under each item, which would like to be explain with several examples now on.



CPM Standalone Message


As you may know, Standalone Message has two different subset services; Pager Mode and Large Message Mode. Pager Mode would be used when message contents are up to 1300 bytes, otherwise Large Message Mode would be used. The procedure of each mode also different. Pager Mode would send contents within message body under SIP MESSAGE request between two end point directly while Large Message Mode would send them MSRP sessions after SIP session established along with SIP INVITE, SIP 200 OK, and SIP ACK.


For Pager Mode Standalone Message, it would be done SIP MESSAGE and the response to it once devices are registered on IMS core network. Here is the procedure of Pager Mode. SIP MESSAGE would have SIP-URI or tel-URI without destination's IP address, and it would be sent to IMS core first from UE.




Here is what this procedure has in detail below. 

1) UE NW - Destination UA     SIP MESSAGE
Session Initiation Protocol (MESSAGE)
Request-Line: MESSAGE sip:+12345678901@xxx.com;user=phone SIP/2.0
   Message Header
       P-Preferred-Service: urn:urn-7:3gpp-service.ims.icsi.oma.cpm.msg
       Contribution-ID: 477b66ae9662e3ad18549bf5dabf9d26d5e707ca
       Conversation-ID: 1710887c7ca47dc2c1274c11673eb0df5a604fd3
       P-Preferred-Identity: <sip:00101123456789@xxx.com>
       Request-Disposition: no-fork
       User-Agent: Samsung IMS 5.0
       CSeq: 1 MESSAGE
       Max-Forwards: 70
       P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
       Route: <sip:[2001:0:0:1::2]:5060;lr>
       Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.msg"
       Content-Type: message/cpim
       From: <sip:00101123456789@xxx.com>;tag=1384874566
       Call-ID: 3712948749@2001::1:88fe:fccf:2870:5dee
       Content-Length: 322
       Contact: <sip:00101123456789@[2001::1:...:5dee]:5060>;+sip.instance="<urn:gsma:imei:35469106-056673-0>"
       To: <sip:+12345678901@xxx.com;user=phone>
       Via: SIP/2.0/TCP [2001::1:88fe:fccf:2870:5dee]:5060;branch=z9hG4bK2629405539smg;transport=TCP
   Message Body
       From: <sip:00101123456789@xxx.com>\r\n
       To: <sip:+12345678901@xxx.com;user=phone>\r\n
       DateTime: 2015-02-17T06:54:27Z\r\n
       NS (Session-Expires): imdn <urn:ietf:params:imdn>\r\n
       imdn.Message-ID: PH7qAIV8cgH5\r\n
       imdn.Disposition-Notification: positive-delivery, display\r\n
       Content-type: text/plain;charset=UTF-8\r\n
       Content-Length: 15\r\n
       123456789abcdef

2) UE     NW - Destination UA     SIP 200 OK
Session Initiation Protocol (200)
   Status-Line: SIP/2.0 200 OK
   Message Header
       Max-Forwards: 70
       Via: SIP/2.0/TCP [2001::1:88fe:fccf:2870:5dee]:5060;branch=z9hG4bK2629405539smg;transport=TCP
       From: <sip:00101123456789@xxx.com>;tag=1384874566
       To: <sip:+12345678901@xxx.com;user=phone>;tag=73335cbb32b744baaaf5097a34431c92
       Call-ID: 3712948749@2001::1:88fe:fccf:2870:5dee
       CSeq: 1 MESSAGE
       Server: Anritsu-RCS-serv/OMA1.0
       Content-Length: 0

3) UE     NW - Destination UA     SIP MESSAGE

Session Initiation Protocol (MESSAGE)
   Request-Line: MESSAGE sip:00101123456789@[2001::1:88fe:fccf:2870:5dee]:5060 SIP/2.0
   Message Header
       Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z9hG4bK...30ea63cc18a;rport;transport=udp
       Via: SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z9hG4bKe7c0830f56394c91985b32740e324dbf
       Max-Forwards: 68
       From: <sip:+14448880011@xxx.com>;tag=d1d79837cb9140e0a4b75cba91f40178
       To: <sip:00101123456789@xxx.com>
       P-Asserted-Identity: <sip:+14448880011@xxx.com>
       Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.msg"
       Contribution-ID: f415972d55
       Conversation-ID: 1710887c7ca47dc2c1274c11673eb0df5a604fd3
       Content-Type: message/cpim
       Content-Length: 490
       CSeq: 1 MESSAGE
       Call-ID: fb87fae7ea0f4eaebdd51c7bce64ccf8
       Record-Route: <sip:[2001:0:0:1::2]:5060;lr>
   Message Body
       From: <sip:anonymous@anonymous.invalid>\r\n
       To: <sip:00101123456789@xxx.com>\r\n
       DateTime: 2015-02-17T06:54:27.8730740Z\r\n
       NS (Session-Expires): imdn <urn:ietf:params:imdn>\r\n
       imdn.Message-ID: 92c65678d0\r\n
       Content-Disposition: notification\r\n
       Content-Type: message/imdn+xml\r\n
       <?xml version="1.0" encoding="utf-8"?>\r\n
       <imdn xmlns="urn:ietf:params:xml:ns:imdn">\r\n
         <message-id>PH7qAIV8cgH5</message-id>\r\n
         <delivery-notification>\r\n
           <status>\r\n
             <delivered />\r\n
           </status>\r\n
         </delivery-notification>\r\n
       </imdn>

4) UE NW - Destination UA     SIP 200 OK

Session Initiation Protocol (200)
   Status-Line: SIP/2.0 200 OK
   Message Header
       Contribution-ID: f415972d55
       Conversation-ID: 1710887c7ca47dc2c1274c11673eb0df5a604fd3
       CSeq: 1 MESSAGE
       P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
       From: <sip:+14448880011@xxx.com>;tag=d1d79837cb9140e0a4b75cba91f40178
       Call-ID: fb87fae7ea0f4eaebdd51c7bce64ccf8
       Content-Lenfth: 0
       To: <sip:00101123456789@xxx.com>;tag=1310629065
       Via: SIP/2.0/UDP [xxx]:5060;branch=z...;rport=5060;received=xxx;...branch=z...

5) UE     NW - Destination UA     SIP MESSAGE
Session Initiation Protocol (MESSAGE)
   Request-Line: MESSAGE sip:00101123456789@[2001::1:88fe:fccf:2870:5dee]:5060 SIP/2.0
   Message Header
       Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z9hG4bK...c18c;rport;transport=udp
       Via: SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z9hG4bK266a90b1785b4b659ea8d0911bf4f48b
       Max-Forwards: 68
       From: <sip:+14448880011@xxx.com>;tag=c5305ca476f3456a904ca1a31cf2b091
       To: <sip:00101123456789@xxx.com>
       P-Asserted-Identity: <sip:+14448880011@xxx.com>
       Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.msg"
       Contribution-ID: 70e1ec50d6
       Conversation-ID: 1710887c7ca47dc2c1274c11673eb0df5a604fd3
       Content-Type: message/cpim
       Content-Length: 495
       CSeq: 1 MESSAGE
       Call-ID: 30210a9d7df84045a75c8b040d6395af
       Record-Route: <sip:[2001:0:0:1::2]:5060;lr>
   Message Body
       From: "No Chat" <sip:+14448880011@xxx.com>\r\n
       To: <sip:00101123456789@xxx.com>\r\n
       DateTime: 2015-02-17T06:54:45.1650631Z\r\n
       NS (Session-Expires): imdn <urn:ietf:params:imdn>\r\n
       imdn.Message-ID: cef6f7fe6d\r\n
       Content-Disposition: notification\r\n
       Content-Type: message/imdn+xml\r\n
       <?xml version="1.0" encoding="utf-8"?>\r\n
       <imdn xmlns="urn:ietf:params:xml:ns:imdn">\r\n
         <message-id>PH7qAIV8cgH5</message-id>\r\n
         <display-notification>\r\n
           <status>\r\n
             <displayed />\r\n
           </status>\r\n
         </display-notification>\r\n
       </imdn>

6) UE NW - Destination UA     SIP 200 OK

Session Initiation Protocol (200)
   Status-Line: SIP/2.0 200 OK
   Message Header
       Contribution-ID: 70e1ec50d6
       Conversation-ID: 1710887c7ca47dc2c1274c11673eb0df5a604fd3
       CSeq: 1 MESSAGE
       P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
       From: <sip:+14448880011@xxx.com>;tag=c5305ca476f3456a904ca1a31cf2b091
       Call-ID: 30210a9d7df84045a75c8b040d6395af
       Content-Length: 0
       To: <sip:00101123456789@xxx.com>;tag=2700955583
       Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...c;rport=5060;received=2001:0:0:1::2;transport=udp,...

For Large Message Mode, it would deliver contents with MSRP sessions after SIP session is established once devices are registered on IMS core. SIP session would get started with SIP INVITE and get 200 OK response, which includes recipient's IP address under SDP., so MSRP session would be established end-to-end node directly. Here is the procedure of Large Message Mode.


Details in the protocol sequence would not explained further since the similar things will come to Chat Session. CPM Feature Tag "urn:urn-7:3gpp-service.ims.icsi.oma.cpm.largemsg" in Contact header would be found for Large Message Mode Standalone Message while "urn:urn-7:3gpp-service.ims.icsi.oma.cpm.session" in there for Session. And here is a few more difference in SDP offer under SIP INVITE for Large Message Mode Standalone Message from CPM Session.


           Media Attribute (a): accept-types:message/cpim
           Media Attribute (a): accept-wrapped-types:text/plain
Media Attribute (a): sendonly
           Media Attribute (a): file-selector:size:actual message size

In case the message is deferred, device should send SIP INVITE request to CPMDeferredMsgMgmtURI for the service. Then CPM Feature Tag "urn:urn-7:3gpp-service.ims.icsi.oma.cpm.deferred" in Contact header, a field "deferred-messages" in Event header and media direction attribute "a=recvonly" in SDP should be found.


CPM Session


There are two different major services under here; 1-1 Session and Group Session. And there are a few more cases regarding Group Sessions like the one for a Ad-hoc Group, the one for a Pre-defined Group, and the one for a join-in Group. Whatever case or services under CPM Session, the procedure would be same as following. 




And here is detailed protocol sequences below. 


1) UE → NW - Destination UA SIP INVITE

Session Initiation Protocol (INVITE)
   Request-Line: INVITE sip:+12893255768@xxx.com;user=phone SIP/2.0
   Message Header
       Supported: timer
       Conversation-ID: 750192017fe0025714ed411b84364ae39a12447d
       Contribution-ID: b1dcd3bac531c373dbe2edfe554137c5b6b603ec
       P-Preferred-Service: urn:urn-7:3gpp-service.ims.icsi.oma.cpm.session
       P-Preferred-Identity: <tel:+12893255769>
       P-Early-Media: supported
       Allow: INVITE,ACK,OPTIONS,CANCEL,BYE,UPDATE,INFO,REFER,NOTIFY,MESSAGE,PRACK
       User-Agent: Samsung IMS 5.0
       Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.session"
       P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=00101d6e5845db02
       Session-Expires: 3600;refresher=uac
       Min-SE: 90
       Content-Type: application/sdp
       Route: <sip:172.16.138.68:5060;lr>
       From: <tel:+12893255769>;tag=3818778252
       To: <sip:+12893255768@xxx.com;user=phone>
       Call-ID: 3287620225@172.16.80.82
       CSeq: 1 INVITE
       Max-Forwards: 70
       Contact: <sip:+1...>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.session"
       Via: SIP/2.0/UDP 172.16.80.82:5060;branch=z9hG4bK9265903smg;transport=UDP;rport
       Content-Length: 332
   Message Body
       Session Description Protocol
           Session Description Protocol Version (v): 0
           Owner/Creator, Session Id (o): SAMSUNG-IMS-UE 1234564 0 IN IP4 172.16.80.82
           Session Name (s): SS VOIP
           Session Information (i): A VOIP Session
           Connection Information (c): IN IP4 172.16.80.82
           Time Description, active time (t): 0 0
           Media Description, name and address (m): message 9 TCP/MSRP *
           Media Attribute (a): accept-types:message/cpim application/im-iscomposing+xml
           Media Attribute (a): accept-wrapped-types:text/plain message/imdn+xml
           Media Attribute (a): setup:active
           Media Attribute (a): path:msrp://172.16.80.82:8881/vrhyu7FpMQRki1rQtp;tcp
           Media Attribute (a): sendrecv

2) UE     NW SIP Trying

Session Initiation Protocol (100)
   Status-Line: SIP/2.0 100 Trying
   Message Header
       From:<tel:+12893255769>;tag=3818778252
       To:<sip:+12893255768@xxx.com;user=phone>
       Call-ID:3287620225@172.16.80.82
       CSeq:1 INVITE
       Via:SIP/2.0/UDP 172.16.80.82:5060;branch=z...;transport=UDP;rport=5060;received=172.16.80.82
       Content-Length:0

3) UE  NW - Destination UA SIP 200 OK

Session Initiation Protocol (200)
   Status-Line: SIP/2.0 200 OK
   Message Header
       Via:SIP/2.0/UDP 172.16.80.82:5060;branch=z...;transport=UDP;rport=5060;received=172.16.80.82
       Record-Route:<sip:172.16.138.68;routing_id=pcscf_a_side;lskpmc=PE1;lr>
       From:<tel:+12893255769>;tag=3818778252
       To:<sip:+12893255768@xxx.com;user=phone>;tag=mavodi-1-cb-4a-5-0-_00000000...
       Call-ID:3287620225@172.16.80.82
       CSeq:1 INVITE
       Require:timer
       NS (Session-Expires):1800;refresher=uac
       Supported:timer
       Contact:<sip:...;transport=tcp;priv=...>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.session"
       P-Asserted-Identity:<tel:+12893255768>
       Server:IM-serv/OMA1.0 Mavenir Rms/v8.2R12041001o
       Content-Type:application/sdp
       Content-Length:380
       P-Com.Siemens.Calling-Party-ID:<tel:+12893255769>
   Message Body
       Session Description Protocol
           Session Description Protocol Version (v): 0
           Owner/Creator, Session Id (o): Rms-1-206-26-5-466 12065264279238656 1370567776 IN IP4 xxx.com
           Session Name (s): SS VOIP
           Session Information (i): A VOIP Session
           Connection Information (c): IN IP4 172.16.139.157
           Time Description, active time (t): 0 0
           Media Description, name and address (m): message 49488 TCP/MSRP *
           Media Attribute (a): accept-types:message/cpim application/im-iscomposing+xml
           Media Attribute (a): accept-wrapped-types:text/plain message/imdn+xml
           Media Attribute (a): sendrecv
           Media Attribute (a): max-size:20971520
           Media Attribute (a): path:msrp://172.16.139.157:49488/n04s00i7t0+42;tcp
           Media Attribute (a): setup:passive

4) UE  NW - Destination UA SIP ACK
Session Initiation Protocol (ACK)
   Request-Line: ACK sip:pcscflab210-gm.xxx.com;transport=tcp;priv=...3D%3D SIP/2.0
   Message Header
       From: <tel:+12893255769>;tag=3818778252
       To: <sip:+12893255768@xxx.com;user=phone>;tag=mavodi-1-cb-4a-5-0-_000...
       CSeq: 1 ACK
       Call-ID: 3287620225@172.16.80.82
       Max-Forwards: 70
       Route: <sip:172.16.138.68;lr;routing_id=pcscf_a_side;lskpmc=PE1>
       Contact: <sip:+1...>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.session"
       Via: SIP/2.0/UDP 172.16.80.82:5060;branch=z9hG4bK83393130smg;transport=UDP;rport
       Content-Length: 0

5) UE  Destination UA MSRP SEND
Message Session Relay Protocol
   Request Line: MSRP rDc1STcUj6Tp75PZDcWy2Zvagw7dh7 SEND
   Message Header
       To-Path: msrp://172.16.139.157:49488/n04s00i7t0+42;tcp
       From-Path: msrp://172.16.80.82:8881/vrhyu7FpMQRki1rQtp;tcp
       Message-ID: Y4J0nw
       Success-Report: no
       Failure-Report: yes
   End Line: -------rDc1STcUj6Tp75PZDcWy2Zvagw7dh7$

6) UE  Destination UA MSRP OK
Message Session Relay Protocol
   Response Line: MSRP rDc1STcUj6Tp75PZDcWy2Zvagw7dh7 200 OK
   Message Header
       To-Path: msrp://172.16.80.82:8881/vrhyu7FpMQRki1rQtp;tcp
       From-Path: msrp://172.16.139.157:49488/n04s00i7t0+42;tcp
   End Line: -------rDc1STcUj6Tp75PZDcWy2Zvagw7dh7$

7) UE  Destination UA MSRP SEND
Message Session Relay Protocol
   Request Line: MSRP ZRDrmwWDFlKs7092FVTm6qMuh85 SEND
   Message Header
       To-Path: msrp://172.16.139.157:49488/n04s00i7t0+42;tcp
       From-Path: msrp://172.16.80.82:8881/vrhyu7FpMQRki1rQtp;tcp
       Message-ID: nC81JVwv8AyhH5fL2ATE2Tdw67c2A
       Success-Report: no
       Failure-Report: yes
       Byte-Range: 1-322/322
       Content-Type: message/cpim
   Data [truncated]:
       From: <sip:anonymous@anonymous.invalid>\r\n
       To: <sip:anonymous@anonymous.invalid>\r\n
       DateTime: 2014-11-11T19:00:05Z\r\n
       NS (Session-Expires): imdn <urn:ietf:params:imdn>\r\n
       imdn.Message-ID: 2XTvyeM9M\r\n
       imdn.Disposition-Notification: positive-delivery, display\r\n
       Content-type: text/plain;charset=UTF-8\r\n
       Content-Length: 26\r\n
       I can't believe is working\r\n
   End Line: -------ZRDrmwWDFlKs7092FVTm6qMuh85$

8) UE     Destination UA MSRP OK
Message Session Relay Protocol
   Response Line: MSRP ZRDrmwWDFlKs7092FVTm6qMuh85 200 OK
   Message Header
       To-Path: msrp://172.16.139.4:55794/vrhyu7FpMQRki1rQtp;tcp
       From-Path: msrp://10.240.24.19:3541/n04s00i7t0+42;tcp
   End Line: -------ZRDrmwWDFlKs7092FVTm6qMuh85$

9) UE     Destination UA MSRP SEND
Message Session Relay Protocol
   Request Line: MSRP n04s00i7t0+94 SEND
   Message Header
       To-Path: msrp://172.16.139.4:55794/vrhyu7FpMQRki1rQtp;tcp
       From-Path: msrp://10.240.24.19:3541/n04s00i7t0+42;tcp
       Message-ID: FVHJnIOAVN++2++0
       Success-Report: no
       Failure-Report: yes
       Byte-Range: 1-546/546
       Content-Type: message/cpim
   Data [truncated]:
       From: <sip:anonymous@anonymous.invalid>\r\n
       NS (Session-Expires): imdn <urn:ietf:params:imdn>\r\n
       imdn.Message-ID: u1vNTIhvFvXJcIN\r\n
       DateTime: 2014-11-11T19:00:06Z\r\n
       To: <sip:anonymous@anonymous.invalid>\r\n
       Content-type: message/imdn+xml\r\n
       Content-Disposition: notification\r\n
       Content-length: 275\r\n
       <?xml version="1.0" encoding="UTF-8"?>\n
       <imdn xmlns="urn:ietf:params:xml:ns:imdn">\n
         <message-id>2XTvyeM9M</message-id>\n
         <datetime>2014-11-11T19:00:06-00:00</datetime>\n
         <delivery-notification>\n
           <status>\n
             <delivered/>\n
           </status>\n
         </delivery-notification>\n
       </imdn>\n
   End Line: -------n04s00i7t0+94$

10) UE  Destination UA MSRP OK
Message Session Relay Protocol
   Response Line: MSRP n04s00i7t0+94 200 OK
   Message Header
       To-Path: msrp://172.16.139.157:49488/n04s00i7t0+42;tcp
       From-Path: msrp://172.16.80.82:8881/vrhyu7FpMQRki1rQtp;tcp
       Message-ID: FVHJnIOAVN++2++0
   End Line: -------n04s00i7t0+94$

11) UE     Destination UA MSRP SEND
Message Session Relay Protocol
   Request Line: MSRP n04s00i7t0+95 SEND
   Message Header
       To-Path: msrp://172.16.139.4:55794/vrhyu7FpMQRki1rQtp;tcp
       From-Path: msrp://10.240.24.19:3541/n04s00i7t0+42;tcp
       Message-ID: 9KAf7B0lqcdfvQfhixQuR7B++2++0
       Success-Report: no
       Failure-Report: yes
       Byte-Range: 1-537/537
       Content-Type: message/cpim
   Data [truncated]:
       From: <sip:anonymous@anonymous.invalid>\r\n
       NS (Session-Expires): imdn <urn:ietf:params:imdn>\r\n
       imdn.Message-ID: FuVVmvUk\r\n
       DateTime: 2014-11-11T19:00:18Z\r\n
       To: <sip:anonymous@anonymous.invalid>\r\n
       Content-type: message/imdn+xml\r\n
       Content-Disposition: notification\r\n
       Content-length: 273\r\n
       <?xml version="1.0" encoding="UTF-8"?>\n
       <imdn xmlns="urn:ietf:params:xml:ns:imdn">\n
         <message-id>2XTvyeM9M</message-id>\n
         <datetime>2014-11-11T19:00:18-00:00</datetime>\n
         <display-notification>\n
           <status>\n
             <displayed/>\n
           </status>\n
         </display-notification>\n
       </imdn>\n
   End Line: -------n04s00i7t0+95$

12) UE     Destination UA MSRP OK
Message Session Relay Protocol
   Response Line: MSRP n04s00i7t0+95 200 OK
   Message Header
       To-Path: msrp://172.16.139.157:49488/n04s00i7t0+42;tcp
       From-Path: msrp://172.16.80.82:8881/vrhyu7FpMQRki1rQtp;tcp
       Message-ID: 9KAf7B0lqcdfvQfhixQuR7B++2++0
   End Line: -------n04s00i7t0+95$

13) UE     Destination UA MSRP SEND
Message Session Relay Protocol
   Request Line: MSRP J0PnsL7Ob7eNcIwTZY SEND
   Message Header
       To-Path: msrp://172.16.139.157:49488/n04s00i7t0+42;tcp
       From-Path: msrp://172.16.80.82:8881/vrhyu7FpMQRki1rQtp;tcp
       Message-ID: l81EIGC
       Success-Report: no
       Failure-Report: yes
       Byte-Range: 1-256/256
       Content-Type: application/im-iscomposing+xml
   Data [truncated]:
       <?xml version="1.0" encoding="UTF-8"?>\n
       <isComposing xmlns="urn:ietf:params:xml:ns:im-iscomposing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\n
         <state>active</state>\n
         <contenttype>text/plain</contenttype>\n
         <refresh>60</refresh>\n
       </isComposing>\n
   End Line: -------J0PnsL7Ob7eNcIwTZY$

14) UE  Destination UA MSRP OK
Message Session Relay Protocol
   Response Line: MSRP J0PnsL7Ob7eNcIwTZY 200 OK
   Message Header
       To-Path: msrp://172.16.139.4:55794/vrhyu7FpMQRki1rQtp;tcp
       From-Path: msrp://10.240.24.19:3541/n04s00i7t0+42;tcp
   End Line: -------J0PnsL7Ob7eNcIwTZY$

CPM File Transfer


The procedure of File Transfer would be exactly same as CPM Session's but there are a few different field in detailed protocol sequences. 

CPM Feature Tag "urn:urn-7:3gpp-service.ims.icsi.oma.cpm.filetransfer" in Accept-Contact and Contact headers would be found for both sending (push) and receiving (pull). 

For sending (push)



Media Attribute (a): sendonly
           Media Attribute (a): file-selector:name:actual type:actual size:actual


For receiving (pull)
Media Attribute (a): recvonly
           Media Attribute (a): file-selector:name:actual type:actual size:actual

Here is the procedure of CPM File Transfer, which includes a bit different part from what CPM Session is. 




Just for your information, "cema" stands for Connection Establishment for Media Anchoring, which is explained in detail in RFC6714. 


1) UE → NW - Destination UA SIP INVITE

Session Initiation Protocol (INVITE)
    Request-Line: INVITE sip:00101123456789@[2001::1:88fe:fccf:2870:5dee]:5060 SIP/2.0
    Message Header
        Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...;rport;transport=udp
        Via: SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z9hG4bKccee441a0bf3476eadc23f3cdb38aea1
        Max-Forwards: 69
        From: <sip:+14448880000@xxx.com>;tag=63dd4c0a35f44dd183f32220f73e4c3f
        To: <sip:00101123456789@xxx.com>
        Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.filetransfer"
        Contact: <sip:+1...>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.filetransfer"
        Content-Type: multipart/mixed;boundary=da96a
        Referred-By: "Chat 00" <sip:+14448880000@xxx.com>
        Conversation-ID: d923e595d9464e1a9d2830c279d2594f
        Contribution-ID: 64919363f1
        Content-Length: 911
        Require: recipient-list-invite
        User-Agent: CPM-serv/OMA1.0
        CSeq: 1 INVITE
        Call-ID: 5c0a9a34d0d64f14b2801ba6bdb91f13
        Record-Route: <sip:[2001:0:0:1::2]:5060;lr>
    Message Body
        MIME Multipart Media Encapsulation, Type: multipart/mixed, Boundary: "da96a"
            [Type: multipart/mixed]
            First boundary: --da96a\r\n
            Encapsulated multipart part:  (message/cpim)
                Content-Type: message/cpim\r\n\r\n
                Media Type
                    Media type: message/cpim (246 bytes)
            Boundary: \r\n--da96a\r\n
            Encapsulated multipart part:  (application/sdp)
                Content-Type: application/sdp\r\n
                Content-Length: 550\r\n\r\n
                Session Description Protocol
                    Session Description Protocol Version (v): 0
                    Owner/Creator, Session Id (o): - 71519 91096 IN IP6 2001:0:0:1::2
                    Session Name (s): -
                    Connection Information (c): IN IP6 2001:0:0:1::2
                    Time Description, active time (t): 0 0
                    Media Description, name and address (m): message 16012 TCP/MSRP *
                    Media Attribute (a): path:msrp://[2001:0000:0000:0001:0000:0000:0000:0002]:16012/e4a55405c2;tcp
                    Media Attribute (a): msrp-cema
                    Media Attribute (a): setup:passive
                    Media Attribute (a): accept-types:message/cpim
                    Media Attribute (a): accept-wrapped-types:*
                    Media Attribute (a): sendonly
                    Media Attribute (a): file-selector:name:"1MB.jpg" type:image/jpeg size:1049274 hash:sha-1:ce:55:63:...
                    Media Attribute (a): file-transfer-id:0dc99042ca5344798bbb19883d4f6bbf
                    Media Attribute (a): file-disposition:render
                    Media Attribute (a): file-date:creation:"Fri, 06 Feb 2015 06:48:12 +0900"
            Last boundary: \r\n--da96a--

2) UE ← NW SIP 100 Trying
Session Initiation Protocol (100)
    Status-Line: SIP/2.0 100 Trying
    Message Header
        CSeq: 1 INVITE
        P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
        From: <sip:+14448880000@xxx.com>;tag=63dd4c0a35f44dd183f32220f73e4c3f
        Call-ID: 5c0a9a34d0d64f14b2801ba6bdb91f13
        Content-Length: 0
        To: <sip:00101123456789@xxx.com>
        Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...,SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z...

3) UE ← NW SIP 180 Ringing

Session Initiation Protocol (180)
    Status-Line: SIP/2.0 180 Ringing
    Message Header
        Max-Forwards: 70
        Allow: INVITE,ACK,OPTIONS,CANCEL,BYE,UPDATE,INFO,REFER,NOTIFY,MESSAGE,PRACK
        CSeq: 1 INVITE
        Record-Route: <sip:[2001:0:0:1::2]:5060;lr>
        P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
        From: <sip:+14448880000@xxx.com>;tag=63dd4c0a35f44dd183f32220f73e4c3f
        Call-ID: 5c0a9a34d0d64f14b2801ba6bdb91f13
        Content-Length: 0
        Contact: <sip:00101123456789...>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.filetransfer"
        To: <sip:00101123456789@xxx.com>;tag=2576813651
        Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...,SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z...

4) UE ← NW - Destination UA SIP 200 OK

Session Initiation Protocol (200)
    Status-Line: SIP/2.0 200 OK
    Message Header
        Contribution-ID: 64919363f1
        Conversation-ID: d923e595d9464e1a9d2830c279d2594f
        Allow: INVITE,ACK,OPTIONS,CANCEL,BYE,UPDATE,INFO,REFER,NOTIFY,MESSAGE,PRACK
        Max-Forwards: 70
        User-Agent: Samsung IMS 5.0
        CSeq: 1 INVITE
        Record-Route: <sip:[2001:0:0:1::2]:5060;lr>
        P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
        Content-Type: application/sdp
        From: <sip:+14448880000@xxx.com>;tag=63dd4c0a35f44dd183f32220f73e4c3f
        Call-ID: 5c0a9a34d0d64f14b2801ba6bdb91f13
        Supported: timer
        Content-Length: 514
        Contact: <sip:00101123456789...>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.filetransfer"
        To: <sip:00101123456789@xxx.com>;tag=2576813651
        Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...,SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z9hG4bKccee441a0bf3476eadc23f3cdb38aea1
    Message Body
        Session Description Protocol
            Session Description Protocol Version (v): 0
            Owner/Creator, Session Id (o): SAMSUNG-IMS-UE 12345611 0 IN IP6 2001::1:88fe:fccf:2870:5dee
            Session Name (s): SS VOIP
            Connection Information (c): IN IP6 2001::1:88fe:fccf:2870:5dee
            Time Description, active time (t): 0 0
            Media Description, name and address (m): message 8884 TCP/MSRP *
            Media Attribute (a): accept-types:image/jpeg
            Media Attribute (a): path:msrp://[2001::1:88fe:fccf:2870:5dee]:8884/...
            Media Attribute (a): setup:active
            Media Attribute (a): file-selector:name:"1MB.jpg" type:image/jpeg size:1049274 hash:sha-1:ce:55:63:5a:...
            Media Attribute (a): file-transfer-id:0dc99042ca5344798bbb19883d4f6bbf
            Media Attribute (a): file-range:1-1049274
            Media Attribute (a): msrp-cema
            Media Attribute (a): recvonly

5) UE → NW - Destination UA SIP ACK
Session Initiation Protocol (ACK)
    Request-Line: ACK sip:00101123456789@[2001::1:88fe:fccf:2870:5dee]:5060;transport=udp SIP/2.0
    Message Header
        Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...;rport;transport=udp
        Via: SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z...
        Max-Forwards: 69
        CSeq: 1 ACK
        From: <sip:+14448880000@xxx.com>;tag=63dd4c0a35f44dd183f32220f73e4c3f
        To: <sip:00101123456789@xxx.com>;tag=2576813651
        Call-ID: 5c0a9a34d0d64f14b2801ba6bdb91f13
        Content-Length: 0

6) UE → Destination UA MSRP SEND
Message Session Relay Protocol
    Request Line: MSRP gl0Y0 SEND
    Message Header
        To-Path: msrp://[2001:0000:0000:0001:0000:0000:0000:0002]:16012/e4a55405c2;tcp
        From-Path: msrp://[2001::1:88fe:fccf:2870:5dee]:8884/cOFNEcnwa8ymev7B0g3M7qUayrk4RR;tcp
        Message-ID: nQo6UlQ4u3p9kW
        Success-Report: no
        Failure-Report: yes
    End Line: -------gl0Y0$

7) UE ← Destination UA MSRP 200 OK

Message Session Relay Protocol
    Response Line: MSRP gl0Y0 200 OK
    Message Header
        To-Path: msrp://[2001::1:88fe:fccf:2870:5dee]:8884/cOFNEcnwa8ymev7B0g3M7qUayrk4RR;tcp
        From-Path: msrp://[2001:0000:0000:0001:0000:0000:0000:0002]:16012/e4a55405c2;tcp
    End Line: -------gl0Y0$

8) UE → Destination UA MSRP SEND

Message Session Relay Protocol
    Request Line: MSRP 85c85b98 SEND
    Message Header
        To-Path: msrp://[2001:0000:0000:0001:88FE:FCCF:2870:5DEE]:8884/...
        From-Path: msrp://[2001:0000:0000:0001:0000:0000:0000:0002]:16012/e4a55405c2;tcp
        Message-ID: 4a041ca324
        Byte-Range: 1-2048/1049274
        Content-Type: image/jpeg
    Data: \377\330\377\340
        JPEG File Interchange Format
            Marker: Start of Image (0xffd8)
            Marker segment: Reserved for application segments - 0 (0xFFE0)
            Marker segment: Define quantization table(s) (0xFFDB)
            Marker segment: Define quantization table(s) (0xFFDB)
            Start of Frame header: Start of Frame (non-differential, Huffman coding) - Baseline DCT (0xFFC0)
            Marker segment: Define Huffman table(s) (0xFFC4)
            Marker segment: Define Huffman table(s) (0xFFC4)
            Marker segment: Define Huffman table(s) (0xFFC4)
            Marker segment: Define Huffman table(s) (0xFFC4)
            Start of Segment header: Start of Scan (0xFFDA)
            Entropy-coded segment (dissection is not yet implemented): fcedbad3ee1e77da36a038037541fd17704f6cfd6bd92c12...
    End Line: -------85c85b98$

9) UE ← Destination UA MSRP 200 OK

Message Session Relay Protocol
    Response Line: MSRP 85c85b98 200 OK
    Message Header
        To-Path: msrp://[2001:0000:0000:0001:0000:0000:0000:0002]:16012/e4a55405c2;tcp
        From-Path: msrp://[2001::1:88fe:fccf:2870:5dee]:8884/cOFNEcnwa8ymev7B0g3M7qUayrk4RR;tcp
        Message-ID: 4a041ca324
    End Line: -------85c85b98$

10) UE → Destination UA MSRP SEND

Message Session Relay Protocol
    Response Line: MSRP 855271f4 200 OK
    Message Header
        To-Path: msrp://[2001:0000:0000:0001:0000:0000:0000:0002]:16012/e4a55405c2;tcp
        From-Path: msrp://[2001::1:88fe:fccf:2870:5dee]:8884/cOFNEcnwa8ymev7B0g3M7qUayrk4RR;tcp
        Message-ID: 4a041ca324
    End Line: -------855271f4$

11) UE ← Destination UA MSRP 200 OK

Message Session Relay Protocol
    Response Line: MSRP 558ad697 200 OK
    Message Header
        To-Path: msrp://[2001:0000:0000:0001:0000:0000:0000:0002]:16012/e4a55405c2;tcp
        From-Path: msrp://[2001::1:88fe:fccf:2870:5dee]:8884/cOFNEcnwa8ymev7B0g3M7qUayrk4RR;tcp
        Message-ID: 4a041ca324
    End Line: -------558ad697$

12) UE →   NW - Destination UA SIP BYE

Session Initiation Protocol (BYE)
    Request-Line: BYE sip:00101123456789@[2001::1:88fe:fccf:2870:5dee]:5060;transport=udp SIP/2.0
    Message Header
        Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...;rport;transport=udp
        Via: SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z...
        Max-Forwards: 69
        Reason: SIP;cause=200;text="Gone"
        From: <sip:+14448880000@xxx.com>;tag=63dd4c0a35f44dd183f32220f73e4c3f
        To: <sip:00101123456789@xxx.com>;tag=2576813651
        CSeq: 2 BYE
        Call-ID: 5c0a9a34d0d64f14b2801ba6bdb91f13
        Content-Length: 0
        Record-Route: <sip:[2001:0:0:1::2]:5060;lr>

13) UE ← NW - Destination UA SIP 200 OK

Session Initiation Protocol (200)
    Status-Line: SIP/2.0 200 OK
    Message Header
        CSeq: 2 BYE
        P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
        From: <sip:+14448880000@xxx.com>;tag=63dd4c0a35f44dd183f32220f73e4c3f
        Call-ID: 5c0a9a34d0d64f14b2801ba6bdb91f13
        Content-Length: 0
        Contact: <sip:00101123456789@[2001::1:88fe:fccf:2870:5dee]:5060;transport=UDP>
        To: <sip:00101123456789@xxx.com>;tag=2576813651
        Via: SIP/2.0/UDP [2001:0:0:1::2]:5060;branch=z...p,SIP/2.0/TCP [2001:0:0:1::2]:6062;branch=z...

14) UE NW - Destination UA SIP MESSAGE

Session Initiation Protocol (MESSAGE)
    Request-Line: MESSAGE sip:+14448880000@xxx.com;user=phone SIP/2.0
    Message Header
        P-Preferred-Service: urn:urn-7:3gpp-service.ims.icsi.oma.cpm.filetransfer
        Contribution-ID: ce98d4122a91c20a19170e2f090cba10fe75e339
        Conversation-ID: 7aef1aa18a6a82e9aff5b526b63d71f48761b0bf
        P-Preferred-Identity: <sip:00101000101123456789@xxx.com>
        Request-Disposition: no-fork
        User-Agent: Samsung IMS 5.0
        CSeq: 1 MESSAGE
        Max-Forwards: 70
        P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=0010100010000000
        Route: <sip:[2001:0:0:1::2]:5060;lr>
        Accept-Contact: *;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.filetransfer"
        Content-Type: message/cpim
        From: <sip:00101123456789@xxx.com>;tag=4190763951
        Call-ID: 4274126626@2001::1:88fe:fccf:2870:5dee
        Content-Length: 568
        Contact: <sip:00101123456789...>;+sip.instance="<urn:gsma:imei:35469106-056673-0>"
        To: <sip:+14448880000@xxx.com;user=phone>
        Via: SIP/2.0/TCP [2001::1:88fe:fccf:2870:5dee]:5060;branch=z...;transport=TCP
    Message Body
        From: <sip:00101123456789@xxx.com>\r\n
        To: <sip:+14448880000@xxx.com;user=phone>\r\n
        DateTime: 2015-02-17T07:00:21-00:00\r\n
        NS (Session-Expires): imdn <urn:ietf:params:imdn>\r\n
        imdn.Message-ID: AmlDUxfsMzfq1sZld4HtbVU\r\n
        Content-Disposition: notification\r\n
        Content-type: message/imdn+xml\r\n
        Content-Length: 276\r\n
        <?xml version="1.0" encoding="UTF-8"?>\n
        <imdn xmlns="urn:ietf:params:xml:ns

15) UE NW - Destination UA SIP 200 OK

Session Initiation Protocol (200)
    Status-Line: SIP/2.0 200 OK
    Message Header
        Max-Forwards: 70
        Via: SIP/2.0/TCP [2001::1:88fe:fccf:2870:5dee]:5060;branch=z...;transport=TCP
net>;tag=4190763951
        To: <sip:+14448880000@xxx.com;user=phone>;tag=2775a2bfe99e41debf004f959cfbfb75
        Call-ID: 4274126626@2001::1:88fe:fccf:2870:5dee
        CSeq: 1 MESSAGE
        Content-Length: 0




# References

  • RCC11_RCS5_1_endorsement_of_oma_cpm_2_0_conversation_functions_v2.0
  • RCC12_RCS5_1_endorsement_of_oma_sip_simple_im_v2.0
  • RCC07_RCS5_1_advanced_communications_specification_v3.0
  • OMA-TS-CPM_Conversation_Function-V2_0-20150113-C
  • OMA-TS-SIMPLE_IM-V2_0-20150310-A
  • RFC6714