Adding SIP and VOIP stack? - G1 Android Development

I want to be able to do voip through skype and I know I can add the iskoot number to myfaves and get free incoming but can I use it for free outgoing?
If this isn't possible how hard would it be to bring the VOIP anr SIP stack from another phone into the G1?

There are already 2 sip stacks for Android. Someone would just need to make a usable application for them.
http://blog.roychowdhury.org/2008/03/10/we-have-sip-working-on-android/
http://jeanderuelle.blogspot.com/2008/10/jain-sip-is-working-on-top-of-android.html
I have not looked recently for user applications, but the sip stack is definitely already there.

I looked into those SIP stacks, and the first one listed has a User Agent in the code.
The problem is that the Android API has no way to stream sound from the mic, and can't seem to stream data from RAM to the audio output (so you can do, say, audio decompression of the RTP stream). Or at least, there isn't a straightforward apparent way to do it...
So until one can get audio into/out of memory (and not by writing to a file), this isn't going to be happening anytime soon, sadly. What may be interesting is to find out how these call recorders work...but again, I think that's all to a file.

What about StreamFurious? It streams shoutcast, so this must be possible in some way.

From network to speaker, it is possible...if you limit yourself to the codecs Android supports. However, VoIP uses some codecs that aren't supported by Opencore (at least, as best as I can tell)...so you'd have to code them yourself in Java (not hard for the PCM codecs, trickier for Speex and iLBC)...but then you need to play the uncompressed data from your app, and you can't seem to do that (unless you write it to a file and play that)
The recording side is worse, it needs to be recorded to a file. So making it a "phone" with the current API on Android is painful at best.

A SIP client working on Cupcake has been released today -- http://sipdroid.org

Integration within the OS and calling is working pretty good. The only downside is, that people can hear me, but I can't hear them :-/

I have no idea what I am doing. I spent 20 minutes messing around with sipdroid and I would guess about 19 of them were wasted. I will wait till this requires less setup (or its not 2am and I have a few extra brain cells to spare for figuring this out). Good to know its being worked on though.

I did test the SIP client, too.
First of all: thanks for this project. Together with sipgate.de and pbxes.org it works super well. I tested many calls and I can hear the other side and vice versa.
What did not work: entering directly sipgate.de in the SIP client (couldn't hear anything during a call in both directions).
What I hope will get better: better incoming call recognition (if device is in sleep mode the screen wouldn't turn on), and other small things (like to be able to turn off the client instead of turning off wireless options) and few other things which I don't remember now.
I am sure it will get better and better. So: THUMBS UP!

Was able to login to gizmo account but no audio. Needs option to turn sipdroid on/off, only way to do that right now is to turn off wifi or disable wifi in sipdroid.

Related

Need some way to play audio file via a phone call

Im testing some VoIP software for cell phones for my work. I'm currently using a Nokia e71x and a At&T Kaiser/tilt/TyTn II running a nice little ROM I got here (can't remember the name) built on WM 6.5. Any way, in a desperate attempt to measure call quality I would like to call my voice mail and leave a message, then analyze it for pops, clicks that kind of thing. So in order to have a standardized file that I use each time I would like to be able to play an audio file on the phone, preferably the kaiser, and have it stream through the call. That way when I download my voicemail, in .wavs, I can use a program I got to see how the 2 files vary. I would hate to have to hold a voice recorder up to the phone each time.
Or you know of some other way of measuring call quality that would be good too.
thanks in advance,
The Tentacle Master

[Q] Problem with integrated SIP calls in Gingerbread (yes, I tried searching)

Whenever I make outgoing calls to the 'internet number' in GB, I can't hear anything from whoever I call and he hear me either. I use Gizmo 5 as my SIP account and I know that the calls go through because Gizmo 5 deducts a penny each time I call someone.
I know that there are simple solutions like using SIPDroid or Google Voice Callback but I just want to use native SIP client over wifi (I'm only using SIP in places I have no signal). I've already tried searching in the forums and in google if this is a known issue and how to fix it (without using 3rd party apps) but I can't find anything (the only things I'm finding is how to set up SIP over 3g and that requires 3rd party apps).
Can anyone help me on this please? Again, I just want to use the built in GB SIP client. Everything works fine (I can receive phone calls fine) and the only problem is that I can't hear anything from whoever I'm calling and the person I'm calling can't here me either.
Thanks for your help!
check your router to see if it supports NAT or things like that.
even better, test it with you PC to see if you get 2 way audio.
it common to have 1 way audio on SIP calls. and its usually down to the router not able to route the RTP traffic back to you.
qwerp_ said:
check your router to see if it supports NAT or things like that.
even better, test it with you PC to see if you get 2 way audio.
it common to have 1 way audio on SIP calls. and its usually down to the router not able to route the RTP traffic back to you.
Click to expand...
Click to collapse
Thanks for the answer! This kinda sucks since I'm mostly using this in my university's library where I have no signal and I can't control the router. I'll try this at home though tonight.
When I receive calls in the library me and the other person can hear each other fine. How is that different from placing calls?

SIP Trunk anyone?

Anyone else seen this yet... simonics.com/gvgw
You need a Google voice number... (free)
NO im not spamming this.. i found it ON MY OWN and found it to be really useful since it works. Don't be haters... try it or not... its free and up to you.
I use this with my phone. There are places at my work where the only connection i have is WiFi... this solves the problem and i don't need stupid software to use it... just go to the site, set it up, and put the settings into your phone settings for internet calling.
Ive been using this for a few months now... and no, my Google account has not been hijacked and is a secure encrypted connection through a asterisk server and secure ports.
Read the FAQ on the site... its really simple and works.
our certyles
I've been testing it out a bit, it seems to work pretty well. I plan to drop my phone plan soon actually and just use a Verizon LTE hotspot.
I want to make sure I've got a method fairly reliable in place to make calls/texts with GV, and so far I've had success with the callback method, grooveIP (though the audio still sounds a bit funky), and using simonics and csip simple.
simonics + csip seemed to be the most reliable, though I've hit a snag: It's not allowing me to register my simonics account when I'm connected to my LTE hotspot. Works fine on any other wifi though.
silverwater25 said:
I've been testing it out a bit, it seems to work pretty well. I plan to drop my phone plan soon actually and just use a Verizon LTE hotspot.
I want to make sure I've got a method fairly reliable in place to make calls/texts with GV, and so far I've had success with the callback method, grooveIP (though the audio still sounds a bit funky), and using simonics and csip simple.
simonics + csip seemed to be the most reliable, though I've hit a snag: It's not allowing me to register my simonics account when I'm connected to my LTE hotspot. Works fine on any other wifi though.
Click to expand...
Click to collapse
How does this work? Doesn't a Google Voice number have to forward to a real number and be attached to one? Do you have another number that the GV is attached to?
I don't use a single app for this.
*Setup a Google voice (free)
- set your ringback as Google chat.
*Setup a pbxes.org account (free)
- set a trunk that points to your gchat
If you're on an AOSP ROM, open dialer, go to settings, scroll to bottom, internet call settings, accounts, point to your pbxes account.
Done!
Now you have free incoming + outgoing calls over WiFi or 4G. Even 3G as well.
If you use the sipdroid app (by pbxes.org ppl) instead of the built-in AOSP SIP stack you get more audio encoding options and the ability to pass your calls thru a VPN. Pretty sweet
kennyglass123 said:
How does this work? Doesn't a Google Voice number have to forward to a real number and be attached to one? Do you have another number that the GV is attached to?
Click to expand...
Click to collapse
I'm still learning about all this, it's been pretty confusing as it's all new stuff for me. I'll try to explain what I know (or what I think I know)
Internet calls (VOIP) are typically free when connecting to another internet connection (ex. Skype, Kakao, Seed, etc). PSTN (regular phone numbers) cost money to connnect. Google Talk, which is VOIP,. lets you call a PTSN for free from your desktop. This seems pretty unique and likely will not last forever I'm guessing.
Install a softphone on your device, and you're bypassing your carrier's calling network.
Calls coming in:
Now, it's possible to setup a free VOIP account and attach a "real" number to it as a way to connect to the outside world. This service called IPkall can give you a recycled Wash. state number and let you get calls on iit for free. I attached one of these to a Callcentric VOIP account..When someone rings my google voice number, it will ring my IDKall/Callcentric number, which oh yeah doesn't cost me anything.
Calling out:
Callback method: Using apps like the Google Voice Callback, you can do the same thing as you can from your desktop, which is have Google Voice ring one of your numbers while simultaneously calling the number you want to call. Google Voice is acting like the bridge between your phone and the one you're calling. Like you said you need a "real" number to make calls like this with google voice, but if your VOIP account is attached to a "real" number then it doesn't know the difference.Typically your carrier would charge you money/minutes to call your google voice number, but since you're connecting for free with a softphone/VOIP then you're only be charged for whatever data you use.
GrooveIP/Simonics Google Voice Gateway: I really don't know how these work, but my best guess is they're just simplifying the process for you, setting up the second VOIP account automatically.
So I'm annoyed that Csip Simple/simonics isn't working for me when I connect to my verizon sch-lc11 jetpack I picked up a few days ago (the verizon guys were pretty confused when I turned down a free iphone 4s, heh). Groove IP seems to be working all right now, if that fails then I can go back to the callback method, or maybe try setting up a pbx.
Setting the phone up so that it can receive SIP calls tends to chew through battery a little quicker.
Having said that...if you want to do your own thing and have an old pc (or even Raspberry Pi) laying around, check out PBX in a Flash (sorry I can't post links, just Google it). I've been running this setup for about two years to replace my land line with a google voice number and it works great. I've expanded my setup to have a home office number as well. All free. You can also set up your cell as a SIP or IAX extension and have the satisfaction of doing it yourself.
You can also purchase an obi100, and use the ObiTalk app.

VOIP on the Nexus 5

My fiancée and I got ourselves a pair of Nexus 5's a couple of weeks ago, switched from Verizon to the T-Mo $30 100/Unlimited/5GB(Unlimited) plan and are now happily saving over $100 a month in the process. Yay us!
However, I've been struggling with VOIP with varying degrees of success. I've spent a considerable amount of time researching and configuring and tweaking, and I'd like to share my findings, as well as get some feedback on some things I may have missed.
One of the first things I tried was the Google Voice/PBXes/CSipSimple method, which produced terrible call quality. Everything from echo to background noise. No matter what I did (and believe me, I tried everything I could find) the call quality was just terrible. Changing the mic source, enabling mode audio API, changing the SIP audio mode, changing codecs, nothing really helped. Battery life was great, but the call quality was pretty much unusable. I could hear myself echoing, the other party could hear their own voice echoing, and/or there'd be too much background noise, or I'd be too quiet, etc.
Next, I tried Talkatone (paid for premium). Connection problems galore! I'd have several "lag fests" over WiFi (never tried it on LTE) even when I was sitting right at the router. Everything would cut out for about 30-45 seconds and then resume as if nothing happened, and this occurred 2-3 times over the course of a 10-15 minute call. Yes, I ruled out a connection/router issue. Battery life was "OK" but it wasn't as good as it was with CSipSimple.
I then tried GrooveIP (paid). Lots of echo here. Again, no setting or combination of settings really seemed to get rid of it. Tried as I might, the echo was always there. Battery life was on par with Talkatone.
Next, I decided I'd go a different direction and tried Skype. The voice quality was much improved, with no echo, but complaints of background noise, especially while on speakerphone. This has been passable, though not "ideal" (I know, VOIP isn't perfect). The big issue with Skype has been the absurd battery drain. A 30 minute call drained my battery by almost 20% and Skype was topping the charts by a long shot on the battery usage.
I know there are other options out there such as Viber, but I've not seen a whole lot out of them in terms of reviews, etc. I may just end up trying Viber and seeing how it pans out, but the options are starting to run out.
I know part of the problem is the same one the Nexus 4 had with the microphone(s) but, I'd like to think I just might be overlooking something. If anyone feels they've "solved the problem" please share your settings, as I'm sure I'm not the only one who feels as though they're banging their head against a wall here.
Fenuxx said:
I know there are other options out there such as Viber, but I've not seen a whole lot out of them in terms of reviews, etc. I may just end up trying Viber and seeing how it pans out, but the options are starting to run out.
I know part of the problem is the same one the Nexus 4 had with the microphone(s) but, I'd like to think I just might be overlooking something. If anyone feels they've "solved the problem" please share your settings, as I'm sure I'm not the only one who feels as though they're banging their head against a wall here.
Click to expand...
Click to collapse
Viber works well for me and I only hear a slight echo if I'm talking with Nexus 4 users. Give it a shot. Tango might be worth a try, too. Good luck.
Well, I believe Csipsimple is the best voip client available. So, you'll most likely want to go back to your first solution, but replace pbxes with Callcentric, voip.ms or another voip provider. I've tried everything you did as well (plus a few more options) and with the exception of Skype, found the quality to be unacceptable. What I'm suggesting won't be free, but the cost is extremely low. Actually, voip.ms could be a very good solution for you. You would establish and fund one "account", but set up separate "sub-accounts" for yourself and your fiance. If you wanted to use GV exclusively, you could then purchase a couple of DIDs and set up GV to forward to them. I use an app on my phone called Groove Forwarder that changes my GV forwarding settings based on my data connection. If I'm on LTE, etc..., it forwards to my T-Mobile number. When I'm connected to Wi-Fi though, it switches to my Flowroute (another voip provider) number. Also fwiw, you can use voip over LTE if you want. Being in a moving vehicle set up that way will cause issues however.
adrman said:
Well, I believe Csipsimple is the best voip client available. So, you'll most likely want to go back to your first solution, but replace pbxes with Callcentric, voip.ms or another voip provider. I've tried everything you did as well (plus a few more options) and with the exception of Skype, found the quality to be unacceptable. What I'm suggesting won't be free, but the cost is extremely low. Actually, voip.ms could be a very good solution for you. You would establish and fund one "account", but set up separate "sub-accounts" for yourself and your fiance. If you wanted to use GV exclusively, you could then purchase a couple of DIDs and set up GV to forward to them. I use an app on my phone called Groove Forwarder that changes my GV forwarding settings based on my data connection. If I'm on LTE, etc..., it forwards to my T-Mobile number. When I'm connected to Wi-Fi though, it switches to my Flowroute (another voip provider) number. Also fwiw, you can use voip over LTE if you want. Being in a moving vehicle set up that way will cause issues however.
Click to expand...
Click to collapse
Yeah, I also tried the Callcentric+PBXes route for the iLBC codec, which didn't seem to help. I'm not entirely convinced it's the PBX provider that's at fault, as I don't have these weird audio issues with CSipSimple+PBXes/Callcentric on my "home phone" (separate Google Voice account) which is an old DROID Incredible 2. Voice quality there is fine.
I did look into voip.ms, but when I signed up (late at night), they forced a "manual authentication" on me (why, I don't know) and I needed to contact support. I tried logging in the following morning, only to be greeted with a message about my IP address not being whiteflagged and not being authorized to access the account. Being that my IP address is dynamic, I don't think I want to constantly fight that battle about "approving" my IP address whenever it changes.
Create a ticket with voip.ms support to inquire. I've only good things to say about their response times and help.
Does anyone have bluetooth headsets working with csipsimple? On my nexus 5 I've yet to find a sip phone that works correctly with a headset.
Fenuxx said:
I then tried GrooveIP (paid). Lots of echo here. Again, no setting or combination of settings really seemed to get rid of it. Tried as I might, the echo was always there. Battery life was on par with Talkatone.
Click to expand...
Click to collapse
groove and google voice gave me no echo when calling a landline from my wifi connection. i think this has to be your internet access that would be messing this up. . .or maybe it's just bad for voip to voip calls
I can personally attest to voip.ms + csipsimple + g729 codec ($10 dollars in the playstore) reliability as a voip setup for my Nexus 5. My set up is basically that GV forwards to my voip.ms DID which rings directly to my Nexus 5's csipsimple app. In the event that im not registered in csipsimple (e.g. lose connection, servers go down, etc) I have failover set up w/ voip.ms to ring to my real tmobile phone number. I have zero issues with call quality or echo and I have had full conversations with people on the phone even while driving. I also used this guys tip when first setting up, these may or may not change a thing but Ive had my csipsimple configured with these settings since day 1 also.
1. Go to settings
2. Click the menu button -> Expert Mode
3. Go to “media” -> select echo mode and choose WebRTC (probably already chosen)
4. In “media” go to “Audio troubleshooting” -> “Mic source” -> Voice call
5. in “Audio troubleshooting” -> “Audio implementation” -> Java
I use flowroute + csimpsimple (G729). Call quality is excellent and low latency on WiFi and LTE, and not bad over HSPA/HSPA+.
My main issue at the moment is bluetooth. I cannot get it to work with the bluetooth in my car (only bluetooth I have). I can get incoming audio OK, but it appears to be using the phone microphone for outgoing audio instead of the car microphone and it's very garbled and noisy.
There was a software issue in 4.2 regarding inline mic gain, 4.2.2 fixed it. GroovIP free worked fine for me after the update. There is only a few months left of google voice as they are shutting it down on May 15, 2014.
I have been using Viber for over two years. Works perfectly fine. Try it.
Sent from my Nexus 5 using Tapatalk

How to process telecom operator messages before being played

Hi Guys,
Came up with a different problem statement, I hope anyone will be able to save me.
Say there is a telephone/ VOIP call established and the downlink and uplink of audio is taking place via Audiomanager.Stream_VOICE_CALL like any normal phone call would do but what I want to achieve is that audio(i.e downlink like telecom operator msgs) should be redirected to a dummy virtual function where I can process it and then it should play through any output medium like speakers, headphones, et. My app is built in java, its already default dialer and my phone is also rooted with nitrogen os Android 8.1 running on it. I am completely clueless what can be done even if I comment down the part which handles the audio during call, even then also it plays audio. I will really appreciate if someone can give a path, how can I approach this problem
Regards

Categories

Resources