SMS Gateway Setup
Configure SMS gateways from 31 providers across Bangladesh, India, Nepal, Pakistan, Africa, and international services including Twilio, Vonage, Plivo, TextSMS, and regional providers for automated ISP customer notifications.
SMS Gateway Setup
Before any SMS feature in ISPBills can function — including manual sends, broadcasts, automated notifiers, and event triggers — you must configure an SMS gateway. The gateway is the third-party service that actually routes your messages to customers' mobile phones. This page explains how to set one up, test it, and manage your SMS balance.
No SMS will be delivered until a gateway is properly configured and tested. Complete this setup before enabling any other SMS feature.
Navigating to Gateway Settings
Go to Settings → SMS Gateway. This page contains all gateway configuration options as well as your current SMS balance and usage history.
Supported SMS Providers
ISPBills integrates with 31 SMS gateway providers across six regions. The following table lists every supported provider:
| Region | Provider | API Type | Key Features |
|---|---|---|---|
| Bangladesh | Maestro | REST | Balance check, Sender ID |
| Bangladesh | Robi | REST | Username/Password auth |
| Bangladesh | M2MBD | REST (ElitBuzz) | Balance check |
| Bangladesh | Bangladesh SMS | REST (ElitBuzz) | Balance check |
| Bangladesh | BulkSMSBD | REST | Username/Password |
| Bangladesh | BTS SMS | REST (ElitBuzz) | Balance check |
| Bangladesh | 880 SMS | REST (ElitBuzz) | Balance check |
| Bangladesh | BD SmartPay | REST (ElitBuzz) | Balance check |
| Bangladesh | ElitBuzz | REST | Balance check |
| Bangladesh | SSL Wireless | REST | Sender ID, Mask |
| Bangladesh | ADN SMS | REST | API Key + Secret |
| Bangladesh | 24 SMS BD | REST | Balance check |
| Bangladesh | SMS.net | REST (ElitBuzz) | Balance check |
| Bangladesh | Brand SMS | REST (ElitBuzz) | Balance check |
| Bangladesh | MetroTel | REST (ElitBuzz) | Balance check |
| Bangladesh | DianaHost | REST (ElitBuzz) | Balance check |
| Bangladesh | SMS in BD | REST (ElitBuzz) | Balance check |
| Bangladesh | DhakaSoft BD | REST (ElitBuzz) | Balance check |
| India | TextLocal | REST | DLT compliant, Template ID |
| India | MSG91 | REST | DLT Auth Key, Template |
| India | Karix | REST | Enterprise SMS |
| Nepal | Sparrow SMS | REST | Token auth |
| Nepal | Aakash SMS | REST | Token auth |
| Nepal | Khalti SMS | REST | API Key + Secret |
| Pakistan | Jazz SMS | REST | Login ID/Password |
| Pakistan | Zong SMS | REST | Login auth |
| Pakistan | Telenor SMS | REST | API auth |
| International | Twilio | REST | SID/Token, E.164 numbers |
| International | Vonage (Nexmo) | REST | API Key/Secret |
| International | Plivo | REST | Auth ID/Token |
| Africa | TextSMS | REST | Partner ID + API Key |
Many Bangladeshi providers (marked REST (ElitBuzz) above) share the same API format as ElitBuzz. ISPBills uses the ElitBuzz handler internally for these providers, so they all support the same features including balance checking.
Bangladesh Providers
| Gateway | Notes |
|---|---|
| ADN SMS | Popular Bangladeshi bulk SMS provider. Requires API Key and Secret. |
| ElitBuzz / SMS.net | Widely used in Bangladesh; supports both masking and non-masking routes. |
| SSL Wireless | SSL Commerz SMS service. Supports Sender ID masking. |
| BulkSMSBD | Bangladeshi bulk SMS platform with Username/Password auth. |
| Robi | Robi Axiata enterprise SMS API. |
| BD SmartPay | SmartPay SMS gateway for Bangladesh. |
| Maestro | REST API with balance check and Sender ID support. |
| Maestro / M2MBD / BTS SMS / 880 SMS / Bangladesh SMS / 24 SMS BD / Brand SMS / MetroTel / DianaHost / SMS in BD / DhakaSoft BD | ElitBuzz-family providers sharing the same API format. All support balance checking. |
India Providers
| Gateway | Notes |
|---|---|
| TextLocal | Popular Indian SMS provider. Requires API key (stored in Token field) and approved Sender ID. DLT compliant. |
| MSG91 | Indian SMS gateway with DLT-compliant template support. Requires Auth Key (Token), Template ID (Username), and 6-character Sender ID. |
| Karix | Karix/Tanla enterprise SMS. Uses Basic Auth with API UID (Username) and API Token (Password). |
Nepal Providers
| Gateway | Notes |
|---|---|
| Sparrow SMS | Leading Nepali SMS provider. Requires API Token and sender identity (from). |
| Aakash SMS | Popular Nepali bulk SMS service. Requires Auth Token. |
| Khalti SMS | Khalti messaging service. Requires Auth Token and API URL (set in POST URL field). |
Pakistan Providers
| Gateway | Notes |
|---|---|
| Jazz SMS | Jazz (Mobilink) corporate SMS. Requires Username, Password, and approved Mask. |
| Zong SMS | Zong corporate SMS. API URL is contract-specific — set it in the POST URL field. |
| Telenor SMS | Telenor Pakistan corporate SMS. Two-step authentication (auto-handled). |
International Providers
| Gateway | Notes |
|---|---|
| Twilio | Global cloud communications. Account SID (Username), Auth Token (Password), and Twilio phone number in E.164 format. |
| Vonage (Nexmo) | Global SMS service. API Key (Username), API Secret (Password), and sender ID or virtual number. |
| Plivo | Global SMS API. Auth ID (Username), Auth Token (Password), and source number in E.164 format. |
Africa Providers
| Gateway | Notes |
|---|---|
| TextSMS | Kenya's leading bulk SMS platform (textsms.co.ke). Requires Partner ID (Username), API Key (Password), and an approved Shortcode (Sender ID). Supports transactional and marketing SMS across East Africa. |
Configuring the Gateway
Select your gateway provider from the Gateway dropdown (organized by region). The form will update to show the fields required by that provider. Common fields include:
- API Key / Token – The secret key provided by your SMS gateway account. Keep this confidential.
- Username – Your gateway account username (required by some providers). For international gateways, this may hold the Account SID or Auth ID.
- Password – Your gateway account password (required by some providers). For international gateways, this may hold the Auth Token or API Secret.
- Sender ID – The name or number displayed as the sender on customers' phones (e.g. your ISP's brand name). Note that some gateways and routes require a pre-approved sender ID; check with your provider.
- API Endpoint / URL – For some gateways you may need to enter the API base URL if it differs from the default. This is especially important for Pakistani enterprise gateways (Jazz, Zong, Telenor) where URLs are contract-specific.
Provider-Specific Field Mapping
Different providers use the gateway form fields for different purposes. The following reference shows exactly which credential maps to which form field for every supported provider:
Bangladesh Providers:
| Provider | Token | Username | Password | From Number |
|---|---|---|---|---|
| ADN SMS | API Key | API Secret | — | Sender ID |
| ElitBuzz / SMS.net | API Key | — | — | Sender ID |
| SSL Wireless | API Token | SID | — | Sender ID (Mask) |
| BulkSMSBD | — | Username | Password | Sender ID |
| Robi | — | Username | Password | Sender ID |
| Maestro | API Key | — | — | Sender ID |
| ElitBuzz-family* | API Key | — | — | Sender ID |
*ElitBuzz-family includes: M2MBD, BTS SMS, 880 SMS, Bangladesh SMS, BD SmartPay, 24 SMS BD, Brand SMS, MetroTel, DianaHost, SMS in BD, DhakaSoft BD.
India Providers:
| Provider | Token | Username | Password | From Number |
|---|---|---|---|---|
| TextLocal | API Key | — | — | Sender ID |
| MSG91 | Auth Key | Template ID | — | Sender ID (6 chars) |
| Karix | — | API UID | API Token | Source number |
Nepal Providers:
| Provider | Token | Username | Password | From Number |
|---|---|---|---|---|
| Sparrow SMS | API Token | — | — | Sender identity |
| Aakash SMS | Auth Token | — | — | — |
| Khalti SMS | Auth Token | — | — | — |
Pakistan Providers:
| Provider | Token | Username | Password | From Number |
|---|---|---|---|---|
| Jazz SMS | — | Username | Password | Mask |
| Zong SMS | — | Login ID | Login Password | Mask |
| Telenor SMS | — | Username | Password | Mask |
International Providers:
| Provider | Token | Username | Password | From Number |
|---|---|---|---|---|
| Twilio | — | Account SID | Auth Token | Phone number (E.164) |
| Vonage (Nexmo) | — | API Key | API Secret | Sender ID/number |
| Plivo | — | Auth ID | Auth Token | Source number (E.164) |
Africa Providers:
| Provider | Token | Username | Password | From Number |
|---|---|---|---|---|
| TextSMS | — | Partner ID | API Key | Shortcode (Sender ID) |
Fill in all required fields exactly as provided by your SMS gateway account. Mistakes in the API key or sender ID will result in delivery failures.
DLT Compliance (India)
Indian telecom regulations require DLT (Distributed Ledger Technology) registration for all commercial SMS. If you operate in India, you must complete the following before sending SMS:
- Register as an Entity on your telecom operator's DLT portal (e.g., Jio DLT, Airtel DLT, Vodafone Idea DLT).
- Register Sender IDs (Headers) — Each sender name must be approved via the DLT portal. Sender IDs are exactly 6 characters.
- Register Message Templates — Every message template your ISP will send must be registered and approved on the DLT portal. Each template receives a unique Template ID.
- Configure in ISPBills — When using MSG91, enter the DLT Template ID in the Username field and the Auth Key in the Token field. For TextLocal, the API Key goes in the Token field.
DLT registration can take 1–7 business days for approval. Plan your SMS setup accordingly and register templates for all automated notifications (due date reminders, expiration alerts, payment confirmations, etc.) before going live.
Per-SMS Cost Tracking
ISPBills tracks the cost of every SMS sent through the system. Each gateway configuration includes a Unit Price field where you set the cost per SMS segment. This enables:
- Cost tracking per message — Every sent SMS is logged with its cost based on the configured unit price.
- Operator-level billing — For hosted ISPBills deployments, SMS costs are tracked per operator for accurate billing.
- Cost reports — View total SMS spend over any date range from the SMS History page.
- Unicode awareness — Messages containing non-Latin characters (e.g., Bengali, Devanagari, Arabic) are sent as Unicode, which reduces the characters per segment from 160 to 70. ISPBills accounts for this when calculating segment count and cost.
SMS Balance Management
ISPBills maintains an internal SMS credit balance for each operator, separate from the balance held at your gateway provider.
Viewing SMS Balance
Your current SMS credit balance is displayed at the top of the SMS Gateway settings page. This balance reflects the credits available in ISPBills for sending messages.
Purchasing Credits
To purchase additional SMS credits, navigate to Settings → SMS Gateway → Buy SMS (or the equivalent billing section). Credits are typically purchased in bundles. Once purchased, they are added to your ISPBills SMS balance immediately.
If you operate ISPBills as a hosted service, SMS billing may be managed directly by your service provider. Contact them to top up your balance if an in-app purchase option is not available.
SMS History
The SMS History or SMS Log section shows a record of all messages sent through the system, including:
- Date and time sent
- Recipient number
- Message content
- Delivery status (delivered, failed, pending)
- Credits consumed
- Cost per message
Use this log to audit usage, investigate delivery failures, and track costs over time. See SMS History for more details.
Operator SMS Billing
In multi-operator deployments, each operator has their own SMS balance. The system administrator or hosting provider can:
- View per-operator SMS usage and balance.
- Top up an operator's SMS credits.
- Set alerts for low SMS balance to prevent service interruptions.
Testing the Gateway
After saving your configuration, use the Send Test SMS button. Enter a mobile number you have access to and click Send. If the configuration is correct, you will receive a test message within a few seconds. If the test fails, an error message from the gateway will be displayed — use it to diagnose the issue (common problems: incorrect API key, unapproved sender ID, or insufficient gateway balance).
Always test after the initial setup and after any configuration change.
Best Practices
- Keep your API key secure and do not share it. Rotate it immediately if you suspect it has been compromised.
- Monitor your SMS balance regularly, especially if you use automated notifiers or broadcast features, to avoid unexpected interruptions.
- Test the gateway connection after any changes to your gateway provider account (e.g. after renewing an API key or changing sender ID).
- Verify that your gateway provider supports the volume and routes (e.g. transactional vs. promotional) you intend to use.
- Store phone numbers in E.164 format (+[country code][number]) for compatibility across all gateways.
Regional Considerations
Bangladesh
- Most Bangladeshi providers support both masking (branded sender ID) and non-masking routes. Masking routes are more expensive but display your ISP name instead of a random number.
- ElitBuzz-family providers all share the same API format, making it easy to switch between them if needed.
- Balance check is available for most Bangladeshi providers — ISPBills can query your remaining SMS credits at the provider.
India
- DLT Registration is mandatory. All commercial SMS in India must be sent through DLT-registered entities with pre-approved templates and sender IDs. See the DLT Compliance section above.
- Template variables: When using MSG91, message content is passed through a DLT-registered template. Set the Template ID in the Username field.
- Number format: Indian mobile numbers should be 10 digits. The gateway will typically accept with or without the +91 prefix.
Nepal
- Sender identity registration: Nepali gateways (Sparrow SMS, Aakash SMS) require pre-approved sender identities. Contact your provider to register a sender name.
- Number format: Nepali mobile numbers are 10 digits starting with 97 or 98. Include country code (+977) for reliable delivery.
- Character encoding: Nepali (Devanagari) text will be sent as Unicode, increasing segment count. Plan SMS credits accordingly.
Pakistan
- Enterprise contracts required. Jazz, Zong, and Telenor SMS APIs require a corporate agreement. These are not self-service sign-up APIs.
- Mask approval: All SMS must use an approved mask (sender ID). Unapproved masks will be rejected.
- API URL varies: The API endpoint is typically provided in your enterprise contract. Enter it in the POST URL field.
- Number format: Pakistani mobile numbers should include the country code (e.g. +923001234567).
International
- Phone numbers must be in E.164 format (e.g.
+15551234567). - International gateways support worldwide delivery but pricing varies by destination country.
- Set your Unit Price to your desired per-segment billing rate.
Africa (Kenya / East Africa)
- TextSMS: Partner ID and API Key are provided from your textsms.co.ke account dashboard. An approved Shortcode (Sender ID) is required; apply through TextSMS support.
- Number format: Kenyan mobile numbers should be in international format starting with
+254(e.g.+254712345678) for reliable delivery. - Character set: Swahili and English messages typically use standard GSM character sets (160 chars/segment). Messages using non-GSM characters will be sent as Unicode (70 chars/segment).
If your preferred provider is not listed, contact support — additional gateways may be available via custom integration.