NOWSMS Vs Logica | Search |
NowSMS Support Forums ⬆ NowSMS Support - SMS Issues ⬆ Archive through March 09, 2004 ⬆ |
◄ ► |
Author | Message | |||
DJXLoRd New member Username: Djxlord Post Number: 3 Registered: 01-2004 |
Dear Sir , We are using Logica API and we connect to now sms..but we are facing problems with binary sms.. as en example .. logica states that DCS in Binary = 5 while nowsms DCS = 4 ... what we need to know does now sms support tlv parameteres ??? and is there any problem faced before in such case between logica and NOWSMS ?? | |||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 1825 Registered: 10-2002 |
Hi, I'm not sure what your conflict is with the binary DCS. NowSMS will forward whatever DCS value you supply to the upstream provider. I can tell you that according to the ETSI GSM 03.38 specification (you can download this spec from http://www.etsi.org), a DCS value of 5 would be invalid (bits 0 and 1 are reserved when bit 6 and 7 are 0 and bit 4 is 0). So while NowSMS will accept a message with DCS=5, an upstream provider might reject a message that has a DCS value of 5, as it is invalid. The normal DCS value for a binary message is 4, although F5 is frequently used for Nokia Smart Messaging. What Logica spec is telling you that the DCS should be 5? Perhaps it is referring to something other than the DCS? Regarding TLV. The current version does not support any TLV as an SMPP server. (It does support the message_payload TLV as an SMPP client.) We do have a patch that we can send you which adds support for the message_payload TLV when NowSMS is an SMPP server. If you would like this patch, please e-mail nowsms@now.co.uk to request it. Other than that, we are not currently supporting any other TLV. (Although we will be supporting message_state and receipt_message_id to some extent in an upcoming version.) What TLV do you want to use? We've found that most applications build the UDH itself. But we are interested in improving our SMPP server implementation. So I'm curious ... can you give me an example of what TLV you are trying to use? -bn | |||
DJXLoRd New member Username: Djxlord Post Number: 4 Registered: 01-2004 |
This is the Code we use .. so when we check smsout.log we get errors either we get a DCS=5 value and no other parameteres logged or recieved by NOWSMS and if we change DCS Value we get LONG UDH Length if (itsBinary Message...then) { // create a buffer for the message payload ByteBuffer payload = new ByteBuffer(); String b = new String(message); byte[] bytes2 = hexStringToBytes(b); ByteBuffer toneData=new ByteBuffer(bytes2); // simply append the ring tone data to the message payload payload.appendBuffer(toneData); // we send all the data as a message payload request.setMessagePayload(payload); // you must set the esme class to indicate that the message // contains UDH request.setEsmClass((byte)(Data.SM_UDH_GSM)); // the coding is GSM specific request.setDataCoding((byte)0x0f5); } //This function converts hexStringToBytes for a particular Message private static byte[] hexStringToBytes(String hex) throws NumberFormatException { final String hexChars = "0123456789ABCDEF"; if(hex.startsWith("0x")) { hex = hex.substring(2); } hex = hex.toUpperCase(); int len = hex.length()/2; byte[] ret = new byte[len]; int i = 0; for(int n=0; n<len; n ++) { int hiBit=0; int loBit=0; hiBit = hexChars.indexOf(hex.charAt(i++)); loBit = hexChars.indexOf(hex.charAt(i++)); if(hiBit != -1 && loBit != -1) { ret[n] = (byte) (((hiBit << 4)&0xf0) | (loBit&0x0f)); } else { ret[n] = (byte) 0; } } return ret; } } Code contains 2 parts...function and actual binary sms sending part | |||
Bryce Norwood - NowSMS Support Board Administrator Username: Bryce Post Number: 1869 Registered: 10-2002 |
The DCS in the example appears to be F5, which is fine. Rather than me sorting through the code and trying to understand it, it's usually easier for me to look at the raw packet that it generates to understand what is going on. Manually edit SMSGW.INI, and under the [SMSGW] section header, add Debug=Yes. Restart the SMS service. Repeat your submit attempt, and then e-mail the SMPPDEBUG.LOG to nowsms@now.co.uk, or post in reply here. In this particular case though, as I scan the code again, I think I know what the problem is. The code appears to be using the message_payload TLV, and while we have been supporting this interface as a client talking to an SMPP SMSC for quite some time, we haven't had support for it as a server. As your e-mail address is attached to the message, I will e-mail you an update that includes message_payload TLV support, which should take care of the problem. -bn |