I am working on a VoLTE/IMS scenario to transfer text messages as SMS over IP (+g.3gpp.smsip feature) between UE’s.  This is a high-level view of the message flows between the endpoints (not showing CSCFs):

 

UE1                                 IP-SM-GW

|---- MESSAGE (SUBMIT) --------------->|

|<------------------- 202 ACCEPTED ----|

|                                      |

 |<-------- MESSAGE (SUBMIT_REPORT) ----|

|---- 200 OK ------------------------->|

                                        | 

UE2                                     |

|                                      | 

 |<-------------- MESSAGE (DELIVER) ----|

|---- 200 OK ------------------------->|

 

The messages does get transferred from UE1 to UE2 successfully.  Since this is GSM-style SMS, the OA (originating address) and DA (destination address) are specified using telephone numbers, not sip addresses.  This is not a problem for the DA, since it is specified in the SUBMIT TPDU from the originating handset, but when the IP-SM-GW sends the DELIVER TPDU it needs to specify the OA so that the recipient knows who sent the SMS, and this was not provided in the MESSAGE with the SMS-SUBMIT.

 

According to 3GPP TS 24.341 (http://www.qtc.jp/3GPP/Specs/24341-b20.pdf):

"The IP-SM-GW will have to use an address of the SM-over-IP sender that the SC can process (i.e. an E.164 number).  This address will come from a tel URI in a P-Asserted-Identity header (as defined in RFC 3325 [13]) placed in the SIP MESSAGE request by the P-CSCF or S-CSCF."

 

Looking at the MESSAGE request sent from the S-CSCF to the IP-SM-GW, it looks like neither the P-CSCF nor the S-CSCF is providing the tel address in a P-Asserted-Identity header:

 

MESSAGE tel:+3108012345680 SIP/2.0

Route: <sip:defaultapp@tas.core.ims1.test;lr>, <sip:iscmark@scscf.core.ims1.test:6060;lr;s=1;h=0;d=0;a=7369703a30303130333031323334353637383940696d732e6d6e633030332e6d63633030312e336770706e6574776f726b2e6f7267>

P-Served-User: <sip:001030123456789@ims.mnc003.mcc001.3gppnetwork.org>;sescase=orig;regstate=reg

f: <sip:001030123456789@ims.mnc003.mcc001.3gppnetwork.org>;tag=2703358633

t: <tel:+3108012345680>

CSeq: 555874977 MESSAGE

i: 2703358625_2324045032@2001:470:eb88:b021:27f:9507:589d:c201

Via: SIP/2.0/UDP [2001:470:EB88:150:0:0:0:22]:6060;branch=z9hG4bKb857.bd3345ba81ec10b1d11639d9c7414606.0;i=a

Via: SIP/2.0/TCP [2001:470:EB88:150:5054:FF:FE44:BFC9];branch=z9hG4bKb857.be53cc1c583b9c5f9dcebf3306f2b7c1.0

v: SIP/2.0/UDP [2001:470:eb88:b021:27f:9507:589d:c201]:8906;rport=8013;branch=z9hG4bK3552622488

Max-Forwards: 68

P-Access-Network-Info: 3GPP-E-UTRAN-FDD; utran-cell-id-3gpp=0010300030000001

c: application/vnd.3gpp.sms

Allow: MESSAGE

d: no-fork

User-Agent: Xiaomi_Redmi 3S_Android6.0.1_9

l: 27

P-Charging-Vector: icid-value=49565300000000511100004B01000000; icid-generated-at=2001:470:EB88:150:5054:FF:FE44:BFC9

P-Asserted-Identity: <sip:001030123456789@ims.mnc003.mcc001.3gppnetwork.org>

P-Visited-Network-ID: core.ims1.test

Message Body

    GSM A-I/F RP - RP-DATA (MS to Network)

        Message Type RP-DATA (MS to Network)

        RP-Message Reference

            RP-Message Reference: 0x05 (5)

        RP-Originator Address

        RP-Destination Address - (3108012345680)

        RP-User Data

            Length: 14

            TPDU (not displayed)

     GSM SMS TPDU (GSM 03.40) SMS-SUBMIT

           0... .... = TP-RP: TP Reply Path parameter is not set in this SMS SUBMIT/DELIVER

           .0.. .... = TP-UDHI: The TP UD field contains only the short message

           ..1. .... = TP-SRR: A status report is requested

           ...0 0... = TP-VPF: TP-VP field not present (0)

           .... .0.. = TP-RD: Instruct SC to accept duplicates

           .... ..01 = TP-MTI: SMS-SUBMIT (1)

           TP-MR: 92

           TP-Destination-Address - (8000)

           TP-PID: 0

           TP-DCS: 0

           TP-User-Data-Length: (5) depends on Data-Coding-Scheme

           TP-User-Data

                SMS text: HELLO

 

Is this something that in configurable at the P-CSCF or the S-CSCF, or would it require now development?

 

Thanks,

Ron