# SMS Service - [API reference](https://docs.qualcomm.com/doc/80-41102-2/topic/_doxygen_rst_file__doxygen_sources_taf_sms_interface_h.html#file-taf-sms-interface-h) The SMS service can be used to send/receive SMS messages and access messages from storage. SMS is an easy and fast way to communicate or transmit data between devices in a cellular network. ## IPC interfaces binding The functions of this API are provided by the **tafSMSSvc** application service. The following example illustrates how to bind to the SMS service. bindings: { clientExe.clientComponent.taf_sms -> tafSMSSvc.taf_sms } Copy to clipboard ## Creating a message object Before setting up and sending messages via these APIs, you need to create a message object by calling [taf\_sms\_Create()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a57fc7d84415a8bf0ec964c010e784cee.html#Documentationa00665_1a57fc7d84415a8bf0ec964c010e784cee) - [taf\_sms\_Create()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a57fc7d84415a8bf0ec964c010e784cee.html#Documentationa00665_1a57fc7d84415a8bf0ec964c010e784cee) — Creates a message object. ## Deleting a message object When a message object is no longer used, call taf\_sms\_Delete to free the resources and delete the object. - [taf\_sms\_Delete()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a7ada2df7e250e89d676bfb8f861a522e.html#Documentationa00665_1a7ada2df7e250e89d676bfb8f861a522e) — Deletes the object. ## Message object parameters configuration - [taf\_sms\_SetDestination()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a57e9e1832c878007611e755b09338d27.html#Documentationa00665_1a57e9e1832c878007611e755b09338d27) — Sets the destination phone number. - [taf\_sms\_SetCallback()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a89daf8d0dbad0e5afce34824db975984.html#Documentationa00665_1a89daf8d0dbad0e5afce34824db975984) — Sets the callback function to get the message send result. - [taf\_sms\_SetPhoneId()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a05864234a8afd8bd24ce87c6ddfd47d2.html#Documentationa00665_1a05864234a8afd8bd24ce87c6ddfd47d2) — With dual SIMs in device, sets the source phone ID. ## Message content and format configuration There are 3 types of message formats can be assigned, either text messages (7-bit), binary messages (8-bit), or UCS2 messages (16-bit). You can directly encode messages in PDU format as well. Message data length is set with these APIs accordingly. For text messages, the maximum supported character length is 160 characters. For binary messages, the maximum supported length is 140 bytes. For UCS2 messages, the maximum supported characters is 70 characters. - [taf\_sms\_SetText()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1af2ca45364df33c66f6b5c2085e01e10a.html#Documentationa00665_1af2ca45364df33c66f6b5c2085e01e10a) — Sets the message content as alphabet text. - [taf\_sms\_SetBinary()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a67081a0ef0975717902fc90bbd0af538.html#Documentationa00665_1a67081a0ef0975717902fc90bbd0af538) — Sets the message content as binary data. - [taf\_sms\_SetUCS2()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1adbe3378638e13a723e93dafa4fe5b76d.html#Documentationa00665_1adbe3378638e13a723e93dafa4fe5b76d) — Sets the message as UCS2 text. - [taf\_sms\_SetPDU()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a190ae50071285435e65f6d4860253dba.html#Documentationa00665_1a190ae50071285435e65f6d4860253dba) — Sets the message with PDU format. The following example illustrates creating, setting up, and deleting a text message object. taf_sms_MsgRef_t tmpMsg; char text[TAF_SMS_TEXT_BYTES] = {0}; tmpMsg = taf_sms_Create(); if(tmpMsg) { if(taf_sms_SetText(tmpMsg, "test set next") != LE_OK) { LE_ERROR("set text failed"); } if(taf_sms_SetDestination(tmpMsg, "123456789") != LE_OK) { LE_ERROR("set destination failed"); } if(taf_sms_SetPhoneId(tmpMsg, 1) != LE_OK); { LE_ERROR("set phone ID failed"); } taf_sms_Delete(tmpMsg); } else { LE_ERROR("tmpMsg is NULL"); } Copy to clipboard The following example illustrates setting and reading UCS-2 content. Each uint16\_t element is the UCS-2 code unit value. For example, 0x8FD9 represents Unicode code point U+8FD9. In the SMS TP-User-Data, this value is represented by protocol bytes 0x8F followed by 0xD9. // UCS-2 code units for the text with Unicode code points: // U+8FD9 U+662F U+4E00 U+6761 U+6D4B U+8BD5 U+6D88 U+606F // Hex literal case is not significant: 0x8FD9 and 0x8fd9 are the same value. uint16_t ucs2Msg[] = { 0x8FD9, 0x662F, 0x4E00, 0x6761, 0x6D4B, 0x8BD5, 0x6D88, 0x606F }; taf_sms_MsgRef_t msgRef = taf_sms_Create(); if (msgRef != NULL) { taf_sms_SetDestination(msgRef, "123456789"); taf_sms_SetUCS2(msgRef, ucs2Msg, sizeof(ucs2Msg) / sizeof(ucs2Msg[0])); taf_sms_Send(msgRef); taf_sms_Delete(msgRef); } // For a received UCS-2 message, taf_sms_GetUCS2() returns the same numeric values. uint16_t rxUcs2[TAF_SMS_UCS2_CHARS] = {0}; size_t rxLen = TAF_SMS_UCS2_CHARS; if (taf_sms_GetUCS2(rxMsgRef, rxUcs2, &rxLen) == LE_OK) { for (size_t i = 0; i < rxLen; i++) { // %04X prints uppercase hexadecimal, e.g. 8FD9. // %04x prints lowercase hexadecimal, e.g. 8fd9. // Both are only display formats for the same uint16_t value. LE_INFO("UCS2[%zu] = 0x%04X", i, rxUcs2[i]); } } Copy to clipboard ## Sending a message When a message is ready, [taf\_sms\_Send()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1ac08e78c3434f4664f8ebb994107c5555.html#Documentationa00665_1ac08e78c3434f4664f8ebb994107c5555) can be called to send it. [taf\_sms\_Send()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1ac08e78c3434f4664f8ebb994107c5555.html#Documentationa00665_1ac08e78c3434f4664f8ebb994107c5555) is returned with modem feedback and with a maximum 10 second timeout. A message object can only be used once for sending, no matter what the sending result is. Message objects need to be deleted by the caller. ## Receiving a message To receive incoming messages, register a handler function with [taf\_sms\_AddRxMsgHandler()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1abd0b3fd87849a73513a753c999aa660e.html#Documentationa00665_1abd0b3fd87849a73513a753c999aa660e) and follow the handler type definition: void (\*taf\_sms\_RxMsgHandlerFunc\_t)(taf\_sms\_MsgRef\_t msg) A message object is created automatically when an incoming message is received, the registered handler is triggered and further processes on the received message. To remove the handler function, call [taf\_sms\_RemoveRxMsgHandler()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1acf381af99267a7a2a218b352902c1f9e.html#Documentationa00665_1acf381af99267a7a2a218b352902c1f9e). Callers have to delete the message object when the message is no longer needed. ## Getting content and information of a message object - [taf\_sms\_GetUserdataLen()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1af0c6a1cc76d4d59d788c29589e6881bc.html#Documentationa00665_1af0c6a1cc76d4d59d788c29589e6881bc) Gets the data length of the content. - [taf\_sms\_GetText()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a937a3a09d5300a971b24f19b148a407e.html#Documentationa00665_1a937a3a09d5300a971b24f19b148a407e) — Gets the text content of the message. - [taf\_sms\_GetUCS2()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a6500dd2e646edf99691e895dd211b815.html#Documentationa00665_1a6500dd2e646edf99691e895dd211b815) — Gets the UCS2 text of the message. - [taf\_sms\_GetPDU()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a4b56046217862e7c836bb6b331c49b22.html#Documentationa00665_1a4b56046217862e7c836bb6b331c49b22) — Gets the PDU data of the message. - [taf\_sms\_GetSendStatus()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a84f7120198f877fe1a653da139101d1b.html#Documentationa00665_1a84f7120198f877fe1a653da139101d1b) — Gets the sending status from the Tx message. - [taf\_sms\_GetReadStatus()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1aa1027f411d56b6ce1a1d31d5acd0727e.html#Documentationa00665_1aa1027f411d56b6ce1a1d31d5acd0727e) — Gets the read status from the Rx message. ## Storage configuration SMS service provides three types of storage to store messages: HLOS, SIM, and NONE. HLOS is set as the default and it encrypts received messages and stores them in the file system. SIM is for storing messages in SIM. NONE storage specifies that a message notification is provided, but not stored in the system. - [TAF\_SMS\_STORAGE\_HLOS](https://docs.qualcomm.com/doc/80-41102-2/topic/enum_a00662_1adbe099b409b52bacc7b1bb2d9b8c9208.html#Documentationa00662_1adbe099b409b52bacc7b1bb2d9b8c9208a922cab1b62b63e8a3a00cb52e30884e0) - Default storage strategy. - Each message will be stored as an encrypted file in /data/le\_fs/taf\_sms/. - In total, 255 message slots are available for storing messages. - When HLOS storage reaches 90% capacity, the service will identify messages that are marked as ‘read’ and ‘unlocked’ status as ‘recyclable’ messages. The service will then delete 10 recyclable messages to free up more slots for new messages. - [TAF\_SMS\_STORAGE\_SIM](https://docs.qualcomm.com/doc/80-41102-2/topic/enum_a00662_1adbe099b409b52bacc7b1bb2d9b8c9208.html#Documentationa00662_1adbe099b409b52bacc7b1bb2d9b8c9208a9ab009bef887c2f080a17a26b493b286) - The maximum number of messages that can be stored is based on the SIM card. - When the storage is 100% full, clients can still get incoming message notifications and get the contents of new messages, but new messages will not be persistent after power cycle. - [TAF\_SMS\_STORAGE\_NONE](https://docs.qualcomm.com/doc/80-41102-2/topic/enum_a00662_1adbe099b409b52bacc7b1bb2d9b8c9208.html#Documentationa00662_1adbe099b409b52bacc7b1bb2d9b8c9208a8e5650aa7aaeb5a042ecd161d231f37a) - Notify only. - Clients get incoming message notifications and can get the content of new messages, but the messages will not be persistent after power cycle. Preferred storage configuration is persistent in service config tree and can be accessed by the following APIs. - [taf\_sms\_SetPreferredStorage()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a6a7f7fd50accea0875e41ff9f58ac7e0.html#Documentationa00665_1a6a7f7fd50accea0875e41ff9f58ac7e0) — Sets preferred storage. - [taf\_sms\_GetPreferredStorage()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a6451c0e2ae9e742e57182c53da9643df.html#Documentationa00665_1a6451c0e2ae9e742e57182c53da9643df) — Gets preferred storage. ## Receiving full storage indication To receive storage indications, register a handler function with [taf\_sms\_AddFullStorageEventHandler()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a1eeaad7522271ff4cbd5ec9cbda648ed.html#Documentationa00665_1a1eeaad7522271ff4cbd5ec9cbda648ed) and follow the handler type definition of [taf\_sms\_FullStorageHandlerFunc\_t](https://docs.qualcomm.com/doc/80-41102-2/topic/typedef_a00662_1a2156201bf7950f295b33371fbbeef27c.html#Documentationa00662_1a2156201bf7950f295b33371fbbeef27c) To remove the handler function, call [taf\_sms\_RemoveFullStorageEventHandler()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a2f57534f4b6e58f9153ca19dca776194.html#Documentationa00665_1a2f57534f4b6e58f9153ca19dca776194). ## Message manipulation in storage - [taf\_sms\_DeleteFromStorage()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a386b346813de67aaec8a416c3f0c5963.html#Documentationa00665_1a386b346813de67aaec8a416c3f0c5963) — Deletes a message from its storage location. - [taf\_sms\_MarkRead()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a3502146d5d11efbd0e84e5386c8ad6a0.html#Documentationa00665_1a3502146d5d11efbd0e84e5386c8ad6a0) — Marks a message status as read. - [taf\_sms\_MarkUnread()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1aca8d0bbd2fe984b1de3d2046eb876990.html#Documentationa00665_1aca8d0bbd2fe984b1de3d2046eb876990) — Marks a message status as unread. HLOS storage provides more functions to maintain messsage configurations. - [taf\_sms\_LockFromStorage()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a35f303f6fba03ce64c4673373dc30796.html#Documentationa00665_1a35f303f6fba03ce64c4673373dc30796) — Marks a message as locked and the marked message cannot be deleted. - [taf\_sms\_UnlockFromStorage()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1ad094f901b18e3d6a467a9cfa088e5b6c.html#Documentationa00665_1ad094f901b18e3d6a467a9cfa088e5b6c) — Marks a message as unlocked and the marked message can be deleted. ## SMS center configuration - [taf\_sms\_GetSmsCenterAddress()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1aa8752bf835890d2d097ba411c39212a3.html#Documentationa00665_1aa8752bf835890d2d097ba411c39212a3) — Gets SMS center address. - [taf\_sms\_SetSmsCenterAddress()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a08b9dd2c74a46cbd7237cbfefbdb7e0f.html#Documentationa00665_1a08b9dd2c74a46cbd7237cbfefbdb7e0f) — Sets SMS center address. ## Cell broadcast configuration - [taf\_sms\_ActivateCellBroadcast()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a85e36c82dc73895ae1e857b5c3096fed.html#Documentationa00665_1a85e36c82dc73895ae1e857b5c3096fed) — Activates cell broadcast. - [taf\_sms\_DeactivateCellBroadcast()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a3d130647353960413af7719a76eba025.html#Documentationa00665_1a3d130647353960413af7719a76eba025) — Deactivates cell broadcast. - [taf\_sms\_AddCellBroadcastIds()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a732d1bf66e0d080c9a2b646119d20ea3.html#Documentationa00665_1a732d1bf66e0d080c9a2b646119d20ea3) — Adds a range of broadcast message identifiers to receive broadcast messages for the specified phone ID. - [taf\_sms\_RemoveCellBroadcastIds()](https://docs.qualcomm.com/doc/80-41102-2/topic/function_a00665_1a3268a6d839103cba412862281c8deb07.html#Documentationa00665_1a3268a6d839103cba412862281c8deb07) — Removes a range of broadcast message identifiers from the current ranges for the specified phone ID. ## Typical application call flow ### Message Sending > > > ![sequenceDiagram > participant App as SMS app > participant Svc as SMS service > Note over Svc: COMPONENT INIT > Note over App,Svc: Create message reference > App->>Svc: 0. taf_sms_Create() > Svc-->>App: return the message reference > Note over App,Svc: Set message content > App->>Svc: 1. taf_sms_SetText(msgRef, msgContent) > Svc-->>App: LE_OK > Note over App,Svc: Set destination > App->>Svc: 2. taf_sms_SetDestination(msgRef, destPhoneNum) > Svc-->>App: LE_OK > Note over App,Svc: Set callback > App->>Svc: 3. taf_sms_SetCallback(msgRef, txCallback, context) > Svc-->>App: LE_OK > Note over App,Svc: Send message > App->>Svc: 4. taf_sms_Send(msgRef) > Svc-->>App: LE_OK > Note over App,Svc: Delete message > App->>Svc: 5. taf_sms_Delete(msgRef) > Svc-->>App: LE_OK](data:image/png;base64,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) > > > > > > | Step | Description | > | --- | --- | > | 0 | Create the message, the following manipulation will use the returned message reference from service. | > | 1 | Set the message content. | > | 2 | Set the receiver’s phone number. | > | 3 | Set the message callback to get the sending result. | > | 4 | Send the message. | > | 5 | Delete the message object if it is not used anymore. | ### Message Receiving > > > ![sequenceDiagram > participant App as SMS app > participant Svc as SMS service > Note over App,Svc: Set preferred storage > App->>Svc: 0. taf_sms_SetPreferredStorage(storage) > Svc-->>App: LE_OK > Note over App,Svc: Register Rx message handler > App->>Svc: 1. taf_sms_AddRxMsgHandler(handler, ctx) > Svc-->>App: RxMsgHandlerRef > Note over App,Svc: Receive message notification > Svc->>App: 2. RxMsgHandlerFunction(msgRef, ctx) > Note over App,Svc: Get PDU data > App->>Svc: 3. taf_sms_GetPDU(msgRef, pdu) > Svc-->>App: LE_OK](data:image/png;base64,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) > > > > > > | Step | Description | > | --- | --- | > | 0 | Set preferred storage to one of the storage types. | > | 1 | Set the message receiving handler to be able to receive any messages sent to the application. | > | 2 | Get the new message notification with the message reference. | > | 3 | Get the PDU data with the specified message reference. | ### Message Retrieving from Storage > > > ![sequenceDiagram > participant App as SMS app > participant Svc as SMS service > Note over App,Svc: Create Rx message list > App->>Svc: 0. taf_sms_CreateRxMsgList() > Svc-->>App: MsgListRef > Note over App,Svc: Get first message > App->>Svc: 1. taf_sms_GetFirst(msgListRef) > Svc-->>App: MsgRef > Note over App,Svc: Get next message > App->>Svc: 2. taf_sms_GetNext(msgListRef) > Svc-->>App: MsgRef > Note over App,Svc: Delete message > App->>Svc: 3. taf_sms_DeleteFromStorage(msgRef) > Svc-->>App: LE_OK > Note over App,Svc: Delete Rx message list > App->>Svc: 4. taf_sms_DeleteList(msgListRef)](data:image/png;base64,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) > > > > > > | Step | Description | > | --- | --- | > | 0 | Create the Rx message list for listing the messages stored in SIM and HLOS. | > | 1 | Get message reference of the first message from Rx message list. | > | 2 | Get the message reference of the next message from the Rx message list. | > | 3 | Delete the message with the specified message reference. | > | 4 | Delete the Rx message list after all manipulations are complete. | Last Published: Jul 29, 2026 [Previous Topic SIM Access Profile](https://docs.qualcomm.com/bundle/publicresource/80-41102-2/topics/page_c_tafSimSap.md) [Next Topic SOME/IP gateway services](https://docs.qualcomm.com/bundle/publicresource/80-41102-2/topics/someip_services.md)