Symbian3/PDK/Source/GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
--- a/Symbian3/PDK/Source/GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita	Tue Mar 30 11:42:04 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita	Tue Mar 30 11:56:28 2010 +0100
@@ -1,13 +1,13 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
-<!-- This component and the accompanying materials are made available under the terms of the License 
-"Eclipse Public License v1.0" which accompanies this distribution, 
-and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
-<!-- Initial Contributors:
-    Nokia Corporation - initial contribution.
-Contributors: 
--->
-<!DOCTYPE concept
-  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
-<concept xml:lang="en" id="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D"><title>SMS Protocol Modules</title><shortdesc>This section describes the SMS protocol module of the SMS stack. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The SMS stack is created when the first request for a socket is received by the socket server. The socket server creates an instance of the <xref href="GUID-F33BD666-FAE3-34B6-A8A7-ABF3B0728325.dita"><apiname>CSmsProtocol</apiname></xref> system class, which co-ordinates the SMS stack activities. The SMS protocol does not publish any APIs for the client applications but internally it provides the methods to support the following functionality: </p> <ul><li id="GUID-24B0BFF5-0193-5BB6-A302-762C01F0E61D"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-B7D5B90F-57A4-522C-A2C6-DBE5CC615EB8">Send a message</xref>  </p> </li> <li id="GUID-FCF1072A-872D-5036-BEA7-35EBB3E55EC4"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-EC6DA4EE-264E-57CF-9D96-AC590DF4C7A4">Receive a message</xref>  </p> </li> <li id="GUID-7CCC3D59-BB59-5FE3-B03A-B6B7E94E05C4"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-964CDB3F-F67E-5B52-8CFC-911FC469DE06">Write a message</xref>  </p> </li> <li id="GUID-DBB0F679-16BC-5A9D-AA4A-82562106A969"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-0A3A192E-A0BC-5C5B-B100-822ED4616BD8">Delete a message</xref>  </p> </li> <li id="GUID-E0BD0F90-0899-5CD8-A9A6-71C32244183E"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-EB175A07-1EDE-54DD-AFEA-936C6E2CAD1A">Read a message</xref>  </p> </li> <li id="GUID-6314B160-0C98-503C-B76C-4405EE26DB73"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-6CD8735A-425A-548B-BECC-36D9C6719C8C">Read and write SMS parameters</xref>  </p> </li> </ul> <p>The clients use the multimode telephony APIs to initiate the use cases, but the SMS protocol checks the stores before the clients can use them. The SMS protocol contains the observers and disk monitors. Refer to the <xref href="GUID-102CD904-4217-53DA-A9F0-77D76C938FB5.dita">SMS Stack Observers</xref> and <xref href="GUID-C74F8B29-0440-50FE-BF93-83AF7868B00D.dita">SMS Disk Monitor</xref> for more details. The messaging clients calls the <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-1DEB83AF-C681-30D4-951C-4C2A5572E59C"><apiname>RSocket::Ioctl()</apiname></xref> to perform the uses cases mentioned in this section. </p> <section id="GUID-B7D5B90F-57A4-522C-A2C6-DBE5CC615EB8"><title>Send a message</title> <p>The SMS protocol send message provides the methods to send an SMS message to the network through the telephony system. The SMS protocol module splits the messages into one or more PDUs depending on the message data. The SMS stack processes the message. When the PDUs are created they are sent to the network. The SMS protocol module also enables the clients to resend a message if an earlier attempt to send fails. If the mobile is configured to receive delivery reports a SUBMIT REPORT is sent to the network to get the delivery report. The sent messages are logged in the log engine using a unique Log ID, if the Log engine is installed in the device. The messages are stored in the segmentation of the SMS stack before sending them to the network, which enables the clients to resend the messages in case of failures. The SMS stack only re-sends the message PDUs marker as 'unsent'. </p> </section> <section id="GUID-EC6DA4EE-264E-57CF-9D96-AC590DF4C7A4"><title>Receive a message 
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept xml:lang="en" id="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D"><title>SMS Protocol Modules</title><shortdesc>This section describes the SMS protocol module of the SMS stack. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>The SMS stack is created when the first request for a socket is received by the socket server. The socket server creates an instance of the <xref href="GUID-F33BD666-FAE3-34B6-A8A7-ABF3B0728325.dita"><apiname>CSmsProtocol</apiname></xref> system class, which co-ordinates the SMS stack activities. The SMS protocol does not publish any APIs for the client applications but internally it provides the methods to support the following functionality: </p> <ul><li id="GUID-24B0BFF5-0193-5BB6-A302-762C01F0E61D"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-B7D5B90F-57A4-522C-A2C6-DBE5CC615EB8">Send a message</xref>  </p> </li> <li id="GUID-FCF1072A-872D-5036-BEA7-35EBB3E55EC4"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-EC6DA4EE-264E-57CF-9D96-AC590DF4C7A4">Receive a message</xref>  </p> </li> <li id="GUID-7CCC3D59-BB59-5FE3-B03A-B6B7E94E05C4"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-964CDB3F-F67E-5B52-8CFC-911FC469DE06">Write a message</xref>  </p> </li> <li id="GUID-DBB0F679-16BC-5A9D-AA4A-82562106A969"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-0A3A192E-A0BC-5C5B-B100-822ED4616BD8">Delete a message</xref>  </p> </li> <li id="GUID-E0BD0F90-0899-5CD8-A9A6-71C32244183E"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-EB175A07-1EDE-54DD-AFEA-936C6E2CAD1A">Read a message</xref>  </p> </li> <li id="GUID-6314B160-0C98-503C-B76C-4405EE26DB73"><p> <xref href="GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D.dita#GUID-4ADE94EF-346F-541A-B0FB-AF43ADB1C66D/GUID-6CD8735A-425A-548B-BECC-36D9C6719C8C">Read and write SMS parameters</xref>  </p> </li> </ul> <p>The clients use the multimode telephony APIs to initiate the use cases, but the SMS protocol checks the stores before the clients can use them. The SMS protocol contains the observers and disk monitors. Refer to the <xref href="GUID-102CD904-4217-53DA-A9F0-77D76C938FB5.dita">SMS Stack Observers</xref> and <xref href="GUID-C74F8B29-0440-50FE-BF93-83AF7868B00D.dita">SMS Disk Monitor</xref> for more details. The messaging clients calls the <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita#GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0/GUID-1DEB83AF-C681-30D4-951C-4C2A5572E59C"><apiname>RSocket::Ioctl()</apiname></xref> to perform the uses cases mentioned in this section. </p> <section id="GUID-B7D5B90F-57A4-522C-A2C6-DBE5CC615EB8"><title>Send a message</title> <p>The SMS protocol send message provides the methods to send an SMS message to the network through the telephony system. The SMS protocol module splits the messages into one or more PDUs depending on the message data. The SMS stack processes the message. When the PDUs are created they are sent to the network. The SMS protocol module also enables the clients to resend a message if an earlier attempt to send fails. If the mobile is configured to receive delivery reports a SUBMIT REPORT is sent to the network to get the delivery report. The sent messages are logged in the log engine using a unique Log ID, if the Log engine is installed in the device. The messages are stored in the segmentation of the SMS stack before sending them to the network, which enables the clients to resend the messages in case of failures. The SMS stack only re-sends the message PDUs marker as 'unsent'. </p> </section> <section id="GUID-EC6DA4EE-264E-57CF-9D96-AC590DF4C7A4"><title>Receive a message 
           </title> <p>The SMS protocol provides methods to receive incoming messages and status reports of the sent messages. The incoming messages are decoded and stored in the reassembly store for processing. When all the PDUs of a message are received the message is forwarded to the messaging client. The SMS protocol receives the status reports of the sent PDUs. The status report is compared to the original message in the segmentation store. When the status report of all the PDUs of a message is received, the SMS protocol notifies the messaging clients. The storage of PDUs in the SMS stack or the TSY depends on the receive mode configuration in the smswap.sms.esk file. </p> </section> <section id="GUID-964CDB3F-F67E-5B52-8CFC-911FC469DE06"><title>Write a message</title> <p>The SMS protocol provides methods for messaging clients to write messages in the phone stores. The module enables the clients to save the unread and draft messages in the phone stores. The messaging clients send a store name to store the messages, the SMS protocol searches for the requested store name and if the store supports 'WRITE' functionality the messages are stored. </p> </section> <section id="GUID-0A3A192E-A0BC-5C5B-B100-822ED4616BD8"><title>Delete a message</title> <p>The SMS message provides methods for messaging clients to delete messages from the phone stores. The SMS protocol supports the messaging clients to delete incomplete messages as well. </p> </section> <section id="GUID-EB175A07-1EDE-54DD-AFEA-936C6E2CAD1A"><title>Read a message</title> <p>The SMS protocol provides methods for messaging clients to read the messages from the phone stores. The phone store can be a internal memory or the memory in Subscriber Identity Module (SIM). The SMS protocol checks the phone stores during the initialisation process of the SMS stack. </p> </section> <section id="GUID-6CD8735A-425A-548B-BECC-36D9C6719C8C"><title>Read and write SMS parameters</title> <p>The SMS protocol enables the messaging clients to read and write the SMS parameters such as default coding schemes, service centre address and the validity periods in the messages stored in the phone stores. </p> </section> </conbody><related-links><link href="GUID-3D1E5144-00BC-51AF-8887-4C97167E73FB.dita"><linktext>SMS Stack Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file