VoIP service to make a bridge between Android phone and Ubuntu server - voip

I want to write an application which will be a bridge between VoIP app and phone line.
E.G.:
- I am writing in Skype to user XXX "call to ******"
- User XXX call me back and by phone modem calling to ******
- So I can speak throw my VoIP and phone modem for free (except internet and phone fees)
I thought to use something like this.
The better description is here in Calling section.
But it is outdated and my server part is on Ubuntu
Could you please advice VoIP (e.g. Skype, Viber, WhatsApp, etc) which I can use for such purpose? It would be great to have a client on Android Phone and server on Ubuntu.
Thank a lot,

If I have well understood, the use case is:
A wants to call B through an application running in a mobile device
B has a phone land or mobile line, but not a VoIP one to receive the call.
Bridge between internet and phone lines is to be done at home (A's home) without specific subscription costs, that is to say, without the services of a VoIP provider (I should like here to suggest rethinking the use of a well stablished solution as costs to call phone lines from IP can be really cheap).
Well, there is a lot of solutions for this scenario. I am going to speak about one of them that I consider interesting because it opens the way to a lot of additional communication services.
First, the softphone. To make and receive calls, A will need an application in his or her device. Consider a softphone as Zoiper or Jitsi Meet.
Then, the gateway between VoIp and phone lines. Asterisk can do the work as a SIP server. It is a lightweight linux software with a lot of features. It can switch VoIP lines with land phone lines via FXS - FXO cards (if the phone lines are analogue ones), ISDN cards, VoIP interfaces, bluetooth using mobile devices, etc.
Last, but not least, the connection. Ok, you do not want to expose your gateway to the dangers of all those wicked people of internet, eager to stole your phone line minutes. Connection between mobile and server could be done using a VPN (e.g. OpenVPN), or through a web app (SIP on top of WebRTC).
Once you have the asterisk working at home, you could use it as an answering machine sending email messages with the received audio, as (if your local regulations allow it) a recorder, as an IVR or as a part of a security system, calling sequencially phone numbers in case of emergency.

Related

How to call from a 4g internet device

I have a Huawei e5573 4g device (connects to internet through 2g 3g or 4g via a regular sim card, same as that used in a mobile phone).
It can receive and send messages (sms) and ussd too.
I was wondering if there is any way of using the device to make voice calls with it from the sim inserted inside it, just like in as a phone ?
Has anyone done that before ?
Thanks
If you mean using the device itself, then the answer is no as it does not have audio functionality - i.e. speaker and microphone.
It does support SMS as you say, if you log in to the router's web admin.
You can use any VoIP service over the date network, provided your network operator does not restrict or block them, but I am sure you know this.
There are some discussions on the web about opening the box and 'hacking' it, loading firmware etc but I suspect even if you found a way to get this to work it would be a very high effort / expensive way to just make a voice call device.

how voip services call multiple telephone lines at same time

I recently see a voip dialer for mobile which we can purchase a username and password. And make calls to telephones. I think thousands of people are using this service. My question is how they call to phones from the voip server? Will they take 1000+ telephone lines for calling out ??
From my limited knowledge, VOIP or voice over internet protocol works similar to a normal telephone network, using switching networks. There is probably some interface between internet and a telephone network at some point, from where the call is routed through a normal telephone exchange which sends the call to the desired receiver using switches.
BTW this is more of a question on Networking than Programming! You can try posting it on https://networkengineering.stackexchange.com/

Is it possible to make a Chromecast device discoverable to devices that are not whitelisted?

For example, if I have a friend over and he wants to show me a video using a given app that runs both on my device and his device. Could that app display a QR code on the screen or something that he could scan and instantly be granted access to my Chromecast device?
As Ali mentioned, Chromecast devices are discovered and apps launched via local network applications. One an app is started, it could easily connect with a cloud service that allows other (non-local) devices to talk w/ your Chromecast via the cloud service. A Chromecast Receiver application is just a HTML5 application (HTML, CSS, and JavaScript). You can really do what ever you want once your application gets launched.
If displaying a QR code that allows some kind of rendezvous with your cloud application is what you want to do, you can certainly do that.
I presume your friend's mobile device is on the same wifi network, right? Currently, a chromecast device has no identity outside of its local wifi network, so if the sender is not on the same network as the receiver, there is no way they can exchange messages. Back to your question, if your friend is on your network, then he could see your device except from those applications for which your device is not whitelisted for. Is that the case you want to handle through, say, a QR code? If so, that is currently not doable either since whitelisting is not just a local setup. Maybe I misunderstood your question?
Based on your questions, you are saying that both you and your friend have the same app. If so, and if your friend connects to your wifi network, then he will see your chromecast (you do not whitelist a device for a phone, you whitelist a device for an app id and as long as your friend has the same app (hence the same app id I resume), your whitelisted device will be discoverable by his phone. On the other hand, if you do not want to give him credentials to get on your network, then you need a cloud backend and a lot of work, since although your chromecast device can send a message to cloud and your cloud service can notify the other user's phone (using, say notification or some other mechanism that you employ in your app), the reverse (i.e. sending a message from your friend's phone to your chromecast (through your cloud service)) is much harder. Your friend's phone can send your phone a message (again via a back end service, a bluetooth communication, NFC, etc and then your phone using your app can send that to the chromecast receiver but I am sure you are getting the idea that it is a lot of work. Signing up on your wifi network can be made easier with a QR code or something so at this pint, that would be the easiest solution.

route/redirect voip to landline with asterisk and Linksys SPA2102 or 3102

I have a landline and I would like to be able to route/redirect voip to and through landline.
I am a newbie to this subject but I read Using an Android Phone as an Asterisk extension which is basicaly what I would like to do but I would like to:
connect my landline to asterisk
use an android to connect to asterisk and reroute the call through the landline
I would like to be able to use CSIPSimple or some other VoIP app on my android phone to call from Android through landline.
What I miss is the way to connect my landline to asterisk. I have a a debian server running on a on old notebook and I don't have a way to put some PCI cards in it.
I found some cheap Linksys SPA2012 devices on ebay and I am not sure whether I can use this device for redirecting to landline. If not what would be a cheap solution for this?
Edit:
SPA3102 looks like a correct solution because it has phone and line-in port.
I think best option is get some virtual pbx(asterisk based) and setup your SPA to that pbx.
After that you will be able control forwarding using browser and get calls using any sip appliation on android.
I see no easy way get that done without pbx, except option give spa3012 public ip and control redirect on device web.
SPA2XXX have no FXO port, so can't be used for landline(PSTN)

what is the purpose of using USSD Commands in our J2ME Application? Is this possible?

I heard there is USSD Commands in Mobile.But i dont know what it is? i was googling two more sites.i did not understand it.Please anybody having knowledge about USSD Commands, share with me.
How it is useful when we using USSD Commands with our j2me midp 2.0 application development?
Please suggest me some useful URL's to get this properly.
Also, i would like to here about AT Commands too?
Thanks & Regards,
P.SARAVANAN
USSD is Unstructured Supplementary Service Data.
GSM standardizes on the syntax (i.e. message transport) of USSD but not on the semantics (i.e. what one can do with USSD is network-operator-specific).
USSD applies a request/response pattern. A user sends a USSD request which is processed by the network and eventually answered with an USSD reponse. In a nutshell, USSD allows an end user sending numerical commands. These commands are transported by protcol functionality within the SS7 signalling stack from the mobile device to the mobile network MSC (mobile switching center, the nework node controlling the mobile network). The network operator configures the MSC to handle specific USSD requests, typically to forward them to various other network elements. Among them are:
HLR (home location register, the user database) to switch on/off telephony services.
IN (intelligent network, the realtime billing platform, among others) voucher management system for prepaid top-up.
USSD gateway to branch out USSD messages to external systems.
These network elements then generate USSD responses which are transported back to the user.
Using USSD from J2ME is offered via:
Devices supporting JSR 120 (Wireless Messaging API). Consult manufacturers development documentation or device databases to check which devices are covered.
AT command (AT+CUSD) via serial interface emulation.
The user composes some message—usually rather cryptic—on the phone keyboard.
The phone sends it to the phone company network, where it is received by a computer dedicated to USSD.
The answer from this computer is sent back to the phone.
The answer could be seen on the phone screen, but it is usually with a very basic presentation.
The messages sent over USSD are not defined by any standardization body, so each network operator can implement whatever it finds suitable for its customers.

Resources