Hi, please use smsc_smpp.c as example how to send/receive with only one thread.
Michael Zervakis wrote: > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> > <html> > <head> > <meta content="text/html;charset=ISO-8859-7" http-equiv="Content-Type"> > <title></title> > </head> > <body bgcolor="#ffffff" text="#000000"> > Hi Frank,<br> > <br> > Thanks for the reply. According to CIMD2 specification you can use > up to 128 different packet numbers when submitting MT's. The biggest > network operator in Greece uses CIMD2 configured to accept multiple > submit SM operations as long as you don't send duplicate packet numbers > without receiving an ack first. We have a throughput of 50 to 60 MTs > per second with this SMSC using a single CIMD2 socket and a commercial > cimd2 client. This is an example of submitting two MT's with this CIMD2 > client using different packet numbers without waiting for an ack:<br> > <tt>00:09:49.251387 IP 192.168.100.4.42142 > 10.10.10.1.9971: P > 4043206268:4043206426(158) ack 3333850963 win 12325 > <nop,nop,timestamp 373298475 2652356904><br> > 0x0000: 4500 00d2 d9bb 4000 4006 50db 0a00 0002 > <a class="moz-txt-link-abbreviated" > href="mailto:[EMAIL PROTECTED]@.P">[EMAIL PROTECTED]@.P</a>.....<br> 0x0010: > c3a7 41e6 a49e > 26f3 f0fe 6e7c c6b6 8753 ..A...&...n|...S<br> > 0x0020: 8018 3025 1054 0000 0101 080a 1640 152b > [EMAIL PROTECTED]<br> > 0x0030: 9e17 c128 0230 333a 3138 3109 3032 313a > ...(.<b>03:181</b>.021:<br> ........<br> > 00:09:49.258634 IP 192.168.100.4.42162 > 10.10.10.1.9971: P > 4039328278:4039328436(158) ack 1361679146 win 12354 > <nop,nop,timestamp 373298477 2652358442><br> > 0x0000: 4500 00d2 2e51 4000 4006 fc45 0a00 0002 > <a class="moz-txt-link-abbreviated" > href="mailto:[EMAIL PROTECTED]@..E">[EMAIL PROTECTED]@..E</a>....<br> > 0x0010: c3a7 41e6 > a4b2 26f3 f0c3 4216 5129 932a ..A...&...B.Q).*<br> > 0x0020: 8018 3042 1054 0000 0101 080a 1640 152d > [EMAIL PROTECTED]<br> > 0x0030: 9e17 c72a 0230 333a 3031 3109 3032 313a > ...*.<b>03:011</b>.021:<br> ........<br> > 00:09:49.398797 IP 10.10.10.1.9971 > 192.168.100.4.42142: P 1:46(45) > ack 158 win 32768 <nop,nop,timestamp 2652363396 373298475><br> > 0x0000: 4500 0061 90c9 4000 3b06 9f3e c3a7 41e6 > [EMAIL PROTECTED];..>..A.<br> > 0x0010: 0a00 0002 26f3 a49e c6b6 8753 f0fe 6f1a > ....&......S..o.<br> > 0x0020: 8018 8000 8f14 0000 0101 080a 9e17 da84 > ................<br> > 0x0030: 1640 152b 0235 333a 3138 3109 3032 313a > [EMAIL PROTECTED]<b>53:181</b>.021:<br> > ........ .<br> > 00:09:49.398810 IP 192.168.100.4.42142 > 10.10.10.1.9971: . ack 46 > win 12325 <nop,nop,timestamp 373298512 2652363396><br> > 0x0000: 4500 0034 d9bc 4000 4006 5178 0a00 0002 > <a class="moz-txt-link-abbreviated" > href="mailto:[EMAIL PROTECTED]@.Qx">[EMAIL PROTECTED]@.Qx</a>....<br> > 0x0010: c3a7 41e6 > a49e 26f3 f0fe 6f1a c6b6 8780 ..A...&...o.....<br> > 0x0020: 8010 3025 18fa 0000 0101 080a 1640 1550 > [EMAIL PROTECTED]<br> > 0x0030: 9e17 da84 ....<br> > 00:09:49.398936 IP 10.10.10.1.9971 > 192.168.100.4.42162: P 1:46(45) > ack 158 win 32768 <nop,nop,timestamp 2652363396 373298477><br> > 0x0000: 4500 0061 90ca 4000 3b06 9f3d c3a7 41e6 > <a class="moz-txt-link-abbreviated" > href="mailto:[EMAIL PROTECTED];..=..A">[EMAIL PROTECTED];..=..A</a>.<br> > 0x0010: 0a00 0002 > 26f3 a4b2 5129 932a f0c3 42b4 ....&...Q).*..B.<br> > 0x0020: 8018 8000 1c67 0000 0101 080a 9e17 da84 > .....g..........<br> > 0x0030: 1640 152d 0235 333a 3031 3109 3032 313a > [EMAIL PROTECTED]<b>53:011</b>.021:<br> ........<br> > 00:09:49.398942 IP 192.168.100.4.42162 > 10.10.10.1.9971: . ack 46 > win 12354 <nop,nop,timestamp 373298512 2652363396><br> > 0x0000: 4500 0034 2e52 4000 4006 fce2 0a00 0002 > <a class="moz-txt-link-abbreviated" > href="mailto:[EMAIL PROTECTED]@">[EMAIL PROTECTED]@</a>.......<br> 0x0010: > c3a7 41e6 a4b2 > 26f3 f0c3 42b4 5129 9357 ..A...&...B.Q).W<br> > 0x0020: 8010 3042 af20 0000 0101 080a 1640 1550 > [EMAIL PROTECTED]<br> > 0x0030: 9e17 da84 ....<br> > </tt> <br> > Another network operator in Poland that we also have access uses CIMD2 > and according to them we can send multiple 03:XXX requests as long as > we don't send duplicate packet numbers.<br> > Do you suggest that we use the code of smsc_emi as a template to > rewrite smsc_cimd2 ?<tt><br> > </tt> > <blockquote type="cite"> > <p class="MsoNormal"><span style="">Not > sure if it applies to CIMD2 too but it COULD be a restriction by the > protocol. In some protocol implementations, you can not send more > messages > before the previous one has been acked. So no "windowing". In EMI/UCP > this is only possible if the SMSC has the "windowing" licensing > feature. It sounds odd but thats how it is. Those restrictions come > from very > old days where it wasnt TCP used and the systems had no memory to > buffer future > stream data. In the case of CMG SMSC's for example, the connection was > originally X.25 and for TCP a "convertor" was placed in front. Also > windowing requires some kind of sequence number so the acked packet can > be > matched by the sent packet. Otherwise you might end up acking the wrong > packet.<o:p></o:p></span></p> > <p class="MsoNormal"><span style=""><o:p> </o:p></span></p> > <p class="MsoNormal"><span style="">One > work around is to establish multiple concurrent sessions. Of course if > CIMD2 > supports proper windowing as one would expect, then a receiver / sender > thread > layout as in SMPP and EMI implementations could be done easily. > Shouldn't be so > difficult to redesign the driver for that. Unfortunately CIMD SMSC's > are so > rare these days that I have no access to one so I cant do it .. > <o:p></o:p></span></p> </blockquote> > </body> > </html> -- Thanks, Alex
