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.

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:

  1. Register as an Entity on your telecom operator's DLT portal (e.g., Jio DLT, Airtel DLT, Vodafone Idea DLT).
  2. Register Sender IDs (Headers) — Each sender name must be approved via the DLT portal. Sender IDs are exactly 6 characters.
  3. 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.
  4. 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.