SMS Server Tools 3
 Menu
Basic information:
Additional information:
Support:
Get SMS Server Tools 3:
Additional Options

 Sponsored links

 Search
Custom Search

 Visitor locations
 
 SMS Server Tools 3 Community
Welcome, Guest. The forum is currently read-only, but will open soon. Tue Jul 01, 2025 08:22
SMSTools3 Community » Search Bottom

Page:  1

Keywords:
Mode: All keywords (AND)
oufti: Any news about 3.1.23 ?
oufti: Good news (regardless of the last sentence of course).
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 ?
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.
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
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.
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.
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.
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.
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.
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.
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
oufti: Thank you very much for your explanation. It's clear for me now.
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. ....
oufti: Hello, With my current setup, message_id's are 8-bit values. Does this limitation/feature come from - the SMSC ? - the GSM ? - SMSTools ?
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.
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.

Page:  1

SMSTools3 Community » Search Top

 
Time in this board is UTC.  

Privacy Policy   SMS Server Tools 3 Copyright © Keijo Kasvi.