adhikjoshi / sipdroid

Automatically exported from code.google.com/p/sipdroid
GNU General Public License v3.0
0 stars 0 forks source link

Alternate Codec Support #49

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
If possible, it would be REALLY helpful if multiple codec support was
included as there are a couple codecs that would be much better for a phone
like this. Or even set a fallback codec, however that is not even close to
mattering...

The codecs that would be EPIC to see supported are:

ILBC - Internet Low Bitrate Codec (Good for edge, or low signal)
GSM  
G729
G711

Thanks!

Original issue reported on code.google.com by andrusjo...@gmail.com on 9 Jun 2009 at 7:12

GoogleCodeExporter commented 8 years ago
pmerle71, OK checked in the java stuff as well as the dry C++ linker source. 
Unsure
if I should check in the "sipdroid-linker" build directory and the
"build-sipdroidlinker" script I appropriated from the discontinued VoidDroid
project... The script needs a few changes to work out of the box. 

Also the version of pjsip was customized a bit. Should that whole tree get 
checked in
too?

duckmonster, I didn't use an NDK release package. Instead used the
http://source.android.com/download source and compiled the whole thing per the
"Building the code" section. If you give me specifics I may be able to find the
discrepancy you're having.

Original comment by joe.n.ja...@gmail.com on 1 Dec 2009 at 7:25

GoogleCodeExporter commented 8 years ago
When compiling speex, are you using "--enable-fixed-point"?

Original comment by john.kie...@gmail.com on 1 Dec 2009 at 4:22

GoogleCodeExporter commented 8 years ago
This version doesn't use configure but it does have fixed point enabled in 
pjproject-1.0.2/third_party/build/speex/config.h.

Original comment by joe.n.ja...@gmail.com on 3 Dec 2009 at 2:45

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
*vouch* for ilbc

even the gsm codec version lags with t-mobile edge (~110kbps here)
(3/4 connection quality).. the voice sounds disturbed, like chopped in pieces 
and
mixed :)..  i guess the problem is the package loss, which ilbc seems to handle 
nicely

Original comment by chrisx86@gmail.com on 3 Dec 2009 at 2:42

GoogleCodeExporter commented 8 years ago
@joe

ps: incoming calls won't work via gsm with my setup.

i run a private asterisk server with only gsm allowed, outgoing literally 
"works"
(90% loss..) but incoming calls will be dropped immediately

Original comment by chrisx86@gmail.com on 3 Dec 2009 at 3:26

GoogleCodeExporter commented 8 years ago
Hi, 

I attach a diff to add support of G711u (u-law) on Sipdroid (1.2.1).
This code changes default codec to G711u from G711a, and have no configuration 
UI 
for codec selection.

I think we need to rewrite the code of SDP offer/answer (UserAgent.java) to 
support 
multi codecs so that Sipdroid can determine a codec in a call dynamically.

Original comment by tm.in...@gmail.com on 7 Dec 2009 at 6:44

GoogleCodeExporter commented 8 years ago
Corrected the diff file above.

Original comment by tm.in...@gmail.com on 7 Dec 2009 at 8:44

Attachments:

GoogleCodeExporter commented 8 years ago
Joe, did you see my comment 
http://code.google.com/p/sipdroid/source/detail?r=373?

Original comment by pmerl...@googlemail.com on 10 Dec 2009 at 8:06

GoogleCodeExporter commented 8 years ago
Hello,

For information purposes, for the G729 the licenses are managed by the company 
Sipro
Lab Telecom and the tariffs are available here 
http://www.sipro.com/g729_licterms.php

A new codec has been made available in OpenSource (LGPLv2.1) by Broadcom called
Broadvoice http://www.broadcom.com/support/broadvoice/ and it seems that it 
compares
well with other codec 
http://www.broadcom.com/support/broadvoice/codec_comparison.php

It is available in floating-point and fixed-point C code
http://www.broadcom.com/support/broadvoice/downloads.php

Kind Regards

Original comment by c.scherm...@gmail.com on 10 Dec 2009 at 1:27

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Issue 221 has been merged into this issue.

Original comment by pmerl...@googlemail.com on 11 Dec 2009 at 10:25

GoogleCodeExporter commented 8 years ago
Issue 238 has been merged into this issue.

Original comment by pmerl...@googlemail.com on 19 Dec 2009 at 7:28

GoogleCodeExporter commented 8 years ago
Issue 242 has been merged into this issue.

Original comment by pmerl...@googlemail.com on 19 Dec 2009 at 7:29

GoogleCodeExporter commented 8 years ago
I managed to compile pjlib and make calls with the GSM codec using a test 
asterisk
server. Calls are successful in both directions. There is just a little 
problem: we
can hear "cracks" when speaking. I disabled silence detection in the source but 
it
did not solved the problem. I am investigating this issue but I have problems
understanding what are calc() and noise() methods are for... Could someone 
clarify
this so I can (try to) improve the code (e.g remove constants for future 
frame_size
negociation) ?

Original comment by jahrome11 on 21 Dec 2009 at 8:10

GoogleCodeExporter commented 8 years ago
I would like to suggest iLBC codec since it offers low bitrate and its free and 
widely 
used by sip providers. Also, g729 is a good idea and better for use with 
gprs/edge 
networks, but it's not free to use. SO I don't think it can be used on sipdroid.

Original comment by andrepinto on 22 Dec 2009 at 5:44

GoogleCodeExporter commented 8 years ago
Of course g729 can be used! Just need to pay for it.

Original comment by andr...@tastemycity.com on 23 Dec 2009 at 3:08

GoogleCodeExporter commented 8 years ago
Hello, I have (quickly) integrated the speex codec (www.speex.org) for test 
purpose
into a sipdroid release (1.1.8 beta I think) using the JNI and Android NDK. It's
actually working with 2 sipdroid devices but not correctly with a sipdroid 
device and
a linphone PC (works only in encoding, but decoding is not very good).
If someone is interested in, to test it, improve it or merge it in a clean way, 
I can
give the code.
Regards.

Original comment by cedricth...@gmail.com on 4 Jan 2010 at 1:37

GoogleCodeExporter commented 8 years ago
@cedricthiery; upstream the code, please

Original comment by sascha.s...@gmail.com on 8 Jan 2010 at 9:44

GoogleCodeExporter commented 8 years ago
Is there a way we can have a subscription-based g.729 version of sipdroid?

Original comment by hotplain...@gmail.com on 13 Jan 2010 at 2:25

GoogleCodeExporter commented 8 years ago
Broadcom codecs look very good! It would be nice to have some independent 
testing.

Original comment by councilm...@gmail.com on 13 Jan 2010 at 4:56

GoogleCodeExporter commented 8 years ago
I'd be keen to do some testing of any alpha releases.  Really want GSM and 
iLBC, and 
the ability to enable/disable/order codecs.

Original comment by kro...@gmail.com on 17 Jan 2010 at 11:18

GoogleCodeExporter commented 8 years ago
I agree with the others that a low bandwidth codec needs to be added ASAP. I'm 
using
my Milestone on the US networks, which means I only ever have edge service, no 
3G. I
have wifi at home and at work. On top of that, the wifi coverage at work is 
spotty.

This means I can only make SIP calls from home (which defeats the purpose of 
using
it, I want to use it when I'm mobile). 

Original comment by linuxgr...@gmail.com on 18 Jan 2010 at 1:25

GoogleCodeExporter commented 8 years ago
my network requires g729 so another vote for that

Original comment by fatrodmc...@gmail.com on 25 Jan 2010 at 3:58

GoogleCodeExporter commented 8 years ago
I require use of G729 for connection with my VoIP provider directly, currently 
I have
to proxy abroad (pxbes) and this incurs delays. (The pxbes service is great but 
the
latency is not ideal.)

Original comment by lordst...@gmail.com on 9 Feb 2010 at 8:03

GoogleCodeExporter commented 8 years ago
If it's a "library" or coding issue then how is SipAgent able to support the 
GSM & Speex codecs? (as well as a slew 
of others)?  Just curious.

Original comment by geo...@ellenburg.org on 9 Feb 2010 at 1:55

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
I know the issue says fixed (and this is a massive improvement), but I note 
that GSM is 
still not available (Greyed out) on Nexus One phones.  Do I create a issue?

Original comment by kro...@gmail.com on 15 Feb 2010 at 11:31

GoogleCodeExporter commented 8 years ago
I noticed support for speex alaw (G.711) and ulaw (G.711) has been implemented, 
so
for the meantime I have forced speex for all my calls to save bandwidth. It 
would be
nice to have GSM enabled and is there still no chance for G.729?

Thanks for the option however!

Original comment by lordst...@gmail.com on 17 Feb 2010 at 8:45

GoogleCodeExporter commented 8 years ago
according to http://www.pjsip.org/sip_media_features.htm#sip_features
Looks like g.729 is supported with certain handsets. The client license for 
G.729 is
based on the device. So if we have a handset with the license its not a problem 
to
implement it is our stack. 

PJMEDIA supports:

    * G.711 family codec (PCMA, PCMU),
    * Speex/8000 (narrowband), Speex/16000 (wideband), and Speex/32000
(ultra-wideband) with fix bit rate and adjustable quality/complexity settings. 
Fixed
mode implementation will be used for targets which lack floating point unit.
    * iLBC in 20 or 30ms mode, with encoder mode is adjusted based on remote's SDP
(decoder mode is adjustable during initialization only).
    * GSM.
    * G.722
    * G.722.1 and G.722.1C licensed from Polycom
    * More codecs provided by Intel IPP: G.723.1, G.726, G.728, G.729A, AMR, and AMR-WB
    * More codecs provided by Nokia APS/VAS on Nokia handsets: AMR, G.729, iLBC, and
PCMU/PCMA
    * L16 family of codecs, mono or stereo (good for debugging).

Original comment by brandonn...@gmail.com on 18 Feb 2010 at 9:26

GoogleCodeExporter commented 8 years ago
Which version of speex does sipdroid support at present? The it doesn't seem to 
work
for me. My voip provider is Freshtel (australia). Is the 11kbps speex a 
nonstandard
compression? When i try to place a call, sipdroid says "incompatible codecs". I 
have
confirmed with freshtel that they do support speex. According to them, "Yes our
Freshtel network and firefly both do speex and speex wideband codec's"

Original comment by hellz...@gmail.com on 22 Feb 2010 at 12:39

GoogleCodeExporter commented 8 years ago
I would like to request full support for speex, from ultra-wideband all the way 
to
2.4 kbps... that would be really good.

Original comment by hellz...@gmail.com on 22 Feb 2010 at 12:56

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Issue 344 has been merged into this issue.

Original comment by pmerl...@googlemail.com on 20 Mar 2010 at 8:50

GoogleCodeExporter commented 8 years ago
Issue 372 has been merged into this issue.

Original comment by pmerl...@googlemail.com on 20 Mar 2010 at 8:51

GoogleCodeExporter commented 8 years ago
What is the problem with GSM? It is also low bit rate.

Original comment by Aviator...@gmail.com on 22 Mar 2010 at 3:45

GoogleCodeExporter commented 8 years ago
GSM is still greyed out in 1.4.1pre for 2.0+ Android phones (like my Nexus).  
Any 
chance of this being sorted before the next release?  I note that a stack of 
Silk codecs 
(what skype uses) have been added which is nice - no doubt it will benefit 
someone.

Original comment by kro...@gmail.com on 26 Mar 2010 at 2:28

GoogleCodeExporter commented 8 years ago
FreeSWITCH has recently added silk at various bitrates and BroadVoice 16 and 32.
You'll need a recent version from source to use them, but I've used BV32 for a 
while
now with XLite and it is fine. Also we've tested silk, but sipdroid has been 
recently
unstable so I can't say how well it works.

Original comment by aktz...@gmail.com on 30 Mar 2010 at 8:29

GoogleCodeExporter commented 8 years ago
I would recommend you try SILK over BroadVoice as currently the BV codecs are a 
little 
taxing on the CPU and you will get dropped packets on some android phones.

I just checked in G722 wideband support which you'll find more often on hard 
phones 
over the other wideband codecs.

Original comment by carlos.t...@gmail.com on 30 Mar 2010 at 8:36

GoogleCodeExporter commented 8 years ago
Is there a plan to support ILBC? 

Original comment by cuixin...@gmail.com on 7 Apr 2010 at 4:47

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hi,

I have tested g722 codec. While I can hear the other side perfectly fine I come
through with distortion and delayed.

Original comment by maxims...@gmail.com on 10 Apr 2010 at 9:49

GoogleCodeExporter commented 8 years ago
Hi maximsamo, 

Did you test G722 codec on Sipdroid together with FreeSwitch? If so, could let 
me
know how to enable the codec that is not default code but supported (such as 
SILK or
BV) on FreeSwitch? I did changes on the vars.xml and sofia.conf.xml files and 
restart
FreeSwich, but it did not work. FreeSwich send back the 488 SIP messages (Not
acceptable here - error codec imcompatibility). Any help is highly appreciated.

Original comment by anhtubcvt@gmail.com on 11 Apr 2010 at 3:32

GoogleCodeExporter commented 8 years ago
Hi,

I have tested g722 on asterisk 1.6.1.18.

regards,

Maxim

Original comment by maxims...@gmail.com on 11 Apr 2010 at 3:42

GoogleCodeExporter commented 8 years ago
anhtubcvt,

you have to update the line with global_codec_prefs. Here's an example:

<X-PRE-PROCESS cmd="set" 
data="global_codec_prefs=BV16,BV32,SILK@24000h,SILK@16000h,SILK@8000h,speex@8000
h@20i
,G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM,H263,H264,G729"/>

Original comment by carlos.t...@gmail.com on 11 Apr 2010 at 4:47

GoogleCodeExporter commented 8 years ago
Hi Carlos and Maximsamo,

Thank you for your answers.

We only need to modify global_codec_prefs in vars.xml file? If so, I did test 
with
SILK and BV but it did not work though it is announced that FS 1.0.6 support 
them.
Any one made successful test with SILK codec on FreeSwitch 1.0.6? 

Regards,

Luu

Original comment by anhtubcvt@gmail.com on 12 Apr 2010 at 1:28

GoogleCodeExporter commented 8 years ago
I might have been too quick to respond.

First thing, did you make sure the modules are enabled for compilation? They 
have be 
uncommented in modules.conf prior to running ./configure.

Once FreeSWITCH is installed and running you can verify if they were installed 
properly. Type this from the console:

load mod_bv
load mod_silk

You can permanently have them load during startup by adding them to the 
modules.conf.xml file.

Original comment by carlos.t...@gmail.com on 12 Apr 2010 at 1:53

GoogleCodeExporter commented 8 years ago
Carlo,

Thank you very much for your help. The answer is really helpful and it works 
now.

Original comment by anhtubcvt@gmail.com on 13 Apr 2010 at 3:28

GoogleCodeExporter commented 8 years ago
Dear Carlo,

This question is not related to SILK codec, it is about FS. I am installing the 
FS
inside my LAN with local IP address. Then on the router connected to internet 
with
static public IP address, I made a port forwarding for SIP and RTP. SIP client 
with
build-in account 1000-1019 can register to FS. Call can be established between 
a SIP
client in the LAN and another SIP client on Internet, but no voice can be heard 
both
two ways. 

Is it correct to connect a sip client from internet to FS inside LAN by doing as
above method? I read some about Internal and External things, and tried to read 
some
example like that but it is not clear enough for me. Could your show me steps 
for
configuring that? I appreciate for your help.

Original comment by anhtubcvt@gmail.com on 20 Apr 2010 at 11:59