RE: Looking for ways to improve CIMD2 protocol performance

Michael Zervakis <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Windowing is an optional feature in CIMD2 with a max window size of
128. If you wish to use windowing you have to declare the window size
within the login request using parameter 019 otherwise the SMSC
will set a window size of 1 by default. Current implementation has no
windowing functionality so I modified cimd2_login() in smsc_cimd2.c to
declare the int parameter 019 when sending login request to SMSC just
to check if the SMSC will accept the windowing parameter. The test was
a success and we managed to successfully login using a window size of
32:

2007-06-08 20:40:04 [19247] [6] DEBUG: CIMD2[cimd2_smsc]: sending
<01:001 010:test 011:test 019:32 82>

2007-06-08 20:40:05 [19247] [6] DEBUG: CIMD2[cimd2_smsc]: received:
<51:001 3C>

CIMD2 windowing have two important restrictions. All operations to the
SMSC (keepalive, submit SM etc.) use a window slot not just the submit
SM, so all outstanding operations should *NOT* exceed window size. The
SME is forced to use the packet numbers in strict increasing order
001,003,005 etc.and *NOT* randomly 011,123,009 etc. We must receive
responses for every operation before starting a new window.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.