How to make Raspberry Pi to be a VoIP ATA Device - raspberry-pi

I want to make a VoIP ATA (Analog Telephone Adapter) Device using Raspberry Pi, furthermore, I also want to add FXS ports to the Raspberry Pi. Kindly, tell me whether it is possible or not. If Yes, then how?
Here is the
Reference Link

This is probably possible, but not with the Pi alone.
You will need to design and build some external circuitry to convert between telephone line audio (which apparently runs at 48 volts) and audio signals which the Pi can produce. Also it looks like the Pi has no audio input, so you might need to either add a USB audio device or use an analog to digital converter that the Pi has to read the audio signal coming in from the phone line, if it can be polled fast enough.
You might have better luck with a board that has a real microphone jack on it already, instead of the Pi.
Then on the software side you need to attach the audio out, whatever you are using to get audio in, and any circuitry you need to open/close the circuit or send special ring voltages to your VoIP software of choice. Working out how to write that driver code is going to depend heavily on what physical circuit you actually build and what VoIP software you want to have talk to it.
That link above has a design for a line-level audio to phone audio conversion circuit which may help you get started. You could also take the circuitry part of the project over to the Electrical Engineering StackExchange site.

Related

Raspberry Pi VoIP with usb phone

Are there any USB devices that can be connected with a Linux Softphone?
These USB phones are enumerating as USB composite device: sound device and some control device, usually custom HID.
Audio part should work with virtually any softphone (e.g. command line baresip or pjsua). One I have (EX-03) has not the best sound quality as it supports only 8kHz sampling, but in general they should be fine for telephone calls.
Control part (receiving events from keybord, using ring speaker or display if present) may be tricky to handle as it may be impossible to find any documentation. If you are lucky you may find other software (e.g. skype control software included on CD) that works with this particular USB phone and then use USB sniffer to analyze packets / protocol.

Raspberry Pi Zero Embedded

First I want to point out that I'm very new to Raspberry Pis. I have bought a Raspberry Pi Zero for my project, because Arduino did not have enough horsepower.
My Project involves an I2C sensor and audio output (I2S). The audio is generated on the Raspberry and that is why I need the computational power.
Now I'd like to know what would be a good choice for the operating system. I don't really need anything else but the I2C and I2S and some math to generate the sound. The project is going to have the Raspberry embedded in the system and is battery powered, so it should be able to survive sudden power loss.
I found something relating to Real Time Operating systems, but I'm not sure if I need it to be exactly real time since I can buffer the generated sound data. But I do need the system to be fast, and as light as possible as the sound generation is rather heavy process.
I understand this is sort of vague question and I'm happy with any information I can get and if you could just point me in the right direction, that would be appreciated.

How to send data to iPhone from external device

I have an external device that we manufacture that basically monitors 4 voltages, converts them to a 16 bit digital number then streams this info back to a PC every 100mS or so, using a serial over USB style chip. Basically a data logging system.
We would now like to collect this information on an iPhone and I am wondering what is the best way to get the data into the iPhone?
I am assuming there is no way we can physically connect directly to the iPhone dock connector as the protocol to do this is not available to iOS developers?
Obviously we could do it over a WiFi network but there will not always be one and we want to keep the external hardware fairly simple, i.e. no need for a computer or Wireless router etc.
If we add Bluetooth connectivity to our hardware would this work? I read that only 'Made for iPod' type Bluetooth devices will connect, in which case how can we achieve 'made for iPod' status? It would be relatively easy to add the necessary Bluetooth chips to get the system up and running.
In an ideal world we would like to do this without having to use a 3rd party interface.
I have been thinking about trying to digitise data as an audio signal – like a modem, and send it into the line input jack, but I don’t think it will be fast enough – this would be new territory for me.
Anyway all suggestions gratefully received!
Thanks!

iOS SDK Disable Internal Microphone

I am developing an iOS application that receives data through the auxiliary port (microphone).
We got oscilloscopes hooked up and are at the point where we can measure frequencies and amplitudes on a testing iPhone.
However, even with the auxiliary cable connected, the iPhone still listens to the internal microphone in addition to our external AUX input thus watering down our measurements.
The iPhone definitely recognizes the connected AUX cable (internal speakers are turned off).
Is there any way to programmatically disable the built-in microphone?
or
Is there some special signal we can send through the AUX port to disable the internal microphone?
After much research on this topic, there is no way to do it at this moment in time.
If you look at the Audio Session Programming Guide and the AVCaptureDevice Class Reference, all the properties relating to the devices input sources and audio routes are readonly.
If it's of any use, you can detect whether or not headphones or an external mic are plugged in. Here's a question relating to that.
I don't believe you can disable the built-in microphone without the user physically pressing the silent switch, but maybe you could store the data recorded by the built-in mic and then filter it out of the measurements taken by the oscilloscopes? I don't know how you would go about implementing this; it's just a theory.
Hope this helps!

Transferring data from a sensor to the iPhone

I have an external device (some kind of sensor) that can do a measurement. This sensor can be connected to a PC via Bluetooth or USB cable, and it also comes with it's own software.
I want to develop an App for iPhone that will analyze the data that this sensor is measuring (for example creating a graph, calculating some equations etc.).
How can I make my iPhone to "recognize" this sensor, so the app will get the data that has been measured from the sensor?
Is there any manual which explains how to code this? Our preferred way of transferring the data is via Bluetooth, so there will be no need of using cables.
Thanks a lot!
You can't use Bluetooth to transfer data unless the device is custom designed in compliance with Apple's MFi program. Only those specially manufactured devices can be recognized by an iOS app.
You can use wifi for high bandwidth data, and perhaps audio for encoding low bandwidth data.
Not sure what kind of sensor you have but PASCO scientific has a Made For iPhone Bluetooth device called AirLink2 that works with their sensors. I don't think that could easily co-opt the device for your purposes ... but it might be possible. I mention this because there's an off chance that this would useful information. I am not trying to peddle hardware here ;-)