GSM and Asterisk Integration?
MistabewM asks: "Would it be possible to place a GSM transceiver within you home that can be tied into Asterisk in a way that would allow you to place calls from your GSM phone across your VOIP connection or though your local landline? An analogous system is being introduced on airplanes that will allow passengers to use their GSM phones in flight. I feel this would be a fantastic hack and could even be scaled up to provide large areas of free GSM service."
, the search term 'GSM Picocell' turns up these guys who appear to sell a GSM-to-IP product exactly like that.
-EvilMagnus
But you're looking at some serious changes to your wireless hub. If you are asking, I doubt you'd be able to do it.
That's not meant as a slight, but just the truth. It's a very difficult thing to set this up. It requires more than just running some daemon. It also requires authenticated sessions on the servers. If you aren't Ericsson, you aren't getting into the network.
That isn't to say that you couldn't implement this yourself. Skype, for example, doesn't run across the traditional long distance network, but it provides long distance phone service over the Internet. If you are willing to dive headlong into a long and arduous development plan, sure, you could implement this.
Don't hold it against me that I'm not holding my breath for this, though.
Jesus saved me from my past. He can save you as well.
Ok, the equipment:
One microcell, coming right up.
Ok, simple omnidirectional antenna.
Then you need the base station that drives that antenna.
Then you need the base station controller that drives the base station.
Then you need MSC (mobile switching center...) that actually gets the calls from the base station and forwards it accordingly to an SS7 network.
Then you need to set up Asterisk to talk to that SS7 network and grab your phone calls.
And all the rest of the components that I have forgotten.. In effect, you need to become a full-blown telco, albeit with only one base station.
All the equipment can be bought from Nokia, Ericcson or other mobile network vendors. Price range is not for home users.
Then, you need to get a license to operate that basestation. 900/1800/1900MHz is a licensed band. This *might* be quite easy if the location is just a single cell.
Anyway, then you need to apply for Mobile Network Identifiers (MCC + the rest) to distinguish yourself as a GSM operator, so when you search for networks with your GSM phone, you'll see your own network as one.
Then you need to get a SIM Card to use with your phone that has access to your network. (Or, you may be able to set it to "open for all" mode).
(Of course, if the question was simply if you can reaac GSM network via Voip and want to set up the gateway your own home, then that's easy, just plug a phone or wireless modem to your Linux box....but I was under the impression that this meant the ability to use your GSM phone as a "cordless phone".)
With landline this is of course easy, all you need is a modem waiting for calls..
Sparkfun.com sells an OEM GSM module kit for $229 which contains antenna, module, PCB, camera, and USB interface. This OEM module, a Telit GM862, has full GSM and GRPS functionality, including audio and camera phone functions. You could easily adapt it to an astrisk system.
I purchased one of these kits a while back, and you have enough functionality to create your own home-brew cellular phone.
The parts of my extensions conf that you need to know are:
/var/spool/asterisk/outgoing/callme.call
exten => 123,1,Answer
exten => 123,2,System(/etc/asterisk/callme)
exten => 123,3,Hangup
The 'callme' file is a bash script that looks alittle something like this:
#!/bin/bash
sleep 4
umask 000
(
echo "Channel: IAX2/loginname:password@provider/8885555555"
echo "Callerid: Magic"
echo "MaxRetries:1"
echo "RetryTime: 10"
echo "WaitTime: 30"
echo "Context: internal"
echo "Extension: 444" ; the extension of the IVR
echo "Priority: 1"
) >
That will wait for 4 seconds before calling the mobile so that you have a chance to hang up after you press '123' after calling in.
In my example, you use an IVR with the number '444' which forwards to the IVR 'callme-menu' presented as soon as you pick up your cell, here's the part from my extensions for that:
[callme-menu]
exten => s,1,Answer ; Answer the line
exten => s,2,DigitTimeout,5 ; Set Digit Timeout to 5 sec
exten => s,3,ResponseTimeout,7 ; Set response timeout to 7 sec
exten => s,4,Wait(2) ; Wait two seconds to make sure speaker is at ear
exten => s,5,Background(what-are-you-wearing) ; Greeting call
exten => _9X.,1,SetCallerID(JESSE)
exten => _9X.,2,Background(pls-wait-connect-call)
exten => _9X.,3,Goto(outbound,${EXTEN:1},1)
exten => _9X.,4,Congestion
I hope this helps you. I think I'll put it on the wiki this weekend so more people can screw the system.
=)
-Jesse