Page 1 of 1

Incorrect handling of Generic_nack

Posted: Tue Aug 04, 2009 3:47 pm
by Jabberwok
Hi there!

I encountered strange behavior of ALT.SMS.SmppClient while recieving generick_nack response.

Scenario:

1) do SmppClient.Query
2) long pause happens
3) QuerySmResp states timeout

I was very surprised by this behavior and was unable to explain it. Then i decided to check what kind of conversation happens btw ALT.SMS.SmppClient and SMSC. I took Wireshark (network traffic analyzer) and dumped what is happening.

After step 1, instead of query_sm_resp my SMSC answered generic_nack with invalid command id. ALT.SMS.SmppClient doesn't recognize this generic_nack as answer to query_sm and continue to wait for resp and falls with timeout. But surely this generic_nack is a form of response, they have same Sequence Id. Actually ALT.SMS.SmppClient capture that generic_nack and fire evGenericNack event, but this is incorrect behavior, because it is part of conversation, not a standalone event.

Here is network dump:

query_sm

Code: Select all

0000   00 00 00 21 00 00 00 03 00 00 00 00 74 32 9a 20  ...!........t2. 
0010   31 36 33 38 62 63 61 63 00 00 00 33 38 36 37 31  1638bcac...38671
0020   00
generic_nack

Code: Select all

0000   00 00 00 10 80 00 00 00 00 00 00 03 74 32 9a 20  ............t2. 

I think this mean that SMSC doesn't support query_sm. But client should be able to recognize reject as answer.

Posted: Tue Aug 04, 2009 5:46 pm
by alt
Thank you for your report. I'll fix it soon.

Posted: Tue Aug 04, 2009 9:34 pm
by alt
fixed

Please download last version.

Posted: Wed Aug 05, 2009 2:21 pm
by Jabberwok
it works great! thanks!