pyj4104 / sipdroid

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

Search of codec name is case sensitive, better is to use codec id number #351

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Make a call to sipdroid from device which send codec names in
lowcase(for example 'pcma' instead of 'PCMA')

What is the expected output? What do you see instead?
Instead of connection have a message "ERROR: Codecs Incompatible"

What version of the product are you using? On what operating system?
1.3.14, Android 1.6

Please provide any additional information below.
Imho, better way is to use codec id number when searching for codec object.

Original issue reported on code.google.com by wimaxsys on 1 Mar 2010 at 2:34

Attachments:

GoogleCodeExporter commented 9 years ago
Furthermore, it seems that sipdroid recognizes only codecs which have a=rtpmap: 
entry
in the SDP packet. However this entry is recommended but not necessary 
according to
RFC4566:
"For dynamic payload type assignments the "a=rtpmap:" attribute (see Section 6)
SHOULD be used to map from an RTP payload type number to a media encoding name 
that
identifies the payload format."
http://tools.ietf.org/html/rfc4566#page-24

This prevents me from answering calls in some situations.

Original comment by tim.ruff...@gmail.com on 7 Mar 2010 at 9:57

GoogleCodeExporter commented 9 years ago
@wimaxsys

There is room for improvement. You could make it first check case-insensitive, 
and if 
that fails it could match the number.

Original comment by pmerl...@googlemail.com on 8 Mar 2010 at 10:32

GoogleCodeExporter commented 9 years ago

Original comment by pmerl...@googlemail.com on 8 Mar 2010 at 10:38

GoogleCodeExporter commented 9 years ago
I have made changes in codec selection procedure and sent commit to last 
version.

refer to:
 http://tools.ietf.org/html/rfc4566#page-22, paragraph 5.14 <fmt> description
 http://tools.ietf.org/html/rfc3551#section-4.5, "6. Payload type definitions"

Rules to select codec are:
1. If codec name equals to given in rtmap -> use it (dynamic payload type)
2. If codec number equals to payload type number and it has no rtmap attribute 
-> use
it (static payload type)
3. If codec number equals to payload type number and it has rtmap attribute 
with same
but case-sensitive name -> use it
4. If we have more than one codec which we can use -> codec with payload type 
number
which goes in <fmt> list first has a higher priority.

Hope this will solve some others issues with "Codec incompatible" error

Please take a look.

With regards, Lex.

Original comment by wimaxsys on 18 Mar 2010 at 1:25

GoogleCodeExporter commented 9 years ago
Issue 364 has been merged into this issue.

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

GoogleCodeExporter commented 9 years ago
Issue 367 has been merged into this issue.

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

GoogleCodeExporter commented 9 years ago
Issue 347 has been merged into this issue.

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

GoogleCodeExporter commented 9 years ago
Issue 338 has been merged into this issue.

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

GoogleCodeExporter commented 9 years ago

Original comment by pmerl...@googlemail.com on 29 Mar 2010 at 5:21

GoogleCodeExporter commented 9 years ago
Hello I am using 3.0 version and I am having this error with asterisk 
connection. With android 2.3.6

Original comment by sbasur...@gmail.com on 11 Jun 2013 at 7:42