Harmeet, Every thing looks good, except that you are trying to send an OTA settings and asking kannel to send it as OMA settings, see 'type=oma-settings' .
Regards -- Abdulmnem Benaiad Almontaha CTO Tripoli-Libya www.almontaha.ly about.me <http://about.me/benaiad/bio> On Thu, Oct 21, 2010 at 11:48 AM, Harmeet Singh <harmeet.dhing...@gmail.com>wrote: > Greetings , > > > > Thank you so much for the reply. > > > > By using following java class My NETWPIN is 4940205060072800 . > > > > The message got deliver to handset but again authentication fails . > > > > Following is the java class i am using to send OTA message using NETWPIN. > > In main function i m calling > > > > sendOMASettings(“8146256126”,” 4940205060072800 ”); > > > > public String sendOMASettings(String to, String pin) { > > String result = ""; > > try { > > StringBuffer buffer = new StringBuffer(); > > if (pin == null) { > > pin = "0000"; > > } > > 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\<http://www.wapforum.org/DTD/prov.dtd/> > ">\r\n"). > > append("<wap-provisioningdoc >\r\n"). > > append("<characteristic type=\"NAPDEF\">\r\n"). > > append("<parm name=\"NAPID\" value=\"inet\"/>\r\n"). > > append("<parm name=\"NAME\" value=\"Idea > Internet\"/>\r\n"). > > append("<parm name=\"BEARER\" > value=\"GSM-GPRS\"/>\r\n"). > > append("<parm name=\"NAP-ADDRESS\" > value=\"internet\"/>\r\n"). > > append("<parm name=\"NAP-ADDRTYPE\" > value=\"internet\"/>\r\n"). > > append("<parm name=\"INTERNET\"/>\r\n"). > > append("</characteristic>\r\n"). > > append("<characteristic type=\"APPLICATION\">\r\n"). > > append("<parm name=\"APPID\" value=\"w2\"/>\r\n"). > > append("<parm name=\"TO-NAPID\" value=\"inet\"/>\r\n" > ). > > append("<characteristic type=\"RESOURCE\">\r\n"). > > append("<parm name=\"URI\" value=\"http://google.com > \"/>\r\n"). > > append("<parm name=\"STARTPAGE\"/>\r\n"). > > append("</characteristic>\r\n"). > > append("</characteristic>\r\n"). > > append("</wap-provisioningdoc>\r\n"); > > > > String data = java.net.URLEncoder.encode(buffer.toString(), > "UTF8"); > > String toInURL = java.net.URLEncoder.encode(to, "UTF8"); > > String sendURL = "http://" + "kannelServerIP" + ":" + > "serverSendPort" + "/cgi-bin/sendota?username=" + "user" > > + "&password=" + "password" + "&coding=2&to=" + toInURL + > "&text=" + data + "&from=" > > + "yourShortNumber" + "&type=oma-settings" + "&sec=netwpin" + > "&pin=" + pin ; > > java.net.URL url = new java.net.URL(sendURL); > > java.io.InputStream in = url.openStream(); > > java.io.BufferedInputStream bufIn = > newjava.io.BufferedInputStream(in); > > for (;;) { > > int car = bufIn.read(); > > if (car == -1) { > > break; > > } else { > > result = result + (char) car; > > } > > } > > bufIn.close(); > > in.close(); > > } catch (Exception e) { > > e.printStackTrace(); > > result = "failed"; > > } > > return result; > > } //END > > > > The mobile number and imsi no are verified and tested using nowsms trial > version. > > > > Please help in using sendota method with netwpin. > > > > Regards > > Harmeet Singh > > > > > > *From:* Benaiad [mailto:bena...@gmail.com] > *Sent:* 21 October 2010 11:14 > > *To:* Harmeet Singh > *Cc:* kannel users > *Subject:* Re: Regarding IMSI No > > > > Try this java class: > > ------------------------ > > > > public class NETWPIN { > > public static void main(String[] args) { > > String IMSI = "404020506708200"; > > byte[] key = getKeyFromIMSI(IMSI); > > String NETWPIN = bytesToHex(key); > > System.out.println("NETWPIN from imsi: " + NETWPIN); > > } > > private static byte[] getKeyFromIMSI(String imsi) { > > imsi = imsi.trim(); > > if ((imsi.length() % 2) == 1) { > > imsi = "9" + imsi; > > } else { > > imsi = "1" + imsi; > > imsi = imsi + "F"; > > } > > int numDigit = imsi.length(); > > String temp = null; > > char c1 = 0; > > char c2 = 0; > > byte b = 0; > > byte[] key = new byte[numDigit / 2]; // always even > > int t = 0; > > for (int i = 0; i < numDigit; i++) { > > c1 = imsi.charAt(i); > > c2 = imsi.charAt(++i); > > temp = "" + c2 + c1; > > try { > > key[t] = (byte) (Integer.parseInt(temp, 16)); > > } catch (Exception ex) { > > ex.printStackTrace(); > > } > > t++; > > } > > return key; > > } > > private static String bytesToHex(byte[] b) { > > StringBuffer buf = new StringBuffer(""); > > for (int i = 0; i < b.length; i++) { > > buf.append(byteToHex(b[i])); > > } > > return buf.toString(); > > } > > private static String byteToHex(byte b) { > > // Returns hex String representation of byte b > > char hexDigit[] = { > > '0', '1', '2', '3', '4', '5', '6', '7', > > '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' > > }; > > char[] array = {hexDigit[(b >> 4) & 0x0f], hexDigit[b & 0x0f]}; > > return new String(array); > > } > > } > > > > Regards > > -- > > Abdulmnem Benaiad > > Almontaha CTO > > Tripoli-Libya > > www.almontaha.ly > > about.me <http://about.me/benaiad/bio> > > > > On Wed, Oct 13, 2010 at 6:22 PM, Harmeet Singh < > harmeet.dhing...@gmail.com> wrote: > > Hi, > > > > Please help me in understanding how to use NETWPIN with kannel to send OTA > settings. > > > > I think i am missing how to calculate HMAC code. > > > > Will be grateful for any kind of hint . > > > > > > Regards > > Harmeet Singh > > > > *From:* Harmeet Singh [mailto:harmeet.dhing...@gmail.com] > *Sent:* 12 October 2010 15:29 > *To:* 'Benaiad' > *Cc:* 'kannel users' > *Subject:* RE: Regarding IMSI No > > > > Greetings , > > > > Thanks for the reply. > > > > According to the document i had calculate the NETWPIN but again same > message is there i.e Authentication failed . > > > > My IMSI no is 404020506708200 as per the document i had calculated as 49 40 > 20 50 60 07 28 00 . > > > > 9 is used to pair. > > > > It is not working , Please help me in calculating above IMSI no to NETWPIN > for Kannel. > > > > Regards > > Harmeet Singh > > > > *From:* Benaiad [mailto:bena...@gmail.com] > *Sent:* 12 October 2010 11:36 > *To:* Harmeet Singh > *Cc:* kannel users > *Subject:* Re: Regarding IMSI No > > > > Hi, > > > > This document may help to explain the process of calculating the NETWPIN: > > > > http://www.nowsms.com/discus/messages/1/OTA_Motorola-3137.pdf > > > Regards > > -- > > Abdulmnem Benaiad > > Almontaha CTO > > www.almontaha.ly > > Tripoli-Libyan > > > > On Tue, Oct 12, 2010 at 7:17 AM, Harmeet Singh <harmeet.dhing...@gmail.com> > wrote: > > Greetings, > > > > I am able to send the OTA Settings Message by using Kannel and UserPin has > been used , But i want to use Netwpin (Imsi No) . > > > > I had already verified my IMSI no and it is ok . It has 15 digit . > > > > After reading and searching i came to know that we should provide Netwpin > as semi-octets . > > > > Please help me to know how can i use Netwpin to send the OTA settings. > > > > Regards > > Harmeet Singh > > > > > > > > >