Hi Rahul,

I wrote two java methods for this job, one for OMA and the other for OTA
settings.
Tested to sync with funambol server, using Nokia E51 and SonyEricsson k810.

    public String sendSyncOMA(String to, String syncName, String
syncPassword, String syncServer, String pin) {
        String result = "";
        try {
            StringBuffer buffer = new StringBuffer();
            if(pin == null) pin = "0000";
            if (syncName == null) syncName = to.replace("+", "");
            buffer.append("<?xml version=\"1.0\"?>\r\n").
                    append("<!DOCTYPE wap-provisioningdoc PUBLIC
\"-//WAPFORUM//DTD PROV 1.0//EN\" \"http://www.wapforum.org/DTD/prov.dtd\
">\r\n").
                    append("<wap-provisioningdoc>\r\n").//
version=\"1.0\">\r\n").
                    append("<characteristic type=\"BOOTSTRAP\">\r\n").
                    append("<parm name=\"NAME\" value=\"MyWAP\"/>\r\n").
                    append("</characteristic>\r\n").
                    append("<characteristic type=\"APPLICATION\">\r\n").
                    append("<parm name=\"APPID\" value=\"w5\"/>\r\n").
                    append("<parm name=\"TO-NAPID\"
value=\"INTERNET\"/>\r\n").
                    append("<parm name=\"NAME\" value=\"MyWAP\"/>\r\n").
                    append("<parm name=\"ADDR\" value=\"" + syncServer +
"\"/>\r\n").
                    append("<characteristic type=\"RESOURCE\">\r\n").
                    append("<parm name=\"URI\" value=\"card\"/>\r\n").
                    append("<parm name=\"NAME\" value=\"Contacts
DB\"/>\r\n").
                    append("<parm name=\"AACCEPT\"
value=\"text/x-vcard\"/>\r\n").
                    append("</characteristic>\r\n").
                    append("<characteristic type=\"APPAUTH\">\r\n").
                    append("<parm name=\"AAUTHNAME\" value=\"" + syncName +
"\"/>\r\n").
                    append("<parm name=\"AAUTHSECRET\" value=\"" +
syncPassword + "\"/>\r\n").
                    append("</characteristic>\r\n").
                    append("</characteristic>\r\n").
                    append("</wap-provisioningdoc>");
            String data = java.net.URLEncoder.encode(buffer.toString(),
"UTF8");
            String userInHttp = java.net.URLEncoder.encode(to, "UTF8");
            String sendURL = "http://"; + serverIP + ":" + serverSendPort +
"/cgi-bin/sendota?username=" + user + "&password=" +
            password + "&coding=2&to=" + userInHttp + "&text=" + data +
"&smsc=" + "smsc" + smsc + "&from=" + smsc
            + "&type=oma-settings"
            + "&sec=userpin" + "&pin=" + pin;
            java.net.URL url = new java.net.URL(sendURL);
            java.io.InputStream in = url.openStream();
            java.io.BufferedInputStream bufIn = new
java.io.BufferedInputStream(in);
            for (;;) {
                int car = bufIn.read(); // Check for EOF
                if (car == -1) {break;} else {result = result + (char) car;}
            }
            bufIn.close();
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
            result = "failed";
        }
        return result;
    }


    public String sendSyncOTA(String to, String syncName, String
syncPassword, String syncServer, String syncPort, String pin) {
        String result = "";
        try {
            StringBuffer buffer = new StringBuffer();
            if(pin == null) pin = "0000";
            if (syncName == null) syncName = to.replace("+", "");
            syncPassword=new
sun.misc.BASE64Encoder().encode(syncPassword.getBytes( ));
            buffer.append("<SyncSettings>\r\n").
                    append("<Version>1.0</Version>\r\n").
                    append("<HostAddr>" + syncServer + "</HostAddr>\r\n");
                    if (syncPort != null && syncServer.indexOf(":", 7) < 0)
{
                        buffer.append("<Port>8080</Port>\r\n");
                    }
                    buffer.append("<RemoteDB>\r\n").
                    append("  <CTType>text/x-vcard</CTType>\r\n").
                    append("  <CTVer>2.1</CTVer>\r\n").
                    append("  <URI>card</URI>\r\n").
                    append("  <Name>Contacts</Name>\r\n").
                    append("</RemoteDB>\r\n").
                    append("<Name>MySync</Name>\r\n").
                    append("<Auth>\r\n").
                    append("  <AuthLevel>1</AuthLevel>\r\n").
                    append("  <AuthScheme>1</AuthScheme>\r\n").
                    append("  <Username>" + syncName + "</Username>\r\n").
                    append("  <Cred>" + syncPassword + "</Cred>\r\n").
                    append("</Auth>\r\n").
                    append("</SyncSettings>");
            String data = java.net.URLEncoder.encode(buffer.toString(),
"UTF8");
            String userInHttp = java.net.URLEncoder.encode(to, "UTF8");
            String sendURL = "http://"; + serverIP + ":" + serverSendPort +
"/cgi-bin/sendota?username=" + user + "&password="
            + password + "&coding=2&to=" + userInHttp + "&text=" + data +
"&smsc=" + smsc + "&from=" + smsc
            + "&type=syncsettings" + "&sec=userpin" + "&pin=" + pin;
            java.net.URL url = new java.net.URL(sendURL);
            java.io.InputStream in = url.openStream();
            java.io.BufferedInputStream bufIn = new
java.io.BufferedInputStream(in);
            for (;;) {
                int car = bufIn.read(); // Check for EOF
                if (car == -1) {break;} else {result = result + (char) car;}
            }
            bufIn.close();
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
            result = "failed";
        }
        return result;
    }

Hope it helps,
Regards

--
Abdulmnem Benaiad
Almontaha CTO
www.almontaha.ly
Tripoli-Libya


On Tue, Aug 10, 2010 at 12:21 PM, Rahul Chordiya <[email protected]>wrote:

> Hello All,
>
> their is some interesting thing which i want to do with kannel. I want to
> send sms of sync setting via kannel.
>
> How should I defined OTA group setting that enable me to send syncML
> setting messages for nokia and other supported mobile like Sony, Samsung,
> LG.
>
> if you work with such setting in kannel please help me to know the way that
> I send syncsetting without xml file.
>
> and inf xml file is must then please describe how can i use because I don't
> know much about XML and WBXML.
>
> Thanks in advanced
>
> Regard:
> Rahul Chordiya
>

Reply via email to