A robust SMPP library for .NET [closed]

我与影子孤独终老i 提交于 2019-11-28 20:45:29

Davita, I've been using the Jamaa SMPP Client for 3 months with success. Its relative easy to implement, and its free.

Inetlab.SMPP

http://www.inetlab.com/Products/Inetlab.SMPP.aspx

Very good library

Scalability in SMPP protocol is complicated matter. You can scale horizontally by firing multiple connections but this creates issues like Status Reports coming back on other connection than the message has been submitted, if one account is used. Vertical scaling is not only on the component (but of course badly created component can limit the throughput) but quite often is limited by the SMSC itself - it is hard to find an SMSC that would not saturate over 100-150 messages per second returning throttling error (0x00000058 - ESME has exceeded allowed message limits). Concluding - achieving high performance may require cooperation with operator. Component/library may come handy if it has e.g. throttling or submit to multiple destinations support built in.

Robustness is another rather subjective thing but in my opinion good & preemptive support are a part of it.

Fault tolerance can rather be only achieved in cooperation between component/library and the application that is using it. Library cannot do all the things like retrying submits, dealing entirely with throttling, responding to errors in submit_multi operation etc. This would call for a queuing/buffering mechanism and would certainly interfere with high throughput for basic operations. It would rather be an SMPP gateway if you would like it to deal with all errors that may appear. But with good library all this can be done easily for starters and the fine tuned with growing performance demands.

This commercial .NET library may be worth considering:

http://www.tops.com.pl/en/products/smscc/

Has quite large number of installations, quite few by large telecoms. Can be used in scalable manner both horizontal & vertical and can implement fault tolerance scenarios. In real life tests achieving over 500 messages per second on single TCP/IP link, limited by the SMSC's capabilities.

There is only really the ActiveXperts component, though I'm not sure if it's a native .NET library.

EasySMPP and RoaminSMPP are both full of serious bugs and incomplete. The Devshock compone t is awful. We tried them all.

Unfortunately we ended up writing our own in native .NET. We're approaching the 1mil/messages/month mark with it.

There is a German company that I can't remember the name of that do a SMPP component but the licensing costs are very high and I seem to recall that it was a COM library.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!