I have an interesting (cum challenging) assignment.
A client has asked me to Host call conferencing from a mobile phone. He has provided me complete freedom to choose any Mobile Device & any programming platform available on this planet to accomplish his task.
Basically what he needs is the ability to Host conference call from a mobile device for upto 40 simultaneous participants (I know it sounds insane for a mobile device, but do I have any choice if his requirements clearly spell out this number).
So, basically the client wants to create a group of upto say 40 participants, and whenever he dials the group, all participants are automatically & simultaneously added to the conference by dialing all their numbers automatically. Also, if his cell receives a call, and he does not pick it up for some reason, the incoming call again should be conferenced to the group.
All the participant lines should be working, and disconnected automatically when the parent line disconnects.
Firstly, I am not sure whether any mobile device on this Mortal Earth supports such conferencing this day. Secondly, if anyone does, most probably, I would need to use the native API for developing an application for it in my opinion.
I am asking this question at all major Hardware/Software manufacturers. Is there any such mobile device available that can handle a simultaneous number of such participants? (Remember, the mobile device would be Hosting the conference, not a participant of it). 5-6 way conferencing can be supported on any Nokia smartphone. I read somewhere BlackBerry can support many, but the exact upper ceiling was not mentioned?
Related to HTC, is there a HTC device that can support this requirement? If yes, does HTC API provides features to accomplish this task?? Also, what would be the most appropriate Software platform to code such an application in, JME, Native (in C/C++) or anything else??
Well, apart from the device, you'd seek if any operator support a conference call with 40 participants.
40 concurrent participants is a big number, even big for some "conferencing" solutions.
That was the first question I asked my client. All he said was not to worry about that. That was his headache.
The only thing I need to see is that the if the requirements can be satisfied using any combination of Device/Software platform??
Few thoughts. First, if I remember correctly, a GSM network supports only 8 channels (calls) per cell at given cell and there are usually 2-3 cells available, but one channel is probably reserved for emergencies or smth, so You'd get let's say max 20 calls limitation already there. If he says it's his headache, well... It seems like it's already Your headache too. I don't know about 3G, but 3G isn't always available everywhere anyway.
Wouldn't it be easier to put up a server with direct line to operator and host the conference via server/software, dialing to a service number dedicated to that server or smth like that? I am sure You are not the first one with such needs and there should already be some ready-made solutions for that situation.
Just thoughts to consider.
Related
Hi
I am new to this form.
I had a look at the tsril.zip example as it seems from this forum that to make/receive a data call the ril is the only option. Unfortunately the documentation for ril is nonexistent and I want to ask if someone has done an example of a client/server data call, data transfer between to XDA's.
Thanks in advance.
Anton
It all depends on what type of data you want to transfer. I have never used RIL so I don't know the advantages of it, over the normal programming interface. I say normal, not thinking there is anything wrong with RIL but the little I do know is that RIL is operating system level and is normally hidden from the application programmer. There must be times when RIL must be used if Microsoft forgot functions in the normal APIs.
However I would say that for a data link between 2 devices then RAS seems the way forward. One device would be the Server and the other the Client. I have only ever programmed RAS from the client side, making a Telnet link to an already running server.
I just had a look at the help on Embedded Visual C++ 3.0 and under 'Creating a TCP Stream Socket Application' it explains the server side and then links to the client side. Have a read there.
RAS is not an option as it is a server consept, which I think does not even exist as a service on the desktop windows os let alone on a Pocket PC.
What I am looking for is something similar that you would be able to do with a landline modem or a gsm modem connected to a serial port of a pc (even a usb modem) which is to send AT commands to make/accept a call and then to make use of the serial port as if it is an io stream. This is possible on windows, linux using either c#, c++ or java. I can even do this with an embedded gsm module like the siemens TC45 java module.
What I can not understand is why Microsoft and the XDA suppliers (I am using a Qtex running Pocket PC 2002) is making it so difficult to make/answer a data call and let you run your own protocol over the connected stream.
RAS (Remote Access Services) is built into all Windows Operating Systems, including Windows CE. Did you look up the help example I pointed to ? What you do with RAS on an application level is for you to code but the connection itself is handled by the operating system.
As to making a connection similer to a modem and using AT commands. Then no you can't use AT commands directly, but you don't need to. To get that type of connection you need to use TAPI. Once Tapi has made a DATA_MODEM type connection, you use the TAPI callback connect event to then ask for a file handle that you can use with the normal WriteFile and ReadFile commands.
I already have something on this forum about that see:-
http://forum.xda-developers.com/viewtopic.php?p=7857&highlight=#7857
The problem is not so much making the data call but it is accepting/answering the data call that I can not get working on the XDA
Not sure if this is your problem, but in Australia they have a seperate "data" phone number for the same SIM. If yo call one number you get voice, if you call another number you get data on the same sim. Not sure if this may be effecting you.
I just looked into all this ras stuff a bit deeper, and yes I think I may of been talking rubbish. Although RAS does exist in PPC2002, it can't see any functions that allow the device to answer the line. I can see that PPC2003 has a Ras Server and RasIOControl that looks like the answer there.
Also looking into Tapi, I can't see how you answer a data call using that.
So I now understand your problem. It seems PPC is made as a client device.
Is GPRS the answer ? With that the link is always present and then you can use the built in Ras functions on seperate devices. Since you only pay for data actually sent then would it matter if the network link was always present ?
I have only worked out Tapi and Ras from the client side so I have never had this problem, but I agree it is an interesting one. I will have a bow out of this thread for a bit and see if anybody else knows how to Answer a Call.
Thanks for trying.
GPRS is also not the answer as you need a server in between that both XDA's can connect too and use as a router as the XDA's do not get fixed IP adresses but actually a NAT adres from the APN so you can not connect directly between the two.
Now that's an interesting thought, how about using some free web space to act as a pigion hole for your data ?
Believer: A seperate number? How do you know this, and what would the number be?
I can actually make two XDA connecting to each other using TCP. The trick is that I have one client always connect to a server to register it IP address with an ID. Then the caller send a query to the server to look up the callee's IP address.
In this way, accept() and connect() work fine.
I am using AT&T network and not sure about if other networks behave the same.
I wrote two application using TAPI. One is ModemDial and the other is ModemWatch, if I make a voice call the ModemDial dials the number successfully and ModemWatch reports that an incoming call exist. But when I change the behavior of call to DATAMODEM, the ModemWatch couldn't track any incoming call.
Is there any one, had some experience with pick a call for DataModem?
Best regards,
A. Riazi
riazi said:
I wrote two application using TAPI. One is ModemDial and the other is ModemWatch, if I make a voice call the ModemDial dials the number successfully and ModemWatch reports that an incoming call exist. But when I change the behavior of call to DATAMODEM, the ModemWatch couldn't track any incoming call.
Is there any one, had some experience with pick a call for DataModem?
Best regards,
A. Riazi
Click to expand...
Click to collapse
In your ModemWatch application make sure you are calling lineOpen with dwPrivileges (the 7th parameter, 1 based) equal to LINECALLPRIVILEGE_OWNER and dwMediaModes (the 8th parameter) equal to LINEMEDIAMODE_DATAMODEM.
If you're able to answer a voice call successfully, making these changes to the ModemWatch application should allow you to answer a data call.
There's a need in mobile PC/GSM device which allows to put a software filter on voice which is transmitted via GSM network when talking.
Can it be done on XDA2 and if not which models will you suggest?
The filtering needs to be done on digital signal not packed to GSM packets, in both directions, during the talk - in realtime.
Thanks in advance.
Re: XDA2:Is there some software handler possible on GSM voic
This is impossible on XDA1,2,3 and Anextek SP230. Probably this is a limitation of PocketPC 2003 (even SE) OS. Wait for a device with a PPC 2005, maybe it would support this.
sure
it IS possible.
but you must delete default Phone application and services. and then you can run your own implementation of phone features with filter or anything other inside the voice channels.
please note: default Phone is invoked by several services, you have to lock all these ways.
Hello all Ive just ordered my universal on Orange, for delivery tomorrow, they are giving it to me for free on upgrade.
So now because I often use over my monthly minute allowance and having a few friends around the world I would like to use a VOIP service.
The only one I know of is Skype, as I am fairly new to this type of thing. So can anyone recommed a service that is cheap, easy to use, Universal compatible.
As for call costs I would like a service that is fairly cheap to call both landlines and mobiles. The mobiles would only really be in the UK, if that matters.
Any help is really appreciated. Many Thanks
Hi,
I expect you've seen my post elsewhere asking about voip clients for the Universal. I've lived and breathed voip for the last three months at work so I know something about it...there seems to be three basic kinds of voip services:
1) wholly proprietory services - closed source client and protocols. Skype is the perfect example. Will let 'real' phone users dial you (they call that 'Skype in') on a real phone number, and will let you call 'real' phones (they call that 'Skype out') for a fee. For Skype, there's a client for the Universal (I think, I don't own one yet). Other services - you're probably out of luck.
2) semi-proprietory services - perhaps providing their own client software, but built on open protocols (usually SIP, session initiation protocol), so you get an enhanced experience with their client. Often the client is locked to only talk to their servers. Examples would be Gizmo or Wengo. Could be an option for a Universal user if you find one that works with other clients than their own, AND if there's a generic SIP client that works on WM5 - and according to my thread, Xten's PPC client works ok.
3) standards-based services - client-agnostic, built on open-protocols (again usually SIP). They give you a username and server details, you enter them into your client - be it a PC-based softphone, a pocketpc application, or a piece of hardware such as an ATA (analogue telephone adaptor - let's you plug a physical phone, even a cordless one, into your home network and use it to make VOIP calls).
There's a fair few voip services like this nowadays, either companies who 'only' do that, or voip services as addons to a traditional ISP service - that's the case with my company, PlusNet, which offers a voip service to our broadband customers. You get sip to sip calls free, a free 0845 number to receive calls on, and you can choose from three different ways to pay for outbound calls - either PAYG (buy credit in £5 blocks, use it up as you make calls) or subscription ('Anytime' or 'Evenings and Weekends' - pay a monthly subscription and get a block of minutes to use peak or off-peak respectively). Sorry to sound like I'm advertising, it's just corporate pride - have a look at http://www.plus.net/plustalk to see more.
Hope this is a useful primer for you!
cheers
Matt S
(firmly OFF-DUTY PlusNet employee ;-)
that was discussed today - here: http://forum.xda-developers.com/viewtopic.php?t=31799&highlight=
see my answer:
i am using X-Pro Softphone for Pocket PC on my MDA pro (t-mobile universal version), it works perfectly with my german voip-account. you can use four different voip-accounts in this tool! currently i am using the version 3 pro. the only mismatch you will have (as with skype too): it only uses the external speaker instead of the phone speaker. but if you use your headset (you should anyway because of the weight of the universal;-)) it works the way it should!
details are here: http://www.xten.com
any questions left? feel free to ask!
cheers, lutz
Where did you manage to get version 3? - On the website you mentioned below I can only find 2.2 to buy for around 30 USD...
lutzh said:
that was discussed today - here: http://forum.xda-developers.com/viewtopic.php?t=31799&highlight=
see my answer:
i am using X-Pro Softphone for Pocket PC on my MDA pro (t-mobile universal version), it works perfectly with my german voip-account. you can use four different voip-accounts in this tool! currently i am using the version 3 pro. the only mismatch you will have (as with skype too): it only uses the external speaker instead of the phone speaker. but if you use your headset (you should anyway because of the weight of the universal;-)) it works the way it should!
details are here: http://www.xten.com
any questions left? feel free to ask!
cheers, lutz
Click to expand...
Click to collapse
what if you use a BT headset like the JABRA? will the sound be routed to the the BT headset or to the external speaker?
matzie said:
Hi,
I expect you've seen my post elsewhere asking about voip clients for the Universal. I've lived and breathed voip for the last three months at work so I know something about it...there seems to be three basic kinds of voip services:
1) wholly proprietory services - closed source client and protocols. Skype is the perfect example. Will let 'real' phone users dial you (they call that 'Skype in') on a real phone number, and will let you call 'real' phones (they call that 'Skype out') for a fee. For Skype, there's a client for the Universal (I think, I don't own one yet). Other services - you're probably out of luck.
2) semi-proprietory services - perhaps providing their own client software, but built on open protocols (usually SIP, session initiation protocol), so you get an enhanced experience with their client. Often the client is locked to only talk to their servers. Examples would be Gizmo or Wengo. Could be an option for a Universal user if you find one that works with other clients than their own, AND if there's a generic SIP client that works on WM5 - and according to my thread, Xten's PPC client works ok.
3) standards-based services - client-agnostic, built on open-protocols (again usually SIP). They give you a username and server details, you enter them into your client - be it a PC-based softphone, a pocketpc application, or a piece of hardware such as an ATA (analogue telephone adaptor - let's you plug a physical phone, even a cordless one, into your home network and use it to make VOIP calls).
There's a fair few voip services like this nowadays, either companies who 'only' do that, or voip services as addons to a traditional ISP service - that's the case with my company, PlusNet, which offers a voip service to our broadband customers. You get sip to sip calls free, a free 0845 number to receive calls on, and you can choose from three different ways to pay for outbound calls - either PAYG (buy credit in £5 blocks, use it up as you make calls) or subscription ('Anytime' or 'Evenings and Weekends' - pay a monthly subscription and get a block of minutes to use peak or off-peak respectively). Sorry to sound like I'm advertising, it's just corporate pride - have a look at http://www.plus.net/plustalk to see more.
Hope this is a useful primer for you!
cheers
Matt S
(firmly OFF-DUTY PlusNet employee ;-)
Click to expand...
Click to collapse
I use plusnet and love it and use the voip sevice to call landlines (free) from my laptop but I would love to know how to use my vario to do it. I presume I would do it via wifi through the broadband but dont know how. Please tell me if you can - thanks. I do have unlimited gprs but I would assume that I couldnt use plusnet this way as it is not broadband etc.
I'm using SJPhone!
It's for free
http://www.sjlabs.com/sjp.html
Hello
The other day i surfed to google from my XDA exec.
mobile internet rocks!!
i was wondering how does google know that i surfed in from a pda, cause i think it sent me to
www.google.co.uk/pda
the web page probably detected your screen size and redirected you to a page that was more friendly to you PDA browser. i wish more sites would do this.
www.google.com/pda for us US residents.
LOL
Not the screen size but the type of your internet browser, in this case Pocket IE.
Correct--it's not the screen size.
Although a LOT of your information is sent over the wire, much more than most of us realize, your resolution information is unknown to most websites, unless you explicitly allow it to be given via some kind of an executable that transmits such information. An example would be an embedded ActiveX object in IE for Windows.
Back on topic, yes, your browser information is known, not only to Google, but to every other website you visit. Not only that, the website also knows where you came from (i.e. the http addy) and where you went when you left it. There's a whole bunch of information deemed to be private that we would rather keep to ourselves (such as our surfing habits) that's known to any website that installs a cookie (a common thing nowadays) on your computer.
This is also how Google knows where you are. For example, when I log on, Google send me to the local Saudi page at http://www.google.com.sa/ It knows this information by doing a reverse lookup on your IP address, and comparing it against known databases of geographically assigned IPs. Since IP addresses are assigned and tied to geographical locations, it's easy enough to do, although it's still very disconcerting to see.
Be careful folks, even your searching habits are being tracked by Google. I have nothing to hide, so I don't care, but many folks do. Witness the recent Federal inquiry into the searching habits of the users of major search engines. Yahoo and MSN gave up that information quickly enough but Google is resisting. I don't think it will be able to hold out for very long though.
Imagine...now the fact that you searched for p0rn on the 'net is well known to anyone in the know. Scary, isn't it?
This Privacy Newsbyte brought to you courtesy of XDA-Dev's online donation campaign. Donate or be left in the dust!
thanks monakh
so google can detect both my mobile ip address (is there such a thing?) and my browser, correct?
monakh said:
the website also knows where you came from (i.e. the http addy)
Click to expand...
Click to collapse
Correct, through the referrer...
monakh said:
and where you went when you left it.
Click to expand...
Click to collapse
Only if you click a link on the site itself, -and- it is handled via a special handler.
No information is sent to a website when you leave it through e.g. a bookmark in your browser, or by typing in a new URL.
Please correct me if I'm wrong
You are correct.
hey i mailed myself (google account) using my adsl modem and using the gprs/3g connection to check the header to see if i could spot an originating ip address
i found one common ip address
Received: by 10.xy.za.b with HTTP; Sat, 18 Feb 2006 05:34:45 -0800 (PST)
i guess this is the google server, correct?
is there any way to prise the originating ip address from an email
That's why there is a registry hack to set Pocket Internet Explorer works like Internet Explorer 6.0.
Tuningszocske said:
That's why there is a registry hack to set Pocket Internet Explorer works like Internet Explorer 6.0.
Click to expand...
Click to collapse
Not entirely... I mean, you could - of course. But it also means that many sites will fail to send you PDA-specific content - which, with most plans/top-ups, means heavy costs.
Identifying PIE as IE6 is more used for stupid websites who check whether the browser is IE6 or above, regardless of whether that is actually required by the site.
There's three parts, the compatibility bit ('(Default) = Mozilla/4.0'), the browser string ('Version = MSIE 6.0') and the platform ('Platform = Windows NT 5.0'). If you leave the last bit intact ('Platform = Windows CE'), then you should still be able to get into stupid sites, while having PDA-friendly sites send you the PDA content.
oh i had not thought about the popups
i guess we wont get(suffer) popups with mobile ie5?
i just posted to this bulletin board to check my ip address
from the pc it looks like this 82.1a.bcd.efg
and fro my cda it looks like 193.abc.def.ghi
That's fine because presumably your mobile device and your home PC are on different networks so they sport different IPs.
IPs are a dead giveaway. In many cases, your position can be 'somewhat' and primitively triangulated to within 5 square miles of where you are. This may not be necessarily true for mobile networks, but those networks know where you are at all times anyway. In fact, there is now regulation in the US that mandates all handset makers to manufacture hardware with GPS functionality built-in. Between the two and a half dozen GPS satellites and your cellular network, you can run but you can't hide
This is, of course, so emergency services can reach you in time of need (in case you are unable to make the call to 911/999).
Of course...
monakh said:
This is, of course, so emergency services can reach you in time of need (in case you are unable to make the call to 911/999).
Click to expand...
Click to collapse
off-topic...
Technically it's so they can find you if you do call 911/999/112/whathaveyou but are unable (due to injuries, or duress, etc.) to state your location.
Being able to find you at any time is an added perk but it needs court orders even if you have been reported and officially designated a "missing person". Getting such a court order can take many hours, being declared a missing person can take 24 hours up to 48 hours (depends on the country and exactly what reasons you have to believe the person in question is truely missing).
ZeBoxx said:
monakh said:
This is, of course, so emergency services can reach you in time of need (in case you are unable to make the call to 911/999).
Click to expand...
Click to collapse
off-topic...
Technically it's so they can find you if you do call 911/999/112/whathaveyou but are unable (due to injuries, or duress, etc.) to state your location.
Click to expand...
Click to collapse
Ahh yes, I stand corrected.
It's so we CAN make the call and are unable to state the location. That WOULD make sense. However, like you said, there are legal hurdles, although at least in the U.S., they are fewer and far between.
is there any ip address list out there which tells me which ip addresses are allocated to which country?
are ip addresses bunched like telephone numbers
e.g. +1 is north america
+3 and +4 is europe
+96 & +97 middle east
nope, that's not how they work
organisations can get an IP from their service provider, who get blocks from their service providers, who get bigger blocks from places like RIPE, who in turn get huge blocks from ARIN.
But if it's a specific IP you're interested in, try VisualRoute
I'd like to save everyone the trouble of figuring out how to get this done by sharing my setup with you. The VOIP itself works great over 3G/4G and Wifi, but to use the VPN you'll need to be on Wifi, 3g VPN doesn't seem to work.
Requirements:
SipDroid app in the market
A free account at pbxes.org
A paid account at callcentric.com (~$.019 a minute to call anywhere in the US)
A paid account at SuperVPN.net ($4 /mo if you pay for the whole year)
First set up a pbxes.org account, and connect to it with the SipDroid app, I recommend using this guide to walk you through the process.
http://guardianproject.info/2010/05...e-mobile-phone-system-for-android-and-beyond/
Once you have that working there is one crucial adjustment to be made within SipDroid. For some reason it comes default with all sorts of audio codecs, but only ONE of them seemed to work on the EVO, the Speex codec. So go into audio codecs and switch everything but speex to "never".
After that you should have a working VOIP system but you'll still need some kind of trunk if you want to make outgoing calls to land lines or cell phones. There are many solutions for this but I recommend callcentric.com, they seem to be the most recommended for this type of setup, and they worked great for me. You can pay $20 a month for unlimited US calling, this means you can be anywhere in the world and call the US for just $20 a month. Or you can prepay (this is what I did), then you pay a flat rate of about $.019 a minute to call the US from anywhere, and if you reach you pre paid limit, it just cuts off until you recharge it.
Once you have your callcentric account purchased, just go into your pbxes.org admin area and under trunks add one for call centric, use your callcentric # as the username, and callcentric.com as the sip server. Then go under Outbound routing, add a new one, name it whatever and choose your callcentric trunk from the pulldown menu, submit the changes and you're done.
Now you should be able to successfully make outbound calls to anywhere using SipDroid.
Lastly, this was the most challenging for me, the VPN. Apparently android, including 2.2, has some major issues with maintaining vpn connections, especially when you try and use them for VOIP. There is a huge issue queue in the android google groups forum where the problem is openly discussed without a real solution. BUT, while it appears the majority of VPN connections will fail, they CAN work if you get it set up just right. Setting up VPN's, specifically VPN's tailored for mobile devices, is not something I know how to do. In the android group thread someone mentioned SuperVPN.net as a working solution, I checked it out and sure enough they work great, I had zero problems with them the whole time I was out of the country.
So create a supervpn.net account, and then on your phone go into Menu -> Wireless & Networks -> VPN -> Add VPN -> Add PPTP VPN, create the connection and you are good to go.
*I didn't set up an inbound call # with callcentric as I didn't need one, I assume after you upgrade your callcentric account, adding the inbound trunk is similar to the outbound. Be sure and look into getting a free inbound number from sipgate.com before you go and pay for one, you'll be locked to a California area code, but free is free.
An alternative I use is having an Asterisk server at home and use IAXAgent from the market. IAX does not have the problems that SIP does when going over NAT. I can make calls over 3G or wifi. A lot of SIP providers also provide IAX accounts. IAX is just a better way to go for making calls over the Internet. SIP is excellent for the LAN.
ChrisDos said:
An alternative I use is having an Asterisk server at home and use IAXAgent from the market. IAX does not have the problems that SIP does when going over NAT. I can make calls over 3G or wifi. A lot of SIP providers also provide IAX accounts. IAX is just a better way to go for making calls over the Internet. SIP is excellent for the LAN.
Click to expand...
Click to collapse
Oops.. the method I posted actually works on 3g and 4g also, it's only the VPN that requires Wifi, I had worded it incorrectly, now it's fixed. (thank you)
I looked into setting up an asterisk server, but I didn't want to have to depend on my own server or home connection being available whenever I needed it, especially when I was traveling for more than a week.
Is IAX the same as a trunk, does it cost anything to connect to land lines or cellphones?
True, you method does make SIP work because you are using a VPN. IAX is an alternative to SIP. It is NAT friendly, and as long as the port is not blocked, it just works. Though, there are a fewer choices for clients compared to SIP. IAX was created by the Asterisk team. I do not know of any VOIP systems that support IAX, bug that does not mean they dont exist. I am a heavy Astersk guy, so IAX was my cup of tea.
What advantages does this have over google voice?
I'm curious cause i'll be going to england soon and would be nice to make calls over wifi.
ShoxV said:
What advantages does this have over google voice?
I'm curious cause i'll be going to england soon and would be nice to make calls over wifi.
Click to expand...
Click to collapse
None, in fact, it his disadvantages (See below). Also, most businesses, schools, etc. will block just about every VPN method. OpenVPN is the most flexible one I have found, which might be able to sneak around by using alternate sub-1000 ports (which most places won't block, since they require root access on whatever server they're running from).
OP: Might wanna take a look at this...
http://www.mywot.com/en/scorecard/supervpn.net
drmacinyasha said:
None, in fact, it his disadvantages (See below). Also, most businesses, schools, etc. will block just about every VPN method. OpenVPN is the most flexible one I have found, which might be able to sneak around by using alternate sub-1000 ports (which most places won't block, since they require root access on whatever server they're running from).
OP: Might wanna take a look at this...
http://www.mywot.com/en/scorecard/supervpn.net
Click to expand...
Click to collapse
Not sure what you're talking about, it saved me hundreds of dollars in roaming minutes while I was in Belize. Some places do block vpns I'm sure but I never had any issues, but you don't need the vpn itself unless you're in a country that blocks voip altogether, at which point occasional vpn is greater than no vpn.
Also supervpn was the only method I found that actually works on android, I think the risks referenced in that link you posted really only apply to desktop vpn use, not phones. Openvpn is great for somewhat advanced users and if you have a computer you can depend on as a server while you're out of the country for days or weeks, this guide isn't meant for someone capable of managing that.
As for Google voice, it just initiates an inbound call to your actual cell number, which does zero good when you're trying to avoid roaming. Now the new gmail implementation of voice shows promise as an actual voip solution, but currently that version is desktop only from what I can tell.