UCP Short Number

UCP Short Number SearchSearch
Author Message
Bogdan
Unregistered guest
Posted on Tuesday, December 21, 2004 - 10:51 am:   

I want to use NowSms in order to send messages using UCP. I made a deal with a SMSC that supports this protocol. I got from the SMSC provider the connection parameters and there appears a field called Short Number, but when I started to configure NowSms with those parameters I observed that NowSms dose not have such a field for UCP.

I ignored that field, but when I tried to send an SMS it dose not arrives.

I discussed my problem with a contact person from my SMSC provider and he told me that when the application (NowSms) sends the UCP message it dose not include the Short Number in the message.

Could you, please, help me with this?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3854
Registered: 10-2002
Posted on Friday, December 31, 2004 - 10:20 pm:   

Bogdan,

By short number, I suspect they are referring to the sender (originator) address.

Configure a sender address in the definition of the UCP/EMI SMSC connection.

-bn
Marius
Unregistered guest
Posted on Tuesday, January 25, 2005 - 10:44 am:   

Hello,

I am a colleague of Bogdan.

We tried to set the sender (originator) address and it did not work in this case either.

By studying the UCP protocol I saw that the Short Number refers to the UCP field "OAdC".

I would also like to mention that I used a lite implementation of the UCP protocol in java and managed to send a text message using the SMSC mentioned by Bogdan in the previous post.

The SMSC allows us only one TCP connection at a time (using a certain source port) and from what I saw it is a problem if the connection is closed and immediately after that reopened because the SMSC seems to not close the connection right away (in the following 2-3 minutes after I run my test, the "netstat" command lists the connection with the status "TIME_WAIT" and if I run my test again it tells me that it cannot connect to the specified IP address).

My questions are:

1 - Can you please tell me how to set up the "OAdC" UCP field in NowSMS?

2 - Can NowSMS keep an UCP connection alive at all time (although this would not be such a valid solution for us)?

Any other suggestions are most welcome.

Thank you,
Marius.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3979
Registered: 10-2002
Posted on Wednesday, January 26, 2005 - 05:41 pm:   

Hi Marius,

NowSMS uses the sender address as the "OAdC" value when sending messages.

Unless you are referring to the "OAdC" value in the bind request, which is "User Name" configured for the SMSC connectino.

My suggestion would be to enable the SMS debug logs, and we can look at the actual UCP packets that are being sent. Edit SMSGW.INI and add Debug=Yes under the [SMSGW] header. Then restart the service. NowSMS will produce a UCPDEBUG.LOG file as it runs, and that will show us what packets are actually being sent.

In a typical configuration, the connection is kept alive at all times. When you configure a UCP/EMI connection in NowSMS, there is a keep-alive interval that you define, which specifies that when the connection is idle, NowSMS sends keep-alive packets every so many seconds.

If the connection is dropped, some SMSCs may have a delay before they will accept another connection. If you have a "Local Port" defined (which is often required by UCP providers), there will be a delay of about 2 minutes because of TCP limitations ... basically the TCP protocol does not allow a new connection between a specific address:port pairing after the initial connection has dropped, until a timeout expires. This is to ensure that stray packets from the previous connection do not confuse the new connection. And this is related to the socket being in the TIME_WAIT state.

There are ways to change Windows behaviour and the TIME_WAIT timeout. But you can't change the behaviour on the other end, so it is pointless to change it for this particular setup.


-bn
Marius
Unregistered guest
Posted on Thursday, January 27, 2005 - 07:03 pm:   

Hello Bryce,

Indeed I solved my problem today before I saw your post (and I was intending to add the solution to de post) by entering a value for the keep-alive interval that you mention in the previous post. This way the connection is kept alive at all times. The thing that was confusing is that after defining the connection NowSMS tries to connect/disconnect in order to verify if the connection parameters are ok. After this, when the service is started, the connection could no longer be reestablished right away becauseod the "TIME_WAIT" TCP socket issue.

I saw in the logs that NowSMS tries for 3 times to reconnect to the SMSC, but the time interval between those 3 retries wasn't enough for the TCP/IP connection to be fully dropped.

As for the "OAdC" value you were correct: this is the sender address.

After I figured out today what the problem was everything worked ok. I was able to send both text and binary SMSs to the SMSC.

Thanks for your help,
Marius.