定制 cyberwani/trai-sms-header 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cyberwani/trai-sms-header

Composer 安装命令:

composer require cyberwani/trai-sms-header

包简介

A PHP library for inspecting TRAI-compliant SMS headers (operator, circle, and message type mapping) with DLT sender lookup.

README 文档

README

TRAI SMS Header is a PHP library and CLI tool developed by Cyberwani for inspecting and decoding TRAI-compliant SMS headers under TCCCPR 2025 guidelines.

It helps telecom developers, SMS gateway providers, and compliance teams to easily parse headers such as VM-ABCDEF-S into detailed information like Operator, Circle, Sender Name, and Message Type.

🚀 Features

  • 🔍 Parse and validate TRAI SMS headers (VM-ABCDEF-S, VK-MYCOMP-P, etc.)
  • 🏢 Lookup registered Sender Names via included sender-list.json
  • 🛰️ Identify Operator & Circle based on TRAI prefix mapping
  • 💬 Detect message type suffix (-P, -S, -T, -G)
  • 🧩 Works as a Composer library and a CLI tool
  • ⚡ Lightweight, dependency-free (optional PhpSpreadsheet for data import)

🧰 Installation

Install via Composer:

composer require cyberwani/trai-sms-header

This will install both the PHP library and the CLI binary:

vendor/bin/trai-sms-header

🧑‍💻 PHP Usage Example

<?php
require 'vendor/autoload.php';

use Cyberwani\TRAI_SMS_Header\TRAI_SMS_Header;

// Initialize with default sender-list.json (included in package)
$trai = new TRAI_SMS_Header();

// You can also provide a custom sender JSON file if desired:
// $trai = new TRAI_SMS_Header('/path/to/custom-sender-list.json');

$result = $trai->inspect('VM-ABCDEF-S');

print_r($result);

Output:

Array
(
    [input] => VM-ABCDEF
    [prefix] => VM
    [operator_code] => V
    [operator] => Vodafone Idea Ltd
    [circle_code] => M
    [circle] => Mumbai
    [sender_id] => ABCDEF
    [sender_name] => ABCDEF ENTERPRISES PVT LTD
    [suffix] => -S
    [message_type] => Service
    [valid] => 1
)

💻 CLI Usage

After installing via Composer, run directly from terminal:

vendor/bin/trai-sms-header <HEADER> [--file=/path/to/sender-list.json] [--json]

Examples

1️⃣ Standard CLI output

vendor/bin/trai-sms-header VM-ABCDEF-S

Output:

🔍 TRAI SMS Header Inspection
──────────────────────────────
Header:       VM-ABCDEF-S
Prefix:       VM
Operator:     Vodafone Idea Ltd (V)
Circle:       Mumbai (M)
Sender ID:    ABCDEF
Sender Name:  ABCDEF ENTERPRISES PVT LTD
Message Type: Service
Suffix:       -S
Valid:        Yes
──────────────────────────────

2️⃣ JSON output (for scripts or API integrations)

vendor/bin/trai-sms-header VM-ABCDEF-S --json

Output:

{
  "input": "VM-ABCDEF",
  "prefix": "VM",
  "operator_code": "V",
  "operator": "Vodafone Idea Ltd",
  "circle_code": "M",
  "circle": "Mumbai",
  "sender_id": "ABCDEF",
  "sender_name": "ABCDEF ENTERPRISES PVT LTD",
  "suffix": "-S",
  "message_type": "Service",
  "valid": true
}

3️⃣ Using a custom sender list

vendor/bin/trai-sms-header VM-MYCOMP-T --file=/tmp/custom-sender-list.json

🧮 Build JSON from Excel or CSV (New Feature)

You can now automatically generate or refresh your sender-list.json file using official TRAI data sheets (Excel or CSV) with the build-json subcommand.

This feature reads columns:

Header Description
Sender ID Registered sender code (e.g. ABCDEF)
Principal Entity Name Entity name (e.g. ABCDEF ENTERPRISES PVT LTD)

🔧 Command Syntax

vendor/bin/trai-sms-header build-json <input.xlsx|input.csv> [--output=/path/to/sender-list.json]

💡 Examples

1️⃣ Build default sender list (saved to src/Data/sender-list.json)

vendor/bin/trai-sms-header build-json List_SMS_Headers_16062020_0.xlsx

Output:

🔄 Reading List_SMS_Headers_16062020_0.xlsx ...
✅ Exported 25700 sender records to src/Data/sender-list.json

2️⃣ Build JSON to a custom file location

vendor/bin/trai-sms-header build-json List_SMS_Headers_16062020_0.xlsx --output=/tmp/sender-list.json

3️⃣ Build from CSV file

vendor/bin/trai-sms-header build-json data/List_SMS_Headers_16062020_0.csv

⚙️ File Format Example

If the input file (.xlsx or .csv) has:

Sender ID Principal Entity Name
ABCDEF ABCDEF ENTERPRISES PVT LTD
MYCOMP MyCompany Technologies LLP

It will generate:

{
  "ABCDEF": "ABCDEF ENTERPRISES PVT LTD",
  "MYCOMP": "MyCompany Technologies LLP",
  "TESTIN": "Testing Solutions India"
}

🧩 Supported Formats

Format Support Notes
.xlsx Uses PhpSpreadsheet
.csv UTF-8 encoded CSV supported
.xls ⚠️ Not recommended (use .xlsx)

📦 Dependency Requirement

If you plan to use build-json with .xlsx files, install PhpSpreadsheet:

composer require phpoffice/phpspreadsheet

For .csv imports, no additional dependency is required.

✅ Full Example Workflow

# Step 1: Build JSON
vendor/bin/trai-sms-header build-json data/List_SMS_Headers_16062020_0.xlsx

# Step 2: Validate a header using new data
vendor/bin/trai-sms-header VM-ABCDEF-S --file=src/Data/sender-list.json --json

Result:

{
  "input": "VM-ABCDEF",
  "prefix": "VM",
  "operator_code": "V",
  "operator": "Vodafone Idea Ltd",
  "circle_code": "M",
  "circle": "Mumbai",
  "sender_id": "ABCDEF",
  "sender_name": "ABCDEF ENTERPRISES PVT LTD",
  "suffix": "-S",
  "message_type": "Service",
  "valid": true
}

⚙️ Default Data Source

The package ships with:

src/Data/sender-list.json
src/Data/operator-map.php
src/Data/circle-map.php

If you don’t provide a custom JSON file, the library automatically uses the bundled sender-list.json.

You can regenerate or update this JSON file using TRAI’s official header data (see build-json command above).

🧩 Namespace and Class

Namespace Class Name Example
Cyberwani\TRAI_SMS_Header TRAI_SMS_Header new TRAI_SMS_Header();

🧾 License

Licensed under the MIT License. © 2025 Cyberwani — All rights reserved.

🧑‍💼 Author

Cyberwani 🔗 https://github.com/cyberwani

💡 Coming Soon

  • Web-based UI for header validation
  • Integration testing suite

cyberwani/trai-sms-header 适用场景与选型建议

cyberwani/trai-sms-header 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 11 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 cyberwani/trai-sms-header 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 cyberwani/trai-sms-header 我们能提供哪些服务?
定制开发 / 二次开发

基于 cyberwani/trai-sms-header 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 5
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 23
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-04