Mobile message type specification - OTA SyncML settings SMS
(SMS message type, SMS message format)

Introduction

SyncML settings are used to provide handsets with basic settings needed to establish a sync session with a sync server. These settings may also include authentication information.

Why it is convenient

SyncML OTA configuration information can be sent to SyncML-compatible mobile phones. This option allows a complete SyncML configuration profile to be sent to a compatible mobile phone.

Message type

SMS:WAPPUSH:OTASYNCMLSETTINGS

The format of the message data is:

You can modify this structure according to OTA SyncML description.
<SyncSettings>
    <Version>...</Version>
    <HostAddr>...</HostAddr>
    <Port>...</Port>
    <RemoteDB>
        <CTType>...</CTType>
        <CTVer>...</CTVer>
        <URI>...</URI>
        <Name>...</Name>
        <Auth>
            <AuthScheme>...</AuthScheme>
            <Username>...</Username>
            <Cred>...</Cred>
        </Auth>
    </RemoteDB>
    <Name>syncmlsettings</Name>
    <Auth>
        <AuthLevel>...</AuthLevel>
        <AuthScheme>...</AuthScheme>
        <Username>...</Username>
        <Cred>...</Cred>
    </Auth>
    <ConRef>
        <ConType>...</ConType>
        <RefID>...</RefID>
    </ConRef>
    <ozSecurityInfo>
        <OTAPIN>...</OTAPIN>
        <SecParam>...</SecParam>
    </ozSecurityInfo>
</SyncSettings>

The red sections can be repeated several times.
The dark green section can be left out.


The <ozSecurityInfo> element is not included in the OTA SyncML standard.
It is used to inform the SMS encoding program that you want to use security settings.

Look at an example:

<SyncSettings>
    <Version>1.0</Version>                          <- SyncML version
    <HostAddr>http://syncserver.com</HostAddr>      <- Address of sync server
    <Port>80</Port>                                 <- Port of sync server
                                                                <- (default is 80)
    <RemoteDB>
        <CTType>text/x-vcalendar</CTType>           <- A task content type
        <CTVer>1.0</CTVer>                          <- Content type version
        <URI>./TaskDB</URI>                         <- URI of remote database
        <Name>Task</Name>
        <Auth>
            <AuthScheme>2</AuthScheme>              <- 1: Basic; 2: Digest(MD5)
            <Username>TaskUserName</Username>       <- Username of Task database
            <Cred>VGFza1Bhc3N3b3Jk</Cred>           <- BASE64 encoded password
        </Auth>
    </RemoteDB>
    <RemoteDB>
        <CTType>text/x-vcard</CTType>               <- A contacts content type
        <CTVer>2.1</CTVer>                          <- Content type version
        <URI>./ContactsDB</URI>                     <- URI of remote database
        <Name>Contacts</Name>
        <Auth>
            <AuthScheme>1</AuthScheme>              <- 1: Basic; 2: Digest(MD5)
            <Username>ContactsUserName</Username>   <- Username of Contacts database
            <Cred>Q29udGFjdHNQYXNzd29yZA==</Cred>   <- BASE64 encoded password
        </Auth>
    </RemoteDB>
    <RemoteDB>
        <CTType>text/x-vcalendar</CTType>
        <CTVer>1.0</CTVer>
        <URI>./CalendarDB</URI>
        <Name>Calendar</Name>
        <Auth>
            <AuthScheme>1</AuthScheme>
            <Username>CalendarUserName</Username>
            <Cred>Q2FsZW5kYXJQYXNzd29yZA==</Cred>
        </Auth>
    </RemoteDB>
    <RemoteDB>
        <CTType>text/plain</CTType>
        <CTVer>1.0</CTVer>
        <URI>./NotesDB</URI>
        <Name>Notes</Name>
        <Auth>
            <AuthScheme>2</AuthScheme>
            <Username>NotesUserName</Username>
            <Cred>Tm90ZXNQYXNzd29yZA==</Cred>
        </Auth>
    </RemoteDB>
    <Name>syncmlsettings</Name>                     <- Name of SyncML settings
    <Auth>
        <AuthLevel>2</AuthLevel>                    <- 2: HTTP level authentication
        <AuthScheme>1</AuthScheme>
        <Username>HTTPUserName</Username>
        <Cred>SFRUUFBhc3N3b3Jk</Cred>
    </Auth>
    <Auth>
        <AuthLevel>1</AuthLevel>                    <- 1: Used in credentials in SyncHdr
        <AuthScheme>1</AuthScheme>
        <Username>ServerUserName</Username>
        <Cred>U2VydmVyUGFzc3dvcmQ=</Cred>
    </Auth>
    <ConRef>
        <ConType>1</ConType>                        <- 1: WAP 1.x proxy; 2: HTTP/WAP 2.x proxy
        <RefID>DataConnectionProfile</RefID>        <- The logical name or ID of the
                                                                <-  connection point definition.
    </ConRef>
    <ozSecurityInfo>
        <OTAPIN>1234</OTAPIN>
        <SecParam>1</SecParam>                      <- 1: User PIN; 2: Netw PIN
    </ozSecurityInfo>
</SyncSettings>

SQL example:

If you use the Database user to send and receive SMS messages with Ozeki NG - SMS Gateway, you can use the following SQL statement to send a SyncML settings message:

insert into ozekimessageout (receiver,msgtype,msg,status) values ('+36205222245',
    'SMS:WAPPUSH:OTASYNCMLSETTINGS','<SyncSettings><Version>1.0</Version>
                                     <HostAddr>http://syncserver.com</HostAddr>
                                     <Port>80</Port><RemoteDB>
                                     <CTType>text/x-vcalendar</CTType>
                                     <CTVer>1.0</CTVer><URI>./CalendarDB</URI>
                                     <Name>Calendar</Name><Auth>
                                     <AuthScheme>1</AuthScheme>
                                     <Username>CalendarUserName</Username>
                                     <Cred>Q2FsZW5kYXJQYXNzd29yZA==</Cred>
                                     </Auth></RemoteDB>
                                     <Name>syncmlsettings</Name>
                                     <Auth><AuthLevel>2</AuthLevel>
                                     <AuthScheme>1</AuthScheme>
                                     <Username>HTTPUserName</Username>
                                     <Cred>SFRUUFBhc3N3b3Jk</Cred>
                                     </Auth><Auth>
                                     <AuthLevel>1</AuthLevel>
                                     <AuthScheme>1</AuthScheme>
                                     <Username>ServerUserName</Username>
                                     <Cred>U2VydmVyUGFzc3dvcmQ=</Cred>
                                     </Auth><ConRef>
                                     <ConType>1</ConType>
                                     <RefID>DataConnectionProfile</RefID>
                                     </ConRef></SyncSettings>
                                     <ozSecurityInfo><OTAPIN>1234</OTAPIN>
                                     <SecParam>1</SecParam></ozSecurityInfo>','send');

FAQs

Is it possible to push SyncML setting via your SMS sever to mobile phones?

Ozeki NG SMS Gateway enables the transmission of SYNCML settings to mobile devices. It utilizes a GSM Modem connected to the server via a phone-to-PC cable or IP SMS connections (SMPP, CIMD2, UCP/EMI protocols) for this purpose.

To dispatch syncml settings, you have the option to employ an HTTP request to transmit the settings in XML format to Ozeki NG, or you can utilize a database server (such as Oracle, MSSql, MySql, etc.) to store the settings in a database table. Ozeki NG will then retrieve the information from the table and deliver the settings via SMS to the designated mobile phone.

To leverage Ozeki NG for pushing SyncML settings via SMS to mobile phones from applications, you need to utilize the SMS:WAPPUSH:OTASYNCMLSETTINGS message type. For testing purposes, you can choose the WAP OTA SyncML Settings option in the compose menu.

More information