So let me start off by saying what seems to be working:
Sending and receiving from what I can tell.
I am running into a problem:
Under my users inbox a message displays as:
$0113184309250337,7001,2016/08/12,16:45:46,312,0.0,0.0,0.0,0,0,12,0.7,1,0,51,0.0,12.9,9,0,0.0,16,31,895##
but when you look at the same message in the all inbox it reads as:
$$270113184309250337,7001,2016/08/12,16:45:46,312,0.0,0.0,0.0,0,0,12,0.7,1,0,51,0.0,12.9,9,0,0.0,16,31,895##
So it seems that part of the message is being cut off no idea why. What should be displayed is:
$$270113184309250337,7001,2016/08/12,16:45:46,312,0.0,0.0,0.0,0,0,12,0.7,1,0,51,0.0,12.9,9,0,0.0,16,31,895##
Observation: Previously I was getting weird symbols in place of the dollar sign I had to set this in kannel to make it stop doing that: alt-charset=“UTF-8”
Here is all my configurations below:
kannel.conf
# CONFIGURATION FOR USING SMS KANNEL WITH Sprint
#
# For any modifications to this file, see Kannel User Guide
# If that does not help, see Kannel web page (http://www.kannel.org) and
# various online help and mailing list archives
include = "/etc/kannel/modems.conf"
#---------------------------------------------
# CORE
#
# There is only one core group and it sets all basic settings
# of the bearerbox (and system). You should take extra notes on
# configuration variables like 'store-file' (or 'store-dir'),
# 'admin-allow-ip' and 'access.log'
group = core
admin-port = 13000
smsbox-port = 13001
#admin-port-ssl = true
smsbox-port-ssl = false
admin-password = fdsgsdfgsdfgdsfg
status-password = sdfgsdfgsdfgsdfg
admin-deny-ip = "*.*.*.*"
admin-allow-ip = "localhost;127.0.0.1;xx.xx.xx.xx;xx.xx.xx.xx"
#box-deny-ip = "*.*.*.*"
box-allow-ip = "*.*.*.*"
log-file = "/var/log/kannel/bearerbox.log"
log-level = 0
#---------------------------------------------
# SMSC CONNECTIONS
#
# SMSC connections are created in bearerbox and they handle SMSC specific
# protocol and message relying. You need these to actually receive and send
# messages to handset, but can use GSM modems as virtual SMSCs
group = smsc
smsc = smpp
smsc-id = sprint
host = xx.xx.xx.xx
port = 9525
smsc-username = kjsdlkfj
smsc-password = asdfasd
keepalive = 600
transceiver-mode = true
system-type =
source-addr-ton = 0
source-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
log-file = "/var/log/kannel/sprint.log"
log-level = 0
#esm-class = 0
alt-charset="UTF-8"
#---------------------------------------------
# SMSBOX SETUP
#
# Smsbox(es) do higher-level SMS handling after they have been received from
# SMS centers by bearerbox, or before they are given to bearerbox for delivery
group = smsbox
bearerbox-host = 127.0.0.1
global-sender = xx.xx.xx.xx
sendsms-port = 13013
# sendsms-port-ssl was false
sendsms-port-ssl = false
sendsms-chars = "0123456789 +-"
log-file = "/var/log/kannel/smsbox.log"
log-level = 0
access-log = "/var/log/kannel/smsbox-access.log"
reply-couldnotfetch = "Posting SMS message to POST_URL. (err=couldnotfetch)"
reply-requestfailed = "Failed to post SMS message to POST_URL. (err=requestfailed)"
reply-couldnotrepresent = "Your message could not be processed at this time. Please try again later. (err=couldnotrepresent)"
http-request-retry = 5
http-queue-delay = 10
#mo-recode = true
# SEND-SMS USERS
#
# These users are used when Kannel smsbox sendsms interface is used to
# send PUSH sms messages, i.e. calling URL like
# http://kannel.machine:13013/cgi-bin/sendsms?username=tester&password=foobar...
# This is the username and password that users use to deliver SMSes to
# Kannel. It must also set the 'smsc' variable in the query string, so that
# Kannel knows which SMSC to use to route the message.
group = sendsms-user
username = ksakfjaklsjdf
password = sdakljflkjasdlfkja
#user-deny-ip = "*.*.*.*"
user-allow-ip = "*.*.*.*"
#dlr-mask = 31
#---------------------------------------------
# SERVICES
#
# These are 'responses' to sms PULL messages, i.e. messages arriving from
# handsets. The response is based on message content. Only one sms-service is
# applied, using the first one to match.
# The 'ping-kannel' service let's you check to see if Kannel is running,
# even if Sprint is offline for some reason.
group = sms-service
keyword = ping-kannel
text = "Kannel is online and responding to messages."
# There should be always a 'default' service. This service is used when no
# other 'sms-service' is applied. These relay incoming messages from any
# configured SMSCs to the appropriate HTTP backend URLs in Sprint.
# By setting 'accepted-smsc', we are assured that messages are routed to
# the appropriate backend in kannel.
group = sms-service
keyword = default
catch-all = yes
accepted-smsc = sprint
# don't send a reply here (it'll come through sendsms):
max-messages = 30
get-url = "http://52.XX.XX.XX/playsms/index.php?app=call&cat=gateway&plugin=kannel&access=geturl&t=%t&q=%q&a=%a&Q=%Q&smsc=%i"
System Configuration Stuff:
admin@ip-xxx-xxx-xxx-xxx ~ $ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
PHP.ini shows UTF8
I have playsms DB running in amazon on a separate RDS which is connected to playsms
MYSQL: show variables like ‘char%’;
result >
character_set_client: utf8
character_set_connection: utf8
character_set_database: utf8
character_set_filesystem: binary
character_set_results: utf8
character_set_server: latin1
character_set_system: utf8
character_sets_dir: /rdsdbbin/mysql-5.6.19a.R1/share/charsets/
Sorry for the mega post, thanks.