<div dir="ltr">Olle,<div><br></div><div style>I did a quick test having Chrome call PhonerLite passing through Asterisk, and the Opus passthrough worked fine. I guess that, for an optimal Opus passthrough implementation, we&#39;d need to also pass the SDP parameters through (e.g., in case both peers support FEC and want to use it) but its something that can be added later on.</div>
<div style><br></div><div style>Lorenzo</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/6/5 Olle E. Johansson <span dir="ltr">&lt;<a href="mailto:oej@edvina.net" target="_blank">oej@edvina.net</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
5 jun 2013 kl. 09:37 skrev Andrea Suisani &lt;<a href="mailto:sickpig@opinioni.net">sickpig@opinioni.net</a>&gt;:<br>
<div class="im"><br>
&gt; Hi all<br>
&gt;<br>
&gt; sorry for being late. I&#39;ve managed to focus again on this subject only<br>
&gt; this morning and luckily enough Lorenzo have already fix the issue!<br>
&gt;<br>
&gt; as James I&#39;ve tested those scenarios:<br>
&gt;<br>
&gt;        (sip+opus)             (iax2+gsm)<br>
&gt; WebRTC -----------&gt;  Asterisk ------------&gt; pstn<br>
&gt;<br>
&gt;<br>
&gt;        (sip+opus)             (sip+gsm)<br>
&gt; WebRTC -----------&gt;  Asterisk ------------&gt; pstn<br>
&gt;<br>
&gt;<br>
&gt;        (sip+opus)             (iax2+g729)<br>
&gt; WebRTC -----------&gt;  Asterisk ------------&gt; pstn<br>
&gt;<br>
&gt;<br>
&gt;        (sip+opus)             (sip+g729)<br>
&gt; WebRTC -----------&gt;  Asterisk ------------&gt; pstn<br>
&gt;<br>
&gt;<br>
&gt; and everything seems to work flawlessly.<br>
</div>Thanks for testing.<br>
<br>
Now, it would be interesting to see if we can get this call flow going<br>
<br>
SIP client with Opus   -----&gt; Asterisk with Opus passthrough (no codec) ------&gt; Sip client with Opus<br>
(Like WebRTC SIP UAs)<br>
<br>
Like Matt and Tzafrir mentioned - passthrough support of Opus and VP8 is something that can be<br>
included in Asterisk now.<br>
<span class="HOEnZb"><font color="#888888"><br>
/O<br>
</font></span><div class="HOEnZb"><div class="h5">&gt;<br>
&gt; And the next few days I&#39;ll test that configuration<br>
&gt; more thoroughly and I&#39;ll report back<br>
&gt;<br>
&gt; many thanks<br>
&gt;<br>
&gt; I owe Lorenzo a beer (or two) and since we are both Italian<br>
&gt; maybe we will get a chance to drink that together :)<br>
&gt;<br>
&gt;<br>
&gt; On 06/04/2013 05:55 PM, James Mortensen wrote:<br>
&gt;&gt; Hello Lorenzo!<br>
&gt;&gt;<br>
&gt;&gt; It always comes down to just a few lines of code, doesn&#39;t it. At any rate, YOU ROCK!<br>
&gt;&gt; We made the changes and verified the call leg from Chrome to Asterisk uses Opus, and we<br>
&gt;&gt; were able to transcode to both g729 and ulaw for the call leg to our PSTN trunk provider!<br>
&gt;&gt;<br>
&gt;&gt; Nice work!  Thank you again for the patch and for moving the world of WebRTC forward.<br>
&gt;&gt;<br>
&gt;&gt; James<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Jun 4, 2013 at 8:31 AM, Lorenzo Miniero &lt;<a href="mailto:lminiero@gmail.com">lminiero@gmail.com</a> &lt;mailto:<a href="mailto:lminiero@gmail.com">lminiero@gmail.com</a>&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;    Dear James and all,<br>
&gt;&gt;<br>
&gt;&gt;    I managed to find out the cause of the issue. I simply forgot (mea culpa!) to add a couple of lines to the patch (which is why I couldn&#39;t replicate it in my setup, where the lines exist) which tells Asterisk which rate to use for the format. As you know, Opus always uses 48kHz, while the default<br>

&gt;&gt;    in Asterisk is 8000: this caused wrong timestamp increase calculations on the non-Opus RTP leg, and hence the corrupt audio.<br>
&gt;&gt;<br>
&gt;&gt;    I updated the patch on the repository. If you don&#39;t want to apply the patch again, just add these lines in the ast_format_rate method of format.c:<br>
&gt;&gt;<br>
&gt;&gt;    /* Opus */<br>
&gt;&gt;    case AST_FORMAT_OPUS:<br>
&gt;&gt;    return 48000;<br>
&gt;&gt;<br>
&gt;&gt;    and make/make install again. The easiest thing to do is put this as the last case before the default.<br>
&gt;&gt;<br>
&gt;&gt;    Let me know if this fixes the issue,<br>
&gt;&gt;    Lorenzo<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;    2013/5/30 James Mortensen &lt;<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;&gt;<br>

&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;        On Thu, May 30, 2013 at 5:15 AM, Lorenzo Miniero &lt;<a href="mailto:lminiero@gmail.com">lminiero@gmail.com</a> &lt;mailto:<a href="mailto:lminiero@gmail.com">lminiero@gmail.com</a>&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;            James,<br>
&gt;&gt;<br>
&gt;&gt;            I mostly tested it in conferencing scenarios, using ConfBridge to attach heterogeneous peers. In those scenarios, I used both Chrome and Firefox (using the DTLS-SRTP hacks I mentioned in the other thread), and PhonerLite as well. For other codecs I used a bunch of softphones, our Java<br>

&gt;&gt;            applet (wideband speex) and calls from the PSTN using a VoIP gateway. This way it seems to work as expected.<br>
&gt;&gt;<br>
&gt;&gt;            At the beginning, through, I mostly used PhonerLite and Linphone calling each other through Asterisk to test the codec, and I can&#39;t recall issues like those you mentioned, but I didn&#39;t test this intensively. As I anticipated, I&#39;m currently traveling and won&#39;t be able to do any testing<br>

&gt;&gt;            until Saturday: I&#39;ll keep you posted about this.<br>
&gt;&gt;<br>
&gt;&gt;            Lorenzo<br>
&gt;&gt;<br>
&gt;&gt;            Il giorno 30/mag/2013 00:43, &quot;James Mortensen&quot; &lt;<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;&gt; ha scritto:<br>

&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                On Wed, May 29, 2013 at 11:06 AM, Lorenzo Miniero &lt;<a href="mailto:lminiero@gmail.com">lminiero@gmail.com</a> &lt;mailto:<a href="mailto:lminiero@gmail.com">lminiero@gmail.com</a>&gt;&gt; wrote:<br>

&gt;&gt;<br>
&gt;&gt;                    2013/5/29 James Mortensen &lt;<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;&gt;<br>

&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                        On Wed, May 29, 2013 at 8:37 AM, James Mortensen &lt;<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;&gt; wrote:<br>

&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                            There appears to be paths for both ulaw as well as g729.<br>
&gt;&gt;<br>
&gt;&gt;                            I did try the patch on Asterisk 11.1.2, but shifted gears when I realized the crypto headers are buggy as per <a href="https://issues.asterisk.org/jira/browse/ASTERISK-20849" target="_blank">https://issues.asterisk.org/jira/browse/ASTERISK-20849</a>.  However, I&#39;ll apply the patch to fix that issue and then try a call on Asterisk 11.1.2.<br>

&gt;&gt;<br>
&gt;&gt;                            I&#39;ll follow up with additional details when I know more.  Again, thank you for your time and your work on this. We&#39;re really stoked about getting opus working in Asterisk! :)<br>

&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                            --<br>
&gt;&gt;                            James Mortensen<br>
&gt;&gt;                            Project Manager, VoiceCurve, Inc.<br>
&gt;&gt;                            <a href="tel:866-707-4590" value="+18667074590">866-707-4590</a> &lt;tel:<a href="tel:866-707-4590" value="+18667074590">866-707-4590</a>&gt;<br>
&gt;&gt;                            <a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;<br>

&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                        Hi Lorenzo,<br>
&gt;&gt;<br>
&gt;&gt;                        The problem exists on Asterisk 11.1.2 as well.  It sounds like the two parties are talking underwater.  Please let me know if there&#39;s any other details that I can get you.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                    Ok, thanks for the details and the clarification. Unfortunately I&#39;ll be out of office for the next two days so I won&#39;t be able to look into this right away, but I&#39;ll check what may be going wrong as soon as I get back to work.<br>

&gt;&gt;<br>
&gt;&gt;                    Please keep me posted if you find any additional info that may be of use.<br>
&gt;&gt;<br>
&gt;&gt;                    Cheers,<br>
&gt;&gt;                    Lorenzo<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                        --<br>
&gt;&gt;                        James Mortensen<br>
&gt;&gt;                        Project Manager, VoiceCurve, Inc.<br>
&gt;&gt;                        <a href="tel:866-707-4590" value="+18667074590">866-707-4590</a> &lt;tel:<a href="tel:866-707-4590" value="+18667074590">866-707-4590</a>&gt;<br>
&gt;&gt;                        <a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                Hi Lorenzo,<br>
&gt;&gt;<br>
&gt;&gt;                I wanted to let you know that our trunk provider supports both ulaw and g729. We&#39;re using Chrome with JsSIP in the browser.<br>
&gt;&gt;<br>
&gt;&gt;                We&#39;ve tried calls transcoding to/from ulaw to opus and g729 to opus, and we still hear the robotic audio in both scenarios, and this is on both Asterisk 11.1.2 and Asterisk 11.4.0.<br>
&gt;&gt;<br>
&gt;&gt;                What is your setup like, as it sounds like you actually have this working?  What codecs are you transcoding to/from?  Are you making calls from the browser at all or are you only testing with that PhonerLite system?<br>

&gt;&gt;<br>
&gt;&gt;                Also, our SIP clients are on Mac OS 10.8.  The Asterisk server is on Ubuntu 12.04.  I installed the opus libraries from this site: <a href="http://www.opus-codec.org/downloads/" target="_blank">http://www.opus-codec.org/downloads/</a> using the latest version, 1.0.2<br>

&gt;&gt;<br>
&gt;&gt;                Hope this helps!  Let us know if there&#39;s anything else we should try.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;                --<br>
&gt;&gt;                James Mortensen<br>
&gt;&gt;                Project Manager, VoiceCurve, Inc.<br>
&gt;&gt;                <a href="tel:866-707-4590" value="+18667074590">866-707-4590</a> &lt;tel:<a href="tel:866-707-4590" value="+18667074590">866-707-4590</a>&gt;<br>
&gt;&gt;                <a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;        Hi Lorenzo,<br>
&gt;&gt;<br>
&gt;&gt;        Thanks again for your help.  When you do get back around to this, can you specifically test the scenario where you&#39;re calling from Chrome to Asterisk to the PSTN?  Using the codecs opus to g729 and opus to ulaw?<br>

&gt;&gt;<br>
&gt;&gt;        We really appreciate the work you&#39;re doing on this!  Thank you again!<br>
&gt;&gt;<br>
&gt;&gt;        James<br>
&gt;&gt;<br>
&gt;&gt;        --<br>
&gt;&gt;        James Mortensen<br>
&gt;&gt;        Project Manager, VoiceCurve, Inc.<br>
&gt;&gt;        <a href="tel:866-707-4590" value="+18667074590">866-707-4590</a> &lt;tel:<a href="tel:866-707-4590" value="+18667074590">866-707-4590</a>&gt;<br>
&gt;&gt;        <a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; James Mortensen<br>
&gt;&gt; Project Manager, VoiceCurve, Inc.<br>
&gt;&gt; <a href="tel:866-707-4590" value="+18667074590">866-707-4590</a><br>
&gt;&gt; <a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a> &lt;mailto:<a href="mailto:james.mortensen@voicecurve.com">james.mortensen@voicecurve.com</a>&gt;<br>
&gt;<br>
&gt;<br>
</div></div><div class="HOEnZb"><div class="h5">&gt; --<br>
&gt; _____________________________________________________________________<br>
&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;<br>
&gt; asterisk-dev mailing list<br>
&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;  <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
<br>
<br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</div></div></blockquote></div><br></div>