SMS Server Tools 3
This site is hosted by Kekekasvi.com
 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. Please login or register. Thu Mar 28, 2024 22:41
SMSTools3 Community » Feature requests Bottom

[changed in 3.1.5] Confirmation Phone Calls

  This topic is locked

Page:  1

Author Post
Member
Registered:
May 2009
Location: Italy
Hi,
first of all thanks for your great job.
Second, please sorry about my english.

Let's start.....I'm using SMSd for Home Automation purpose. I installed it on a Alix Board with Debian/Voyage as OS. It works fine and through a PLC board i can control my devices by a SMS.
What miss in SMSd is the ability to placa a "CONFIRMATION" call.
I'll try to explain. When i send an SMS to turn on my Air Conditioner from my mobile, i configured SMSd to send me back confirmation Message. The Phone Operator Charge me for this SMS. A great thing can be the ability to place a call 10/15 second long and then Hang-up. This can replace the confirmation SMS with no charge of traffic on my SIM card.
I just do it, with Gnokii but sometime Gnokii hang the phone and smsd stop to work.
For example SMSd could accept a "special message" into inbox with the number to call and the duration, SMSd will palce the call and then hangup after the second specify into message.

Another thing is Blacklist.
As i understood Blacklist and Whitelist are only for outbound SMS. For home automation purpose should be great to have also an Inbound Whitelist. I this way I can permit to Enable/Disable devices only to authorized number.

Let me know if my idea are good, and if you intend to implement it in future release.

Bye
Marco

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
marcolino7 wrote
For example SMSd could accept a "special message" into inbox with the number to call and the duration, SMSd will palce the call and then hangup after the second specify into message.

Take a look at the SMS file format, there is Voicecall: yes message type explained. I think this fits your purposes if your modem supports it. There has been some compatibility issues with some devices, but for example good old Nokia 6210 works very well. You just need to test this with your device. Calling usually works but some devices cannot detect answering, or cannot play tones. There is also hangup option available, for example 15 seconds with this kind of message file:

To: 358401234567
Voicecall: yes

TONE: TIME: 15 2 #


marcolino7 wrote
For home automation purpose should be great to have also an Inbound Whitelist. I this way I can permit to Enable/Disable devices only to authorized number.

Inbound authority checking should be done inside the eventhandler. Smsd setup itself cannot handle inbound whitelist because it does not know what all kind of operations eventhandler is doing.

A little example of authorizing:

#!/bin/bash

FROM=`formail -zx From: < $2 | sed 's/"//g'`
TEXT=`formail -I "" <$2 | sed -e"1d"`

if [ "$1" = "RECEIVED" ]; then

  # List must start and end with space:
  ALLOWED_NUMBERS=" 358401234567 358401234568 "

  key=" $FROM "
  if [[ $ALLOWED_NUMBERS == *$key* ]]; then
    /usr/local/bin/start_stop_air_conditioner "$TEXT"
  fi

fi
 
'bash' Syntax Highlight powered by GeSHi


Do you think this kind of script can be used for your purposes?

Member
Registered:
May 2009
Location: Italy
Topic owner
Hi,
i'm testing the dialvoice option and work. The only thing is that SMSd don't wait the time out.
Here is the log:


Seems that SMSd don't wait for 25 seconds and try immediatly to send dtmf. The call will arrive but is too short and destination phone does not start to ring, but i only got a missed call into display.

Can you help me?

Thanks

Member
Registered:
May 2009
Location: Italy
Topic owner
Here another test.
Seems that SMSd wait only 3 seconds before sending DTMF and not 25 second as set.



Member
Registered:
May 2009
Location: Italy
Topic owner
Last Think,
seem also that SMSd don't try to send DTMF all times as set in sms. In this case i set to send 3 times the dtmf 1, but SMSd try only 2 times:




« Last edit by keke on Mon May 11, 2009 11:05, 181 months ago. »
Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
What is the smsd version you are using?

I just tried with 3.1.5beta7 and it did wait 15, 25 and 30 seconds, like:



...and the code looks good, it should not be rushed ;)

Member
Registered:
May 2009
Location: Italy
Topic owner
Hi,
I'm using version 3.1.3.
This afternoon I'm trying to download 3.1.5 beta 7. Is stable this Beta?
PS if needed phone is nokia 6310i with dlr-3p cable

Thanks

Member
Registered:
May 2009
Location: Italy
Topic owner
Hi,
tryed with 3.1.5 beta 7
and result is the same:



Thanks

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
I think it's stable, I'm using it on production. In a few week I will release the 3.1.5.

This issue is strange. The code has not changed, but in your system something breaks delay loop. However, it looks like modem did not give an answer which causes the break.

Can you edit smsd.c file, locate the following:



and change:



After this, break is not done and modem is checked once per second only.

Member
Registered:
May 2009
Location: Italy
Topic owner
Hi,
great JOB!!!! it works.
I tryed to check code by myself, but i'm not C programmer, i'm a VB.net programmer.
Now work,
in this case do you plan to add a parameter or i need to edit code for each new release?

Tahnsk for your help.
Regards

Marco

Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
I just (too late) noticed that read_from_modem() does not write anything to the log, this is why the reason for breaking was not seen...

To see what your modem actually answers, can you make one test more with the following code block:



In the next release I will include some setting for this delay, is it breakable or not. You do not have to edit each new release.

Member
Registered:
May 2009
Location: Italy
Topic owner
This what happen with this last modification:



Administrator
Registered:
May 2009
Location: Jyväskylä, Finland
Ok, it answers too fast and wrongly, because call was not yet answered. This means that device can be used for ringing purposes, but not for sending DTMF tones. However usually this is enough, and it cost's nothing.

I add voicecall_ignore_modem_response = yes to the next version.

Thank you for testing and information.

Member
Registered:
May 2009
Location: Italy
Topic owner
Hi,
this behaviour fit with my need. My scope is save money, so I'm not intrested to answer and Hear DTMF.
Many thank for your help. As soon Beta9 is out I'll try this new parameter.

If you need more debug info from my phone, let me know.

Bye

Member
Registered:
May 2009
Location: Italy
Topic owner
3.1.5 Beta9 is running on my device.
New parameter still works fine.

Thanks

Member
Registered:
Jul 2009
Location: Austria
Hey!

Just wanted to say, that this is a create idea!

Working fine with smsd 3.1.3 and an Nokia 6210.

Thanks for posting this!

  This topic is locked

Page:  1

SMSTools3 Community » Feature requests Top

 
Time in this board is UTC.  

Privacy Policy   SMS Server Tools 3 Copyright © Keijo Kasvi.