playSMS is a web interface for SMS gateways and bulk SMS services

Overview

README

Latest development release is playSMS version 1.4.4-beta4

Latest stable release is playSMS version 1.4.3

Official project website:

Official playSMS forum:

Description

Free and Open Source SMS Gateway Software. Not A Free SMS Service.

Feature Highlights

  • Multiple database engine supported (using included PHP PEAR DB)
  • Send SMS to single mobile phone
  • Send SMS broadcasted to a group of mobile phones, or SMS bulk
  • Support sending text, flash and unicode messages
  • Receive private SMS to Inbox and forward it to email or user's mobile phone
  • Forward single SMS from mobile to a group of mobile phones
  • Provides SMS to email and email to SMS by polling mailbox
  • SMS autoreply, for easy autoreplying formatted incoming SMS
  • SMS board, forward received SMS to email, export output in JSON and a few other formats
  • SMS command, execute server side shell script using SMS
  • SMS custom, forward incoming SMS to custom apps, locally or hosted on external URL
  • SMS poll, manage polling system using SMS, export output in graph, JSON and other formats
  • SMS quiz, serve quizzes on SMS
  • SMS subscribe, manage user subscribes to a service using SMS
  • Blacklist, stoplist and firewall plugin for SMS services protections
  • Create your own features, tools, themes and gateway modules as a plugin
  • Supports Gammu, Kannel, SMS Server Tools, Jasmin, Playnet, Uplink, and several SMS service providers
  • Supports multiple active SMSC
  • Supports simulation gateway for testing incoming and outgoing SMS
  • Route outgoing SMS by prefix
  • Route outgoing SMS per user
  • Route incoming SMS to users or URL
  • Webservices for sending SMS, retrieving delivery reports, checking credits and more
  • Long SMS support, length of text is configurable
  • Rate SMS by destination prefix
  • SMS credit system per user
  • Multiple SMSC activated and routable
  • Timezone settings
  • Multi-language user interface (English, French, Bahasa Indonesia, Russian and a few others)
  • Easily add new language for user interface
  • Web-based interface
  • Multi-domain from single playSMS installation with site branding

License

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

playSMS 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with playSMS. If not, see http://www.gnu.org/licenses/gpl-3.0.html.

The GPLv3 full text is included in file LICENSE.md

Installation

Please read INSTALL.

Project Founder and Maintainer

Contributors

Information about code contributors can be found here:

Information about security contributors and reporters can be found here:

Comments
  • kannel split messages

    kannel split messages

    I recently updated to 0.9.9.2 and noticed the messages are getting sent to kannel in some sort of encoding. While the messages are getting sent with the proper text they are being split into multiple messages apparently based on 160 encoded characters.

    Can you shed some light on how I can resolve this?

    Note that I have sqlbox in the mix if that helps at all.

    I also recently updated kannel to 1.5.0 but I've tested sending content to it directly and the # of messages are correct based on message length.

    opened by travisghansen 33
  • Missing First Word in Message

    Missing First Word in Message

    Hello.

    I was testing this and noticed that if you simulate a test message, the first word is missing.

    Steps.

    https://localhost/index.php?app=main&inc=gateway_dev&route=simulate&op=simulate

    Enter Message

    "This is a test message."

    Step 2.

    Go to Inbox https://localhost/index.php?app=main&inc=feature_report&route=user_inbox&op=user_inbox

    "is a test message."

    opened by astravoice 22
  • Unicode sms broken

    Unicode sms broken

    if the message is too long, only the first part is send out for Unicode. In standard no problem when splitting the text. Before it was working fine for Unicode. Tested in 0.9.8

    confirmed acknowledge 
    opened by fvancaen 15
  • Possible bug in Compose message interface

    Possible bug in Compose message interface

    In "Compose message" interface, if you put @ or # in the "Send to" box, you can see all the user in the system, not only yours. For example, in a subuser, if I put "@a", the dropdown list shows me all the users in the system whose name includes "a", so I can see user names from other accounts.

    I think that this can be a dangerous privacity problem.

    Greetings.

    opened by tapule 13
  • Regression: Fail to save preferences

    Regression: Fail to save preferences

    There is an error preventing to save user preferences. I noticed this bug had been resolved but I downloaded the master as of now, RC-3 and can't save any changes in user configuration. playsmserror

    fixed 
    opened by jlmoya 13
  • daemon memory leak

    daemon memory leak

    When I updated from beta2 to beta3 this problem started and continues with master.

    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 49152 bytes) in /var/www/playsms/web/init.php on line 112

    require feedback 
    opened by travisghansen 11
  • Send Message page Not working ...

    Send Message page Not working ...

    Seems Send Message page is not working: refer to : http://playsms.org/trial/index.php?app=menu&inc=send_sms&op=send_sms After browsing above URL, web browser crash.

    We try to find problem but nothing ...

    confirmed 
    opened by silvana-tnk 11
  • email to sms gateway with playsms

    email to sms gateway with playsms

    feature request

    fetchmail loads the mail and sends it to a script script generates a file with playsms webservice urls wget invokes the urls from the file and stores the response

    below you have a working prototype. It needs polishing and error handling maybe but it works ok. You need som unix tools like bash, mktemp, wget, hexdump, sed, grep.

    fetchmail config example: poll mail.playsms.org protocol IMAP user "anton" with password "playsms" mda "/bin/bash /path/to/script/playsms.sh"

    playsms.sh

    !/bin/bash

    TMPDIR=mktemp -d TMPTXT="${TMPDIR}/fetchmail.txt" TMPURL="${TMPDIR}/playsms.url" TMPXML="${TMPDIR}/output.xml" while read line; do echo ${line} >> $TMPTXT echo ${line} | grep -i "^Subject:" > /dev/null 2>&1 if [ "$?" == "0" ] then echo -n 'http://x.com/playsms/index.php?app=webservices&u=anton&h471bb53b69a966e27ae818ee3d0c8c78=&ta=pv&format=xml&from=anton' >> $TMPURL echo ${line} | sed -e 's/^Subject:\s_//i' | hexdump -v -e '/1 "%02x"' | sed 's/(..)/%\1/g' | sed -e 's/^/&msg=/' >> $TMPURL fi echo ${line} | grep -i "^Phone:" > /dev/null 2>&1 if [ "$?" == "0" ] then echo -n ${line} | sed -e 's/^Phone:\s_/&to=/i' >> $TMPURL echo -n -e "\n" >> $TMPURL fi done wget -q -i $TMPURL -O $TMPXML

    invoke fetchmail (from crontab if required on a periodic basis) fetchmail --ssl -f .fetchmailrc

    in the tmp directory you will have a random subdirectory (generated by mktemp) and therein 3 files fetchmail.txt with the complete emails downloaded by fetchmail playsms.url where the URL's are stored which will be invoked output.xml the xml output of playsms for error handling

    feature accepted 
    opened by bartik 11
  • Write a message with ISO-8859-1 chars

    Write a message with ISO-8859-1 chars

    Dear all, I've an issue when i send message with accentued words (Clickatell gateway). ie. in french: Hôtel / Déjeuner / L'entreprise / Noël / évènement / ... é à è ç ù ö

    If i send évènement, When received on phone, that became: AcvA"nement.

    Any idea to fix-it ?

    Regards

    wont fix 
    opened by rmarinier 10
  • Problem encoding Unicode (Arabic / Hebrew)

    Problem encoding Unicode (Arabic / Hebrew)

    Hello,

    There is a problem with sending SMS in Arabic / Hebrew. It comes as: ?????? version is 1.0-rc7. I tried to play a bit with encoding (fn.php)and could not solve the problem. I use a nexmo.

    Thank you.

    confirmed 
    opened by YosefAdPro 10
  • Issues with encoding: core_detect_unicode() should not decide unicode simply because its not ASCII

    Issues with encoding: core_detect_unicode() should not decide unicode simply because its not ASCII

    There is the function core_detect_unicode in the fn_core.php file that checks if a message is or isn't using characters not part of ASCII, but the SMS allow an special charset called the GSM character set (see it here http://www.clockworksms.com/blog/the-gsm-character-set/ or here http://unicode.org/Public/MAPPINGS/ETSI/GSM0338.TXT), that allows some extra characters such all of the accented vowels and others, Since playsms is using mb_string_detect, it detects them as UTF-8, hence encoding the messages in double byte, when there is no need for it.

    I have been myself looking for solutions for this, so far but couldn't find much, this link has some more information http://stackoverflow.com/questions/27599/reliable-sms-unicode-gsm-encoding-in-php

    confirmed 
    opened by aseques 10
  • Edit contacts' groups with checkboxes

    Edit contacts' groups with checkboxes

    Mutli-selects are the least user-friendly form control because normal selection of an option de-selects all other options.

    The hidden input is solely to ensure an array exists in $_POST.

    opened by Roy-Orbison 0
  • Forced delivery reports cause slow sends

    Forced delivery reports cause slow sends

    The DeliveryReport option of gammu-smsdrc(5) already controls this behaviour, and defaults to no. It should no be force-enabled by playSMS.

    Closes #638

    opened by Roy-Orbison 0
  • Gammu still forcing delivery reports by default

    Gammu still forcing delivery reports by default

    https://github.com/playsms/playsms/blob/3675b062cea65453a946b5d7c2fb0975fdd52f8c/storage/application/plugin/gateway/gammu/config.php#L13

    Unresolved forum topic from 2 years ago: https://forum.playsms.org/t/gammu-config-appears-to-force-delivery-reports/2923

    Why is Gammu still crippled by default?

    opened by Roy-Orbison 0
  • Webapp connection issue

    Webapp connection issue

    Hello,

    I changed the admin password for webapp access from the sqladmin interface, since then I can no longer connect. I have an error "SQLSTATE[HY000]: General error: 1 unrecognized token: "MY PASSWORD'')", my new password contains special characters. I connected in ssh on my box and I changed the password directly on the database :

    UPDATE playsms_tblUser SET password = 'My password with MD5 encryption' WHERE username = 'admin';

    But i still have the same problem.

    PS: I also changed the password from the phpmyadmin interface I reboot the services after the change

    Thank you for your help.

    opened by khalidbounoun 0
  • Big queues, etc. can break if requests don't finish loading.

    Big queues, etc. can break if requests don't finish loading.

    I couldn't find any instance of the ignore_user_abort PHP function when grepping the code. To me, that signifies a user must wait until every page loads and every request fully completes (which can be a long time for big sends with a small machine), and they can never get a network interruption nor a power failure, otherwise PlaySMS will simply crash and be left in an inconsistent state (e.g. a stuck queue). For read operations it doesn't matter but write operations should complete unless the user sends a "stop doing that" request to the app. I can see why one would want to be able to cancel a send, but surely that should be done explicitly rather than closing a browser tab and hoping for the best.

    Sends could be cancelled by deleting the relevant outbox records and .txt files, then changing the queue's flag field. It's a simple thing to add but then creates challenges if you want to allow control of, or present status information on currently processing requests.

    This isn't just theoretical, we've had large sends (as in tens of thousands of messages) fail because of this. I've had to manually clean up the database after.

    opened by Roy-Orbison 0
Nexmo REST API client for PHP. API support for SMS, Voice, Text-to-Speech, Numbers, Verify (2FA) and more.

Client Library for PHP Support Notice This library and it's associated packages, nexmo/client and nexmo/client-core have transitioned into a "Maintena

Nexmo 75 Sep 23, 2022
A simple Object Oriented PHP Client for Termii SMS API

Termii Client A simple Object Oriented PHP Client for Termii SMS API. Uses Termii API. Requirements PHP >= 7.2 Guzzlehttp ~6|~7 Installation Via Compo

Ilesanmi Olawale Adedotun 5 Feb 24, 2022
oursms.app client library that allows you to send SMS

Oursms laravel client https://oursms.app client library that allows you to send SMS Installation Install oursms client with composer composer requir

Khalid Mohammad 11 Aug 27, 2022
یک پکیج لاراول برای ارسال ، دریافت و... پیامک (SMS)

پکیج لاراول SMS با استفاده از این پکیج می توانید به پنل خود در وب سایت sms.ir متصل شوید و یک سیستم ارسال و دریافت SMS ایرانی در لاراول داشته باشید. به

Ali Zeinodin 15 Nov 30, 2022
Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

Xendit 96 Jan 6, 2023
laravel wrapper for dicom images services

laravel wrapper for dicom images services

Laravel Iran Community 4 Jan 18, 2022
Google PHP API Client Services

Google PHP API Client Services

Google APIs 1.1k Dec 22, 2022
AsyncAws Core - shared classes between all AWS services. It also contains the STS client to handle authentication.

AsyncAws Core The repository contains shared classes between all AWS services. It also contains the STS client to handle authentication. Install compo

Async AWS 54 Dec 14, 2022
The Smart-ID PHP client can be used for easy integration of the Smart-ID solution to information systems or e-services

Smart-ID PHP client Introduction The Smart-ID PHP client can be used for easy integration of the Smart-ID solution to information systems or e-service

SK ID Solutions 16 Oct 23, 2022
Simple wayback interface for archive.org.

Wayback machine API Simple wayback interface for archive.org. ?? Installation & Basic Usage To install the package call Composer and execute the follo

Baraja packages 3 Mar 12, 2022
The command line interface for the TransIP API

Tipctl TransIP Control (tipctl) is a tool that connects to the TransIP API from your terminal. It has all available resources implemented from the Tra

TransIP B.V. 14 Apr 3, 2022
Laravel Package for 1APP. Learn how to integrate our APIs to build a web or mobile integration to send and accept payments for your application and businesses.

1APP Laravel Library Learn how to integrate our APIs to build a web or mobile integration to accept payments, make payment of Bills and as well custom

O'Bounce Technologies 4 Jul 25, 2022
This library allows you to quickly and easily use the Twilio SendGrid Web API v3 via PHP

This library allows you to quickly and easily use the Twilio SendGrid Web API v3 via PHP

Twilio SendGrid 1.4k Dec 27, 2022
A PHP wrapper for Spotify's Web API.

Spotify Web API PHP This is a PHP wrapper for Spotify's Web API. It includes the following: Helper methods for all API endpoints: Information about ar

Jonathan Wilsson 796 Jan 8, 2023
Laravel 8.x package wrapper library for Metatrader 5 Web API

Laravel 8.x package wrapper library for Metatrader 5 Web API

Ali A. Dhillon 10 Nov 13, 2022
PHP Web Socket server

Important ⛔️ This project is no longer maintained ⛔️ We urge you to look for a replacement. Description WebSocket Server and Client library for PHP. W

Chris Tanaskoski 346 Nov 8, 2022
The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model.

DeviceDetector Code Status Description The Universal Device Detection library that parses User Agents and detects devices (desktop, tablet, mobile, tv

Matomo Analytics 2.4k Jan 9, 2023
Toxiproxy PHP Client - Toxiproxy makes it easy and trivial to test network conditions, for example low-bandwidth and high-latency situations

Toxiproxy makes it easy and trivial to test network conditions, for example low-bandwidth and high-latency situations. toxiproxy-php-client includes everything needed to get started with configuring Toxiproxy upstream connection and listen endpoints.

Adrian Parker 29 Jun 24, 2022