Uzbekistan SMS Best Practices, Compliance, and Features
Uzbekistan SMS Market Overview
Locale name: | Uzbekistan |
---|---|
ISO code: | UZ |
Region | Asia |
Mobile country code (MCC) | 434 |
Dialing Code | +998 |
Market Conditions: Uzbekistan has a growing mobile market with several major operators including Ucell, Beeline, and Mobiuz providing SMS services. While OTT messaging apps like Telegram and WhatsApp are popular, SMS remains crucial for business communications and authentication. The market shows strong Android dominance, with iOS having a smaller market share. Mobile penetration continues to increase, making SMS an effective channel for reaching customers.
Key SMS Features and Capabilities in Uzbekistan
Uzbekistan supports basic SMS functionality with some limitations on two-way messaging and sender ID preservation, while offering support for concatenated messages and URL-based MMS alternatives.
Two-way SMS Support
Two-way SMS is not supported in Uzbekistan according to current operator capabilities. This means businesses cannot receive replies to their SMS messages through standard A2P channels.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported, though availability may vary by sender ID type.
Message length rules: Standard SMS length limits apply - 160 characters for GSM-7 encoding, 70 characters for UCS-2 encoding before splitting occurs.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with UCS-2 being essential for messages containing Uzbek characters or other non-Latin alphabets.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This ensures compatibility while still allowing businesses to share rich media content with their customers through linked resources.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Uzbekistan. This means mobile numbers remain tied to their original carrier, which can simplify message routing and delivery.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Uzbekistan. Attempts to send messages to landline numbers will result in a 400 response error (code 21614) through the API, with no message delivery and no charges applied.
Compliance and Regulatory Guidelines for SMS in Uzbekistan
SMS communications in Uzbekistan are regulated by the UzACI (Uzbekistan Agency for Communications and Information). Businesses must comply with local telecommunications laws and data privacy regulations when sending commercial SMS messages.
Consent and Opt-In
Explicit consent is mandatory before sending any marketing or promotional messages to recipients in Uzbekistan. Best practices for obtaining and documenting consent include:
- Collecting written or digital opt-in confirmation
- Maintaining detailed records of consent acquisition date and method
- Clearly stating the types of messages recipients will receive
- Providing transparent information about message frequency
HELP/STOP and Other Commands
- All SMS campaigns must support standard opt-out keywords including STOP, CANCEL, and UNSUBSCRIBE
- HELP messages should be available in both Uzbek and Russian languages
- Response to STOP commands must be immediate and confirmed with a message in the recipient's preferred language
- Keywords should be case-insensitive to ensure accessibility
Do Not Call / Do Not Disturb Registries
While Uzbekistan does not maintain a centralized Do Not Call registry, businesses should:
- Maintain their own suppression lists
- Honor opt-out requests within 24 hours
- Implement proper documentation of opt-out requests
- Regularly clean contact lists to remove unsubscribed numbers
Time Zone Sensitivity
Uzbekistan follows UTC+5 time zone. Best practices for message timing include:
- Sending messages between 9:00 AM and 8:00 PM local time
- Avoiding messages during religious holidays and national celebrations
- Only sending urgent messages (like authentication codes) outside standard hours
Phone Numbers Options and SMS Sender Types for in Uzbekistan
Alphanumeric Sender ID
Operator network capability: Dynamic alphanumeric sender IDs are supported but with limitations Registration requirements: Pre-registration is not supported, but dynamic usage is allowed Sender ID preservation: No - sender IDs may be overwritten with generic alphanumeric IDs by local operators
Long Codes
Domestic vs. International: International long codes are supported, domestic availability varies Sender ID preservation: No - numeric sender IDs may be overwritten Provisioning time: Typically 1-2 business days Use cases: Recommended for transactional messages and two-factor authentication
Short Codes
Support: Short codes are not currently supported in Uzbekistan Provisioning time: N/A Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
The following content types and industries face restrictions:
- Gambling and betting services
- Adult content or explicit material
- Unauthorized financial services
- Political campaign messages without proper authorization
- Cryptocurrency and digital asset promotions
Content Filtering
Known carrier filtering rules include:
- Messages containing certain keywords in Uzbek or Russian
- URLs from suspicious or blacklisted domains
- Excessive use of special characters or all-caps text
Tips to avoid blocking:
- Use clear, straightforward language
- Avoid URL shorteners
- Limit special characters and emoji usage
- Include clear sender identification
- Maintain consistent sending patterns
Best Practices for Sending SMS in Uzbekistan
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Personalize messages using recipient's name or relevant details
- Maintain consistent branding across messages
Sending Frequency and Timing
- Limit marketing messages to 2-4 per month per recipient
- Space out messages to avoid overwhelming recipients
- Consider Ramadan and other religious observances
- Respect national holidays and weekends
Localization
- Offer messages in both Uzbek and Russian
- Use proper character encoding for local languages
- Consider cultural sensitivities in message content
- Include local date and time formats
Opt-Out Management
- Process opt-outs within 24 hours
- Send confirmation of successful opt-out
- Maintain opt-out lists across all campaigns
- Regular audit of opt-out compliance
Testing and Monitoring
- Test messages across major carriers (Ucell, Beeline, Mobiuz)
- Monitor delivery rates by carrier
- Track engagement metrics and optimize accordingly
- Regular testing of opt-out functionality
SMS API integrations for Uzbekistan
Twilio
Twilio provides a robust REST API for sending SMS messages to Uzbekistan. Authentication uses account SID and auth token credentials.
import { Twilio } from 'twilio';
// Initialize client with your credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Uzbekistan
async function sendSmsToUzbekistan(
to: string,
message: string
): Promise<void> {
try {
// Ensure number is in E.164 format (+998...)
const formattedNumber = to.startsWith('+') ? to : `+998${to}`;
const response = await client.messages.create({
body: message,
to: formattedNumber,
from: process.env.TWILIO_PHONE_NUMBER,
// Optional parameters for delivery tracking
statusCallback: 'https://your-webhook.com/status'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
} catch (error) {
console.error('Failed to send message:', error);
}
}
Sinch
Sinch offers SMS API access with JWT-based authentication and comprehensive delivery reporting.
import axios from 'axios';
interface SinchSmsConfig {
apiToken: string;
servicePlanId: string;
fromNumber: string;
}
class SinchSmsService {
private readonly baseUrl: string;
private readonly config: SinchSmsConfig;
constructor(config: SinchSmsConfig) {
this.config = config;
this.baseUrl = `https://sms.api.sinch.com/xms/v1/${config.servicePlanId}/batches`;
}
async sendSms(to: string, message: string): Promise<void> {
try {
const response = await axios.post(
this.baseUrl,
{
from: this.config.fromNumber,
to: [to],
body: message
},
{
headers: {
'Authorization': `Bearer ${this.config.apiToken}`,
'Content-Type': 'application/json'
}
}
);
console.log('Message sent:', response.data.id);
} catch (error) {
console.error('Sinch SMS error:', error);
}
}
}
Plivo
Plivo provides a straightforward API for SMS integration with detailed delivery tracking.
import * as plivo from 'plivo';
class PlivoSmsService {
private client: any;
private sourceNumber: string;
constructor(authId: string, authToken: string, sourceNumber: string) {
this.client = new plivo.Client(authId, authToken);
this.sourceNumber = sourceNumber;
}
async sendMessage(to: string, message: string): Promise<void> {
try {
const response = await this.client.messages.create({
src: this.sourceNumber,
dst: to,
text: message,
// Optional parameters
url: 'https://your-webhook.com/status',
method: 'POST'
});
console.log('Message sent:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
}
}
}
API Rate Limits and Throughput
Rate limits for Uzbekistan vary by provider:
- Twilio: 100 messages per second
- Sinch: 30 messages per second
- Plivo: 50 messages per second
Strategies for managing high volume:
- Implement exponential backoff for retries
- Use message queuing systems (Redis, RabbitMQ)
- Batch messages when possible
- Monitor throughput and adjust sending rates
Error Handling and Reporting
Best practices for error management:
- Log all API responses and errors
- Implement retry logic for temporary failures
- Monitor delivery receipts
- Set up alerting for error thresholds
// Example error handling implementation
async function sendWithRetry(
sendFunction: () => Promise<void>,
maxRetries: number = 3
): Promise<void> {
let attempts = 0;
while (attempts < maxRetries) {
try {
await sendFunction();
return;
} catch (error) {
attempts++;
if (attempts === maxRetries) {
throw error;
}
// Exponential backoff
await new Promise(resolve =>
setTimeout(resolve, Math.pow(2, attempts) * 1000)
);
}
}
}
Recap and Additional Resources
Key Takeaways
-
Compliance Priorities
- Obtain explicit consent
- Honor opt-out requests promptly
- Maintain proper documentation
-
Technical Considerations
- Use proper phone number formatting
- Implement retry logic
- Monitor delivery rates
-
Best Practices
- Localize content
- Respect time zones
- Maintain clean contact lists
Next Steps
- Review UzACI regulations at www.aci.uz
- Consult with local legal counsel for compliance review
- Set up test accounts with preferred SMS providers
- Implement monitoring and reporting systems
Additional Resources
- UzACI Telecommunications Guidelines: www.aci.uz/guidelines
- Uzbekistan Mobile Operators Association: www.umoa.uz
- SMS Best Practices Guide: www.uztelekom.uz/sms-guide
Note: Keep documentation updated as regulations and technical requirements may change. Regular review of compliance requirements is recommended.