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 = new java.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 <http://www.almontaha.ly/> 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 <http://www.almontaha.ly/> 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