ERROR: Invalid Service Type

ERROR: Invalid Service Type SearchSearch
Author Message
Carlos Mercado
New member
Username: Cmercado

Post Number: 6
Registered: 05-2007
Posted on Tuesday, June 26, 2007 - 04:13 pm:   

Hi Bryce,
I'm trying to interface w/ a new SMSC I got an Invalid service type error. Bellow is an output of the debuger. Can you point me on how to trouble shoot or change in the configuration?

10:49:57:687 ConnectToServer: Connected to 66.50.123.83 (66.50.123.83:8552)
10:49:57:687 (00000110) 66.50.123.83 --: SMPPConnect: Exiting
10:49:57:687 (00000110) 66.50.123.83 ->: 41 byte packet
10:49:57:687 (00000110) 66.50.123.83 ->: 00 00 00 29 00 00 00 09 00 00 00 00 00 00 00 19 )
10:49:57:687 (00000110) 66.50.123.83 ->: 4E 45 58 45 4C 4C 45 4E 43 45 00 50 52 54 4E 45 NEXELLENCE XXXXX
10:49:57:687 (00000110) 66.50.123.83 ->: 58 45 4C 00 00 34 00 00 00 XEL 4
10:49:57:828 (00000110) 66.50.123.83 --: SMPPBind: Got an SMPP response
10:49:57:828 (00000110) 66.50.123.83 <-: 27 byte packet
10:49:57:828 (00000110) 66.50.123.83 <-: 00 00 00 1B 80 00 00 09 00 00 00 15 00 00 00 19
10:49:57:828 (00000110) 66.50.123.83 <-: 4E 45 58 45 4C 4C 45 4E 43 45 00 NEXELLENCE
Carlos Mercado
New member
Username: Cmercado

Post Number: 7
Registered: 05-2007
Posted on Wednesday, June 27, 2007 - 03:29 pm:   

anyone can point me?
Carlos Mercado
New member
Username: Cmercado

Post Number: 8
Registered: 05-2007
Posted on Wednesday, June 27, 2007 - 03:46 pm:   

anyone?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7284
Registered: 10-2002
Posted on Wednesday, June 27, 2007 - 05:35 pm:   

Hi Carlos,

In situations like this, there is often no option other than asking the SMS provider for clarification as to why the login/bind is failing.

The reason that I say this is because the error code that you are receiving does not make sense in the context in which it is being received.

The "Invalid Service Type" error (SMPP Error 0x15) is only valid in the context of submitting a message. Even such, it is a somewhat unusual configuration, but some providers do require particular "service_type" values to be set when submitting a message. (If you actually need to set the "service_type" parameter, it can be set globally for all messages sent over a particular SMPP connection by editing SMSGW.INI, and adding ServiceType=xxx under the [SMPP - host:port] section for the relevant SMPP connection. It is also possible to set the service_type parameter on a per message basis by including "&ServiceType=" in the URL request when submitting a message.)

In your case, the error is occurring when you attempt to initially login/bind to the SMS service provider. And there is no way to specify a service_type value in this transaction. So, I can only conclude that the provider is returning an invalid error code ... and all we can do is guess about what they really mean when they return this error.

What would my guesses be?

There is a system_type parameter that can be passed in the login ... and maybe they meant to return an error code for invalid system_type instead of service_type. If this is the case, the service provider would have to explain what value they expect for the system_type parameter ... there is a "System Type" setting that can be defined when you define an SMPP connection in NowSMS where this value would be set if required by the SMS provider.

Or ... maybe the error that they meant to return is that they do not understand the transaction at all. It appears that you are trying to login as a "transceiver" (a non-default option set under "Advanced Settings" in the NowSMS SMPP configuration) ... and maybe the provider does not support this type of login. Perhaps the provider only supports separate sender and receiver connections.

Or maybe the provider does not like the username (system_id) or password, and is returning the wrong error code. (Invalid username/system_id would be error 0x0F, which is 15 decimal. The provider is returning error 0x15, so maybe a programmer got confused between hex and decimal.)

Those are guesses, but usually in this type of situation, the only solution is to ask the provider for more information on why the login/bind is failing ... as they may have more information (than an invalid error code) on their end.

-bn
Carlos Mercado
New member
Username: Cmercado

Post Number: 9
Registered: 05-2007
Posted on Wednesday, June 27, 2007 - 07:31 pm:   

Bryce this is the log on the SMSC
MIN or Port #:8552

+++ EMRS01 2007-06-27 14:16:27 TSIS #670058 ts00 LEAD >

2009 REPT TRACE[1793576826/757670] Key=8552 LINE=46119

Termination event Received for 8552

TRACE[1793576826/757670] Key=8552 sdrs71 LINE=44749

LOC:smpp.fsm[None]Listen:tcp!terminating_connection

Bind received for 8552

PDU=0x0000002900000002000000000000000d4e4558454c4c454e4345005052544e4558

454c

000034000000

TRACE[1793576826/757670] Key=8552 sdrs71 LINE=44931

LOC:SMPP[None]Bind:tcp!received

Negative Response :0x0000001b80000002000000150000000d4e4558454c4c454e434

500

TRACE[1793576826/757670] Key=8552 sdrs71 LINE=45722

LOC:smpp.fsm[None]Respond_and_Close:send_neg_response

TRACE[1793576826/757670] Key=8552 sdrs71 LINE=45956

LOC:smpp.fsm[None]Close_call:shutdown

LOC:smpp.fsm[None]Close_call:call_end

END OF REPORT #670058++-
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7295
Registered: 10-2002
Posted on Wednesday, June 27, 2007 - 07:39 pm:   

Hi Carlos,

Ok ... but that doesn't explain why the SMSC rejected the connection. It only confirms that the SMSC received the login/bind request, and rejected it with a negative response.

For all we know, it could be because the username (system_id) and password are not valid.

Or, it could be one of the reasons that I guessed at above ... the provider might require the use of a particular "system_type" value ... but we can't guess what it is, we have to be told. (Just like we would have to be told what username/password to use ... we wouldn't just guess.)

-bn
Carlos Mercado
New member
Username: Cmercado

Post Number: 10
Registered: 05-2007
Posted on Thursday, June 28, 2007 - 07:33 pm:   

Bryce,
I forgot to tell you something about the connection. The provider tell me that the will be using the port 8853 for TX and 8852 for receive. Paying attention to the case of the "transiver" connection that you mention as a possible problem make me wonder if other variable on the advance settings should by filled. Like:
Use TLV parameters
Sender ot Transceiver port
Receiver port


I have those in blank (deafult) Let me know.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7309
Registered: 10-2002
Posted on Thursday, June 28, 2007 - 07:48 pm:   

Hi Carlos,

Ok ... this is good information !!!


quote:

The provider tell me that the will be using the port 8853 for TX and 8852 for receive.




This sounds like they want you to connect to port 8853 on their server for sending and port 8852 for receiving.

I see in the example above that you are trying to connect to 8852, and it is failing. Possibly it is failing because port 8852 will accept only receiver connections.

Try connecting to port 8853 for sending only (do not check "Receive SMS Messages" and do not check the transceiver option).

Does that work?

If that works, then the next trick is that you need to create a separate "Receive Only" connection to connect to port 8852. To create a "Receive Only" connection in NowSMS, check "Receive SMS Messages" ... then UNcheck "Support any outbound message traffic" and leave the "Prefered SMSC Connection for" list empty.

Do both connections now work?

If they do ... then there is one more thing that you might need to do. This is only for the purpose of being able to properly handle SMPP delivery receipts. NowSMS needs to know that these two separate connections share the same delivery receipt message id database. To configure this, you need to manually edit SMSGW.INI ... and under the [SMPP - host:port] sections for both of these connections, add TrackSMPPReceipts=somename ... somename is any short text name that makes sense to you. It defines that both of these SMSC connections share a command receipt message id database called somename.

The other settings that you mention in NowSMS "Sender or Transceiver Port" and "Receiver Port" specify a local port number for NowSMS to use on its end. It sounds like your provider is talking about their transmit and receive port numbers, not theirs. But if they wanted you to use particular port numbers on your end, that would be specified in these fields. (Note that if you do use these settings, there is a side effect that you will notice due to limitations of the TCP/IP protocol. After a connection is closed, another new connection cannot be made until approximately 2 minutes have passed. For this reason, and others, we definitely recommend that these fields not be used unless they are absolutely required.)

-bn
Carlos Mercado
New member
Username: Cmercado

Post Number: 11
Registered: 05-2007
Posted on Thursday, June 28, 2007 - 08:32 pm:   

Bryce,

You are a genius!!! IT WORKS!. Question, know I will send mesages in the 8553 and will receive them on 8552 or should I use &SMSCRoute=somename on the HTTP inteface?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7316
Registered: 10-2002
Posted on Friday, June 29, 2007 - 05:59 pm:   

Hi Carlos,

The 8852 connection will be set as "Receive only", so NowSMS won't try to send any messages out that connection.

But as I think about it, there is one more setting that I should suggest, which I did not mention above.

To define an SMPP connection as "receive only", make sure the following settings are applied in the SMPP configuration definition:

1.) Check "Receive SMS Messages"
2.) UNcheck "Support any outbound message traffic"
3.) Leave the "Preferred SMSC Connection for" list empty
4.) Leave the "Sender Address" field blank

-bn