1. SMPP server and client supporting characters from all languages including Arabic, Chinese, Hebrew, Russian, Greek. GSM encoding and also Unicode messages support.
2. Support for many smpp connections (server and client)
3. SMS routing capabilities
* route based on sender ID (eg use route A for numeric sender ID and route B for alphanumeric)
* route based on country or network of recipient (eg all messages sent to German networks should get through route A)
* HLR lookup based routing (perform HLR lookup first and route based to results eg per network or depending if number is valid and working)
4. Resellers system (reseller shall be able to create sub users with different credentials in order to use main user's account balance)
5. Clients web interface for account checking
* remaining balance,
* basic reporting for sent/received SMS
* Accounting and billing reports per user
6. System logging
7. Provide API for clients to connect via HTTP API (kannel style API)
8. Fully support for delivery reports with different statuses (eg queued, received, sent, delivered, failed, expired etc)
9. Web based configuration for all above.