News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

How does SipSorcery work with GV

Started by simpleAnswers, February 21, 2014, 05:27:26 PM

Previous topic - Next topic

simpleAnswers

Ok, I have heard Sipsorcery suggested as the fix for the GV XMPP shutdown. Like some users here I am fairly new to the SIP protocol and it took me a while to try to figure out why I would be paying them 70$ a year.

Here is what I understand about it so far and I might need some blanks filled in

To Use GV on Sipsorcery I must have a voip service that gives me a DID.
Then all I am really doing with sipsorcery is to initiate calls that don't spoof CallerID but rather connects to GV and actually initiates the call using the websites callback feature. Is this correct?

So for an outbound call, Sipsorcery takes the dialed number, then it goes to google voice and sets up a callback using my voip DID. GV then calls the DID number and connects to the dialed number. Which means I don't pay for outgoing calls as they are routed through GV and only cost is receiving calls on my incoming DID (if receiving isn't free)

For incoming calls, GV forwards to the DID without a need for a callback.

Isn't the above is actually how the Obi works with GV for outgoing calls except my understanding is the Obi uses XMPP with Google chat but apparently sipsorcery doesnt initiate callbacks via XMPP.


Can anyone chime in and let me know if the above is correct

So at the very least if I had say; a CallCentric DID, would that be all I needed to keep using GV post XMPP if I had SipSorcery?

giqcass

#1
Any DID will work, Callcentric is what I'm using.
As a long time Sipsorcery user I can say you understand the basics of Sipsorcery.  The Obi does things nearly the same as Sipsorcery but with different protocols.  You won't notice a difference in incoming calls whatsoever.  If you pay close attention you will notice about one extra ring before the outbound calls actually ring the destination phone.  The fact is Sipsorcery can do much more if you decide to dig in.  One feature Sipsorcery has that you may like is the ability to pull Contacts from your Google Voice account and show the name of the person Calling as incoming CNAM.  Sipsorcery will also support 3 simultaneous calls.  Technically you could have unlimited Google Voice accounts connected but only 3 can be actively used simultaneously.  You can have as many ATA devices connected to Sipsorcery as you like,  Further you can have as many service providers connected to Sipsorcery as you like.  

Sipsorcery has made Google Voice much simpler to set up then it was when I joined.




Long live our new ObiLords!

simpleAnswers

#2
Quote from: giqcass on February 22, 2014, 12:39:55 AM
Any DID will work, Callcentric is what I'm using.
Thanks for the clarification. As you might have guessed, although I have a workable solution for the XMPP shutdown via a spoofing callee.

I'm still open to a permanent solution to the GV switch that would fully use GV for both incoming and also outgoing with no spoofing. SipSorcery seems to essentially do that via logging into the website and initiating a callback.

My question is now from the looks of it, is all you need just a DID that receives calls. SipSorcery either callbacks to the DID for outgoing or GV calls the DID and you answer. No calls are actually dialed via the DID, correct?

Second Question, will any of the free DID's that don't charge to receive work e.g IPComms, Callcentric free DID or do you need a paid DID to get it to work?

Third Question: Have you ever tried running your own SipSorcery as the code is Opensource.

Million dollar question: Anyone know if the callback feature will even work post May 15th. Ain't like Google has promised to keep it as is, and this is entirely what SipSorcery is banking on to work to use GV

Thanks

corporate_gadfly

I have a VPS running debian. I think I will try running Asterisk on it to see if I can initiate the GV callback feature from Asterisk (using something like pygooglevoice). (I already have the VPS for other reasons).

I guess April will be a busy month for experimentation.

giqcass

#4
Quote from: simpleAnswers on February 23, 2014, 12:30:40 PM
My question is now from the looks of it, is all you need just a DID that receives calls. SipSorcery either callbacks to the DID for outgoing or GV calls the DID and you answer. No calls are actually dialed via the DID, correct?
A)The DID is needed for inbound only!  From the perspective of the user it appears to be a normal phone call. You don't have to dial any extra numbers.  You don't have to hang up and wait for the callback.  Sipsorcery sneakilly bridges your outbound call with Googles inbound call.  You might notice a difference in the sound of the ring when the two calls are bridged if you pay close attention.

Quote from: simpleAnswers on February 23, 2014, 12:30:40 PM
Second Question, will any of the free DID's that don't charge to receive work e.g IPComms, Callcentric free DID or do you need a paid DID to get it to work?
A) I have personally used Ipkall and Callcentric free DIDs.  I see no reason why IPComms would not work as well.

Quote from: simpleAnswers on February 23, 2014, 12:30:40 PM
Third Question: Have you ever tried running your own SipSorcery as the code is Opensource.
A) Not personally.  I am considering running Asterisk on a Raspberry PI or Beaglebone black.

Quote from: simpleAnswers on February 23, 2014, 12:30:40 PM
Million dollar question: Anyone know if the callback feature will even work post May 15th. Ain't like Google has promised to keep it as is, and this is entirely what SipSorcery is banking on to work to use GV.
A) SipSorcery worked before the Obi came out with GV and it still works today.  The technique Sipsorcery uses is to log in to your account and place the call.  As long as you can log in to your account and place a call they should be able to also.  If GV changes the web page or the way they do authentication it may take time for Sipsorcery to catch up. Things break occasionally but they have always fixed it in the past.  That is no guarantee of the future.  Either way it should not have an effect on inbound calling.  I personally set my Callcentric did to bypass Sipsorcery for inbound calls for added reliability.
Long live our new ObiLords!

corporate_gadfly

Quote from: corporate_gadfly on February 23, 2014, 02:47:57 PM
I have a VPS running debian. I think I will try running Asterisk on it to see if I can initiate the GV callback feature from Asterisk (using something like pygooglevoice). (I already have the VPS for other reasons).

I guess April will be a busy month for experimentation.
For anyone on the fence for running asterisk (using Google Voice callback mechanism - no XMPP), I can confirm that the solution works. I am a relative newbie to VOIP and absolute newbie to asterisk and I was able to accomplish this on a VPS with some trial and experimentation.

You could accomplish something similar using a Raspberry Pi. Aside from the cost of the VPS (or Raspberry Pi), the solution is free (assuming Google does not change the callback mechanism after May 15, 2014).

The end user experience is a slightly longer duration for ringing tone while asterisk does the "call bridging" behind the scenes.

Basically asterisk uses pygooglevoice to initiate a callback call. When the call completes from Google, asterisk bridges the 2 calls together.

I did have one slight hiccup with using pygooglevoice, as Google security automatically alerted me to access from the VPS which was a different IP address from my home ISP. Therefore, Google automatically prevented the login. I think a combination of marking it as "it was me" and https://accounts.google.com/b/0/DisplayUnlockCaptcha allowed me to go through. So, watch out for that, if your asterisk IP address is located somewhere else.

simpleAnswers

Quote from: corporate_gadfly on April 06, 2014, 01:56:51 PM
For anyone on the fence for running asterisk (using Google Voice callback mechanism - no XMPP), I can confirm that the solution works. I am a relative newbie to VOIP and absolute newbie to asterisk and I was able to accomplish this on a VPS with some trial and experimentation.

I'd be very interested to know how you achieved your solution as I would like to replicate it.
I'm pretty much in the same boat, I have never used asterisks before and don't know how to go about setting up a solution like you mentioned. However I see it as the best solution as its still all through GV instead of spoofing. If you have any pointers on how to go about doing this, it would be very much appreciated.

giqcass

#7
Quote from: simpleAnswers on April 08, 2014, 11:39:07 PM
I'd be very interested to know how you achieved your solution as I would like to replicate it.
I'm pretty much in the same boat, I have never used asterisks before and don't know how to go about setting up a solution like you mentioned. However I see it as the best solution as its still all through GV instead of spoofing. If you have any pointers on how to go about doing this, it would be very much appreciated.
I'm an Asterisk newbie myself.  I have shopped around and looked at the various possibilities. A good place to start is just deciding where you want to run Asterisk.  I have purchased this kit to run it at home.  Some people run it on their router. corporate_gadfly seems to have hosted his in the cloud.  You may even want to simply test it by running it on your primary computer.  If you want to go that route let us know what operating system you are using so we might make recommendations.  

Since you are thinking about taking this step another option is to run your own Sipsorcery server.  I personally prefer Asterisk with the little experience I have.
Long live our new ObiLords!

corporate_gadfly

#8
Quote from: simpleAnswers on April 08, 2014, 11:39:07 PM
I'd be very interested to know how you achieved your solution as I would like to replicate it.
I'm pretty much in the same boat, I have never used asterisks before and don't know how to go about setting up a solution like you mentioned. However I see it as the best solution as its still all through GV instead of spoofing. If you have any pointers on how to go about doing this, it would be very much appreciated.
I mainly followed the instructions from twinclouds. At first, I tried to install all the relevant software on my Mac OSX laptop. Pygooglevoice was able to initiate callback calls successfully, but asterisk did not behave properly on OSX. Even though it said calls were bridging, they never did (silence from one side).

In the end, it was easier to just stick to Linux. If you have an always on NAS or Raspberry Pi, you could accomplish the same solution on those platforms.

  • My source for pygooglevoice was this.
  • I am using IPcomms for my free DID
  • I am running Debian 7.0 (wheezy) on my VPS
  • # python --version
    Python 2.7.3
  • # asterisk -V
    Asterisk 1.8.13.1~dfsg1-3+deb7u3
Do let me know if you have specific questions (although I am not getting reply notifications from the forum, at the moment).

corporate_gadfly

Quote from: giqcass on April 09, 2014, 05:47:10 AM
Since you are thinking about taking this step another option is to run your own Sipsorcery server
Isn't SIPSorcery written in C#, IronPython and IronRuby? So, that leaves Windows (or perhaps Mono) as the only deployment platform.

giqcass

Quote from: corporate_gadfly on April 09, 2014, 06:52:01 AM
Quote from: giqcass on April 09, 2014, 05:47:10 AM
Since you are thinking about taking this step another option is to run your own Sipsorcery server
Isn't SIPSorcery written in C#, IronPython and IronRuby? So, that leaves Windows (or perhaps Mono) as the only deployment platform.

I'm not sure on all the specifics.  I never looked that seriously into running my own Sipsorcery server because Asterisk has a larger community and an incredible list of possible hardware.  I have even heard Asterisk will run on the $19 pogo plug.  I just wanted to make sure it was pointed out Sipsorcery can be run on a private server as well.

May I ask who you use for your VPS?
Long live our new ObiLords!

corporate_gadfly

Quote from: giqcass on April 09, 2014, 07:10:18 AM
May I ask who you use for your VPS?
I have buyvm's 128M OpenVZ (1 core) hosted in New Jersey ($15/year). Unfortunately it is out of stock at the moment and sells out very quickly.

giqcass

#12
Quote from: corporate_gadfly on April 09, 2014, 09:38:24 AM
Quote from: giqcass on April 09, 2014, 07:10:18 AM
May I ask who you use for your VPS?
I have buyvm's 128M OpenVZ (1 core) hosted in New Jersey ($15/year). Unfortunately it is out of stock at the moment and sells out very quickly.
That is a good price.  I use Google App engine for most of my cloud applications but they have many features locked down.  This is just the kind of service I was looking for.  I can do some pretty cool things with it.  I'm also thinking I might be able to run siptosis on one of their inexpensive Windows servers.  I'm going to spend some time figuring out the system specs I need and then I'll decide what package to use.  Thank you very much for the link!
Long live our new ObiLords!

simpleAnswers

Quote from: giqcass on April 09, 2014, 05:47:10 AM
I'm an Asterisk newbie myself.  I have shopped around and looked at the various possibilities. A good place to start is just deciding where you want to run Asterisk.  I have purchased this kit to run it at home.  
If you want to go that route let us know what operating system you are using so we might make recommendations.  

Since you are thinking about taking this step another option is to run your own Sipsorcery server.  I personally prefer Asterisk with the little experience I have.

Thanks a lot guys. I'm pretty much looking for the shortest pain path. I can use the Pi or the hosted VM (which has pretty good pricing and services btw).

It is true, I'd considered running SipSorcery locally, but there was a lack of writeups and howtos available. It just appeared to be too much of a learning curve. I liked the Asterix callback idea because I've been looking at it as a solution for a while but never knew how to get into it, since I didn't know which one would be best. And that's what Sipsorcery would do also.

I even was looking at purchasing that same Canakit Pi Kit yesterday after some research, but like you said, I also thought I could run local VM to play with.

So here is checklist / thoughts on how I would do this. Please feel free to correct any missing steps


  • Setup DID (I did this already with Calcentric, so CHECK).
  • Configure DID on GV. CHECK
  • Select a Pi, VM or PC (I was going to testrun with a VM but could also use Pi
  • Install Debian Wheezy
  • Install Asterix (this is shown in your instructions)
  • Intall and configure pygooglevoice (again shown in the instructions)

Quote from: corporate_gadfly on April 09, 2014, 06:40:46 AM
I mainly followed the instructions from twinclouds.
Do let me know if you have specific questions (although I am not getting reply notifications from the forum, at the moment).
I think the page you pointed to is a great resource, It appears that there is a large Asterix community and writeups than for Sipsorcery.

The VPS appear to be available to buy, however my question was if I was just trying to test out, I guess I will still need to have it setup with my domain info correct?

Finally, are there latency issues I should be concerned about with regards to where Asterix is hosted?

giqcass

#14
If you host at home you will have the smallest latency however depending on a large number of factors the latency might not be noticeable even with cloud hosting. It mostly depends on the locations of
You
The asterisk server
Your did provider.
I have had reasonable latency when connecting from Michigan through France to Hungary.  Your mileage may vary.
Long live our new ObiLords!

corporate_gadfly

#15
Quote from: giqcass on April 09, 2014, 06:49:06 PM
Thank you very much for the link!
You're welcome. Glad I could help. I have gained a lot from these forums over the last few months. It's time to pay back a little.

Both NJ and LV are in stock at the moment.

KAura

Quote from: simpleAnswers on April 10, 2014, 01:13:08 AM
I guess I will still need to have it setup with my domain info correct?

not sure, but probably NO (unless your ip is shared)
if you have a dedicated ip, then using your ip
xxx.xxx.xxx.xxx is all that should be necessary,

and you will avoid the latency from using a dns server.


If you are using a shared ip, far as I know you will have
to use a domain name, although you might be able to
get around it using different ports (possibly).

corporate_gadfly

Quote from: simpleAnswers on April 10, 2014, 01:13:08 AM
The VPS appear to be available to buy, however my question was if I was just trying to test out, I guess I will still need to have it setup with my domain info correct?

Finally, are there latency issues I should be concerned about with regards to where Asterix is hosted?
Sorry, I missed your post.

So, no you don't need a domain. You can use a straight IP address.

Latency should not be a concern as long as you are not crossing continents. In general, as close as possible is better (so inside your home network is ideal). So, if you are on the west coast, it would not be advisable to get a host with their data center on the east coast.

If latency becomes an issue down the road, I will pop for a Raspberry Pi and stick it in my home network.

simpleAnswers

Quote from: corporate_gadfly on April 11, 2014, 12:43:33 PM
So, no you don't need a domain. You can use a straight IP address.
So I need to provide my IP address and 2 nameservers before I can purchase?

Another question which would seem silly but seriously I can't connect the dots in my head.
Question is how would I then use this configuration with the Obi?
I can understand receiving calls via my DID as my callcentric is configured as SP4 on my OBi202. So incoming calls to GV are forwarded to it and it rings on the OBi.

But How do I dial out with the OBi via this Asterix GV callback? Surely I have to configure the Asterix somehow on the OBi also. Unless you are using some other ATA device instead.


KAura

When you lease a vps, you are assigned an ip.