meetecho / asterisk-opus

Opus (transcoding) and VP8 (passthrough) support for Asterisk, needed for a better WebRTC integration
GNU General Public License v2.0
76 stars 86 forks source link

Issues Asterisk >11.6 #6

Open SirLouen opened 10 years ago

SirLouen commented 10 years ago

I've found that If I compile Asterisk 11.6 or more (I'm actually using Asterisk 11.6-cert1) then there is a conflict with ICE and RTP communication

More information here: http://forums.digium.com/viewtopic.php?f=1&t=89389

Maybe is buggy somewhere in the code, please check this out, because is good job for integrating the Codec with Asterisk

meetecho commented 10 years ago

This patch doesn't change anything in ICE, and in RTP only adds hooks to the Opus and VP8 codecs, so it's unlikely the cause is the patch itself. Anyway, you may want to try this other patch:

https://github.com/netaskd/asterisk-opus/

which is a fork of this one adapted for 11.4 and 11.5, and so it may suit better to 11.6.

SirLouen commented 10 years ago

Same problems with the fork using the 11.5 opus-asterisk-patch version

Here is the error found in SIPml5 for example in the Chrome (32) SIP log: SetRemoteDescription failed: Called with an SDP without ice-ufrag and ice-pwd.

I dont find this issue if I don't use an ICE-forced phone, for example, using a softphone like PhonerLite with Opus activated

meetecho commented 10 years ago

Ah so it's probably not an ICE/RTP issue, but an SDP one. I guess the patched Asterisk simply is not adding the ICE candidate information. Have you verified it works fine with an unpatched 11.6 Asterisk instead?

Check if any hooks when applying the patch fail or have warnings: considering the different versions, some of them may be incorrectly applied and messing with some lines, e.g., those adding the ice-ufrag and ice-pwd.

SirLouen commented 10 years ago

Yes, I've tested with an unpatched 11.6 and it works perfectly

Testing with the netaskd 11.5 fork during the patch this is the verbose:

Hmm... Looks like a unified diff to me... The text leading up to this was:

|--- a/build_tools/menuselect-deps.in 2012-07-25 16:21:54.000000000 +0400 |+++ b/build_tools/menuselect-deps.in 2013-06-10 18:25:18.439426627 +0400

Patching file build_tools/menuselect-deps.in using Plan A... Hunk #1 succeeded at 40. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/channels/chan_sip.c 2013-03-27 23:51:29.000000000 +0400 |+++ b/channels/chan_sip.c 2013-06-10 18:25:18.470430575 +0400

Patching file channels/chan_sip.c using Plan A... Hunk #1 succeeded at 7792 (offset 35 lines). Hunk #2 succeeded at 11080 (offset 35 lines). Hunk #3 succeeded at 11119 (offset 35 lines). Hunk #4 succeeded at 11186 (offset 35 lines). Hunk #5 succeeded at 12757 (offset 35 lines). Hunk #6 succeeded at 12790 (offset 35 lines). Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/codecs/codec_opus.c 1970-01-01 03:00:00.000000000 +0300 |+++ b/codecs/codec_opus.c 2013-06-10 18:25:18.477411840 +0400

Patching file codecs/codec_opus.c using Plan A... Hunk #1 succeeded at 1. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/codecs/ex_opus.h 1970-01-01 03:00:00.000000000 +0300 |+++ b/codecs/ex_opus.h 2013-06-10 18:25:18.477411840 +0400

Patching file codecs/ex_opus.h using Plan A... Hunk #1 succeeded at 1. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/configure.ac 2013-02-26 23:45:09.000000000 +0400 |+++ b/configure.ac 2013-06-10 18:25:18.479439154 +0400

Patching file configure.ac using Plan A... Hunk #1 succeeded at 422. Hunk #2 succeeded at 2126 (offset 7 lines). Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/formats/format_vp8.c 1970-01-01 03:00:00.000000000 +0300 |+++ b/formats/format_vp8.c 2013-06-10 18:25:18.480457409 +0400

Patching file formats/format_vp8.c using Plan A... Hunk #1 succeeded at 1. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/include/asterisk/format.h 2012-07-13 22:41:07.000000000 +0400 |+++ b/include/asterisk/format.h 2013-06-10 18:25:18.480457409 +0400

Patching file include/asterisk/format.h using Plan A... Hunk #1 succeeded at 101. Hunk #2 succeeded at 114. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/main/channel.c 2013-05-09 18:21:31.000000000 +0400 |+++ b/main/channel.c 2013-06-10 18:25:18.489517352 +0400

Patching file main/channel.c using Plan A... Hunk #1 succeeded at 914. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/main/format.c 2012-12-05 06:19:43.000000000 +0400 |+++ b/main/format.c 2013-06-10 18:25:18.490487801 +0400

Patching file main/format.c using Plan A... Hunk #1 succeeded at 430. Hunk #2 succeeded at 452. Hunk #3 succeeded at 538. Hunk #4 succeeded at 560. Hunk #5 succeeded at 794. Hunk #6 succeeded at 1086. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/main/frame.c 2012-07-24 20:54:26.000000000 +0400 |+++ b/main/frame.c 2013-06-10 18:25:18.490487801 +0400

Patching file main/frame.c using Plan A... Hunk #1 succeeded at 1002. Hunk #2 succeeded at 1117. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/main/rtp_engine.c 2013-02-13 00:31:52.000000000 +0400 |+++ b/main/rtp_engine.c 2013-06-10 18:25:18.494532446 +0400

Patching file main/rtp_engine.c using Plan A... Hunk #1 succeeded at 2289. Hunk #2 succeeded at 2333. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/makeopts.in 2013-01-19 01:10:23.000000000 +0400 |+++ b/makeopts.in 2013-06-10 18:25:18.495508515 +0400

Patching file makeopts.in using Plan A... Hunk #1 succeeded at 262. Hmm... The next patch looks like a unified diff to me... The text leading up to this was:

|--- a/res/res_rtp_asterisk.c 2013-03-27 21:06:07.000000000 +0400 |+++ b/res/res_rtp_asterisk.c 2013-06-10 18:25:18.497487325 +0400

Patching file res/res_rtp_asterisk.c using Plan A... Hunk #1 succeeded at 94 (offset 3 lines). Hunk #2 succeeded at 357 (offset 8 lines). Hunk #3 succeeded at 2662 (offset 42 lines). Hunk #4 succeeded at 2748 (offset 42 lines).

SirLouen commented 10 years ago

Something found in this? I feel it would be great to have Opus on a Certified Asterisk Revision :)

SirLouen commented 9 years ago

Which patch could be the most appropiate to Asterisk 11.6-cert4?