SMS to generate a phone call

Hi, any body knows if is possible to generate phone calls using the content of an sms messages in asterisk.
this is my scenario, i need to receive a sms message in asterisk, then i have to use the info that comes within the sms (sms text = telephone number 1 and telephone number 2)
after i have both numbers, i have to call both numbers and connect them so they can speak.

I have this idea, i read that asterisk can receive sms messages using special usb modem or phones (I don’t know which hardware yet).
then i have to make the first call and send it to a conference room and the same with the second phone call.

i don’t know if this is possible, from beginning to end. thanks in advance for your help.

all information is welcome. THANKS from Honduras

Short answer: yes it is possible.

Long answer: You can do it for small volumes of SMS traffic by peering up an SMS capable phone to Asterisk over bluetooth using the chan_mobile addon. It seems, though, that the method you speak about originally (over a serial connection) isn’t in active development any more.

Larger volumes would require either an external GSM->VOIP gateway that supports SMS or by throwing a GSM PCI card into your Asterisk box and going from there.

Whichever way you go, you can take in the SMS message and use the contents to general a .call spool file you can hand to asterisk which will call the two numbers and put them into a conference.

Thank you very much for your quick answer, i have a DINSTAR DWG2004 GSM Gateway, i intend to use it to make the phone calls, but i don’t understand the part where you wrote that i should use an GSM gateway to receive the sms message, the DINSTAR gsm gateway has sms functionality through an APP developed in visual c++, i tried it and works ok. so here it is one of the big questions.

can i use that kind of hardware (GSM Gateway) to receive the sms messages on asterisk? (the one i have or other? cause i ask to dinstar support and they dindt mail me back)
what do you mean by
"you can take in the SMS message and use the contents to general a .call spool file you can hand to asterisk which will call the two numbers and put them into a conference."

i forgot to write, I’m a newbie at this, but I’m doing my best.

If you want actual GSM hardware in the Asterisk box, you can use a PCI GSM card like this one: … ucts_id=50

There are applications in Asterisk that will receive the SMS message and then you can use those apps to run scripts to generate auto dial out files (see below).

But since you say your DINSTAR gateway can receive SMS messages through a VC++ API, you can use that as well. The call files I spoke about are simple text files that, once placed in the proper directory on your Asterisk server, will cause Asterisk to dial out based on the contents of the file.

See here for an explanation: … o-dial+out

So, you can have your DINSTAR unit receive the SMS message via VC++, parse out that message using whatever programming language you’re comfortable with, and then use what you’ve parsed there to generate the auto dial out .call file as specified above.

Hope this helps and doesn’t confuse you worse.

besides if you know a bit of AMI then you can do whatever you want with sms gateway. As long as you can do sms handling part you’re all set on the asterisk side.

for your information you can use playSMS module with asterisk. it’s another open source software which is highly applicable with asterisk PBX. check this for more info:

Thank you very much for your help, i wasn’t able to work on this 'til now, but now that I’m back I’ll start working on this, Thank you very much for your help. Thank You

Hi to you all, I’m glad to tell you that I’ve already make the call from a .call file, now i have some issues that i need to solve.

First I’ve used the following lines of code to generate the phone call and pass it correctly to another phone. but i need to control how much time the call is going to last. Please Help me out.

Channel: SIP/port1/199990002
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Archive: Yes
Context: from-internal
Extension: 296991020
Priority: 1
for example. i need to be able to control that the call wont be more than 60 seconds long.
and i need to know the duration of the call.

Thank you in advance. Thanks from Honduras

you can find the duration of call in CDR tables .
you can control your call by sending the call to an extension ( for example 296991020 ) then run an AGI script that can limit call length,etc

also you can try to use
Set(TIMEOUT(absolute)=time_sec) into your dial plan.

Good luck!