Keywords: Mode: All keywords (AND) |
Sun Aug 23, 2020 12:07
|
oufti: Any news about 3.1.23 ?
|
Sat Sep 09, 2017 07:46
|
oufti: Good news (regardless of the last sentence of course).
|
Fri Sep 01, 2017 04:29
|
oufti: Operating system name and version: Centos 7
Version of smsd: 3.1.15
Smsd installed from: package repository..
Name and model of a modem / phone: Huawei K3765
Interface: USB
Using options
phonecalls = clip
hangup_incoming_call = yes
the call is redirected to the voice mailbox.
is it possible to go off-hook for a few seconds, therefore accepting the call, and then terminate the call ?
|
Sat Dec 17, 2016 10:05
|
oufti: Hello All,
Have you ever received an empty SMS, that is with a header "Length: 0" ?
My mobile refuses to send an empty SMS, so I can't reproduce the problem.
Do you know mobile phones that can send empty SMSes ?
Is it a known symptom of a mobile phone failure ?
What say standard protocols about that ?
What are the operators policies ?
Thank you in advance for any info on the subject.
|
Sat Dec 17, 2016 09:30
|
oufti: I've successfully used Huawei dongles K3765, K3565-Z and K3565 Rev 2, the last one being my current "production" (1) device since more than one year.
(1) 500 out, 1000 in per month
|
Wed Jun 29, 2011 21:17
|
oufti: I got the RPM from a personal repository in the Suse factory. I suppose that the builder copied the nagios script and did not fully convert it to smstools.
|
Wed Jun 29, 2011 14:49
|
oufti: As you guessed it, pgrep smsd lists 4 pids, 2 pids for each instance.
I have no problem because my init script doesn't use pgrep. It use "killproc".
Here it is
#!/bin/sh
# This script can be used to start/stop smsd
# as a daemon in Linux, Solaris, Cygwin, FreeBSD
# and MAC OS X Terminal window (Darwin).
# This script is to be used with smsd version >= 3.0.3.
#
# /etc/init.d/smsd
# and its symbolic link
# /usr/sbin/rcsmsd
#
### BEGIN INIT INFO
# Provides: smsd
# Required-Start: $syslog $remote_fs
# Should-Start: $time smtp
# Required-Stop: $syslog $remote_fs
# Should-Stop: $time smtp
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Start/Stop smsd - a SMS Gateway software
# Description: Start smsd to send and receive short
# messages through GSM modems and mobile phones.
### END INIT INFO
DAEMON="/usr/sbin/smsd"
CONFFILE="/etc/sysconfig/smsd"
test -x $DAEMON || { echo "$DAEMON not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
test -r $CONFFILE || { echo "$CONFFILE not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
# Read config
. $CONFFILE
# If an unpriviledged user is selected, make sure that next two
# files are writable by that user:
PIDFILE="/var/run/smsd/smsd.pid"
INFOFILE="/var/run/smsd/smsd.working"
# Logfile can also be defined in here:
#LOGFILE="/var/log/smsd/smsd.log"
# A program which turns power off for couple of seconds:
RESETMODEMS=/usr/sbin/smsd_resetmodems
NAME=smsd
# Shell functions sourced from /etc/rc.status:
. /etc/rc.status
# Reset status of this service
rc_reset
ARGS="-p${PIDFILE} -i${INFOFILE} -u${SMSD_USER} -g${SMSD_GROUP} ${SMSD_ARGS}"
case "$1" in
start)
echo -n "Starting SMS Daemon: "
if checkproc $DAEMON ; then
echo -n "already running"
rc_failed 7
else
if [ -f "${INFOFILE}" ]; then
rm "${INFOFILE}"
fi
if [ -f "${PIDFILE}" ]; then
rm "${PIDFILE}"
fi
# Delete lock files if they exist
find /var/spool/sms -name '*.LOCK' -exec rm \{\} \;
$DAEMON $ARGS
fi
rc_status -v
;;
stop)
echo -n "Shutting down SMS Daemon: "
if checkproc $DAEMON ; then
/sbin/killproc -p "$PIDFILE" -TERM $DAEMON
if [ -e "$PIDFILE" ]; then
echo "Warning - SMS Daemon did not exit in a timely manner. Waiting..."
while [ -e "$PIDFILE" ] && [ $SMSD_MAXWAIT -qt 0 ] ; do
sleep 1
SMSD_MAXWAIT=$[SMSD_MAXWAIT-1]
echo -n '.'
[ $SMSD_MAXWAIT -eq 41 ] && echo
done
fi
if checkproc $DAEMON ; then
/sbin/killproc -p "$PIDFILE" -SIGKILL $DAEMON
echo -n "Warning: nagios killed"
fi
else
echo -n " SMS Daemon not running"
rc_failed 7
fi
# Remember status and be verbose
rc_status -v
;;
try-restart|condrestart)
## Do a restart only if the service was active before.
## Note: try-restart is now part of LSB (as of 1.9).
## RH has a similar command named condrestart.
if test "$1" = "condrestart"; then
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
fi
$0 status
if test $? = 0; then
$0 restart
else
rc_reset # Not running is not a failure.
fi
# Remember status and be quiet
rc_status
;;
restart|reload)
$0 stop
$0 start
# Remember status and be quiet
rc_status
;;
status)
echo -n "Checking for SMS Daemon "
/sbin/checkproc $DAEMON
rc_status -v
;;
probe)
test /etc/smsd.conf -nt "$PIDFILE" && echo reload
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|reload|probe}"
exit 1
;;
esac
rc_exit
On Redhat and derivatives, killproc is a function defined in a bourne shell script that is included in each init.d script.
On Suse, it is a binary executable located in /sbin.
If you want me to send you the Redhat script (~600 lines) or the Suse killproc man page (~200 lines), tell me how.
|
Wed Jun 29, 2011 10:57
|
oufti: What I did on my SUSE 11.2 :
create a hard link to /usr/sbin/smsd named smsd2
copy /etc/init.d/smsd to /etc/init.d/smsd2
change this script as follow :
23c23
< DAEMON="/usr/sbin/smsd"
---
> DAEMON="/usr/sbin/smsd2"
39,40c39,40
< PIDFILE="/var/run/smsd/smsd.pid"
< INFOFILE="/var/run/smsd/smsd.working"
---
> PIDFILE="/var/run/smsd/smsd2.pid"
> INFOFILE="/var/run/smsd/smsd2.working"
56c56
< ARGS="-p${PIDFILE} -i${INFOFILE} -u${SMSD_USER} -g${SMSD_GROUP} ${SMSD_ARGS}"
---
> ARGS="-c/etc/smsd2.conf -p${PIDFILE} -i${INFOFILE} -u${SMSD_USER} -g${SMSD_GROUP} ${SMSD_ARGS}"
No problem so far.
Thank you for your answer, it reassures me about my choice.
|
Tue Jun 28, 2011 12:43
|
oufti: Hi Keke,
My current setup is one GSM, an event handler, and several scripts reading and writing in 'incoming' and 'outgoing' directories.
Now, I want to add a second GSM, and run a completely separate copy of my application.
I thought it was just a matter of changing some paths in my scripts. Unfortunately 'incoming' and 'outgoing' are global options.
I've seen the 'queues' and 'provider' page, but it seems complicated (for me at least ;-) and it needs modifications in my code.
Instead of starting to learn how to use the queues, and change my code in production, I am considering a duplication of the whole service (daemon).
Thanks in advance for any advice, solution or pointer to documentation.
|
Sun Oct 18, 2009 13:06
|
oufti: Are you sure that there was part id, usually there is only message id available?
Not part id, only message id. I should have written "part message id".
If there is information about concatenation (number of parts and part number) available, internal combine can be done.
The SMSC doesn't give concatenation info in delivery reports. But you have the mapping part_number/message_id when the message is sent (the "messageids=3" feature). I know that, theoretically, this method can fail, due to message_id rollover. But the probability of a failure is very low if we keep the message_id/destination number information.
|
Sun Oct 18, 2009 11:50
|
oufti:
A delivery report from the SMSC does not include information about the parts and therefore it's not very straight forward to create a functionality like "internal_combine".
I only tried with one SMSC (Belgian Proximus) and I receive a delivery report for each part (with part ID).
So, IMHO, implementing internal_combine should be possible, if not straightforward. Of course if it works only with a few SMSCs, it's not worth the effort.
Also, some operators give only one report, even if there was more than one parts in the message.
Here again, I don't see a problem. But I can understand that such a feature is not of high priority on the developers list.
Anyway, I can solve my problem with the "messageids" feature.
Thank you.
|
Sat Oct 17, 2009 03:46
|
oufti: Version of smsd: 3.1.5
Hello Keke,
With my current config, when a multipart SMS is sent, the event handler script is called once.
But a delivery report event is generated for each part of the SMS.
Is it a way to change this behaviour, and receive only one delivery report ?
Something like "internal_combine" for outgoing messages.
TIA
|
Thu Aug 27, 2009 11:13
|
oufti: Thank you very much for your explanation.
It's clear for me now.
|
Thu Aug 27, 2009 10:47
|
oufti: Ok thank you for the information.
I suppose it has nothing to do with message_id's, but could you tell me what is the "message reference" in the release note below ?
20.02.2007 3.0.5
.....
3. Internal combine can now handle 16-bit message reference numbers too.
....
|
Thu Aug 27, 2009 08:57
|
oufti: Hello,
With my current setup, message_id's are 8-bit values.
Does this limitation/feature come from
- the SMSC ?
- the GSM ?
- SMSTools ?
|
Mon Aug 10, 2009 22:02
|
oufti:
However, I do not yet publish a new version, because this problem is not very usual and workaround can be used. Standard messages (using GSM character set) work correctly with €.
I have no problem of course with the current version, as I have found a workaround.
So for me, the issue is solved.
But I think it's in your interest to realize that the problem is no so uncommon.
In non-English languages, with the help of T9, users can easily insert characters not in the GSM character set.
Just my 0,02$, to help you keep up your good work.
|
Sat Aug 08, 2009 10:15
|
oufti: Using 3.1.5, under Fedora Linux.
With options "incoming_utf8 = true" and "decode_unicode_text = yes"
The euro sign appears as '¬' ( & #172; ).
I didn't look at the source, because a simple "$Text =~ s/\302\254/\342\202\254/g;" in my script solved the problem.
|