2017 © Pedro Peláez
 

library sms-length

SMS Length calculations, using GSM 03.38 and GSM 03.40

image

phlib/sms-length

SMS Length calculations, using GSM 03.38 and GSM 03.40

  • Tuesday, April 18, 2017
  • by letssurf
  • Repository
  • 4 Watchers
  • 2 Stars
  • 45,809 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 1 Open issues
  • 4 Versions
  • 25 % Grown

The README.md

phlib/sms-length

Code Checks Codecov Latest Stable Version Total Downloads Licence, (*1)

Calculate SMS GSM 03.38 message encoding and length, and number of concatenated SMS required, (*2)

Installation

composer require phlib/sms-length

Usage

Simple string which fits within GSM 03.38 7-bit alphabet:, (*3)

$smsLength = new \Phlib\SmsLength\SmsLength('simple message');
$smsLength->validate(); // Throw exceptions for any validation failures
$smsLength->getSize(); // 14
$smsLength->getEncoding(); // '7-bit'
$smsLength->getMessageCount(); // 1
$smsLength->getUpperBreakpoint(); // 160

Message which contains characters forcing switch to using GSM 03.38 UCS-2:, (*4)

$smsLength = new \Phlib\SmsLength\SmsLength('message with • char requiring UCS-2');
$smsLength->validate(); // Throw exceptions for any validation failures
$smsLength->getSize(); // 35
$smsLength->getEncoding(); // 'ucs-2'
$smsLength->getMessageCount(); // 1
$smsLength->getUpperBreakpoint(); // 70

Background

In the course of adding an SMS module to our Commercial software, we have found need for the SMS length properties which we've included in this package., (*5)

Our third-party SMS gateway provider's API will of course error if the message length exceeds the maximum allowed, and handles the correct concatenation and encoding for the given UTF-8 string., (*6)

However we want to be able to inform our users of message size and limits while they're building their SMS campaign (in advance of a live send). Plus we also need to show how many concatenated SMS they will use per contact, and therefore indicate pricing., (*7)

The unit tests and inspections made by this package are based on GSM 03.38 / 3GPP 23.038 for encoding and GSM 03.40 / 3GPP 23.040 for concatenated SMS. We have also referred to documentation provided by third-party SMS gateway providers such as MessageBird and Messente., (*8)

License

This package is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version., (*9)

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details., (*10)

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/., (*11)

The Versions

18/04 2017

dev-master

9999999-dev

SMS Length calculations, using GSM 03.38 and GSM 03.40

  Sources   Download

LGPL-3.0

The Requires

  • php ^5.6|^7
  • ext-mbstring *

 

The Development Requires

by Chris Minett

sms message gsm size length

18/04 2017

1.1.0

1.1.0.0

SMS Length calculations, using GSM 03.38 and GSM 03.40

  Sources   Download

LGPL-3.0

The Requires

  • php ^5.6|^7
  • ext-mbstring *

 

The Development Requires

by Chris Minett

sms message gsm size length

30/03 2017

dev-feature/move-messagecount-exception

dev-feature/move-messagecount-exception

SMS Length calculations, using GSM 03.38 and GSM 03.40

  Sources   Download

LGPL-3.0

The Requires

  • php ^5.6|^7
  • ext-mbstring *

 

The Development Requires

by Chris Minett

sms message gsm size length

28/03 2017

1.0.0

1.0.0.0

SMS Length calculations, using GSM 03.38 and GSM 03.40

  Sources   Download

LGPL-3.0

The Requires

  • php ^5.6|^7
  • ext-mbstring *

 

The Development Requires

by Chris Minett

sms message gsm size length