<div dir="ltr">Thank you, Richard!<div>Works well!<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 20 February 2018 at 20:00, Richard Fuchs <span dir="ltr"><<a href="mailto:rfuchs@sipwise.com" target="_blank">rfuchs@sipwise.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2018-02-20 05:46 AM, Denys Pozniak wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello!<br>
<br><span class="">
Please explain how to achive next:<br>
<br>
Side A supports:<br>
OPUS<br>
PCMA<br>
<br>
Side B supports:<br>
OPUS<br>
PCMA<br>
PCMU<br>
<br>
I need to transcode in direction A->B from PCMA to OPUS?<br>
So should be like this:<br>
A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)<br>
<br>
I configured like this:<br>
rtpengine_offer("codec-mask-PC<wbr>MA codec-transcode-opus");<br>
rtpengine_answer("codec-mask-o<wbr>pus codec-transcode-PCMA");<br>
<br>
But leg from Rtpengine to A has wrong codec (OPUS):<br>
<a href="https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view" rel="noreferrer" target="_blank">https://drive.google.com/file/<wbr>d/14GAIt8lL7Igj9S95b_RS6CXtmGV<wbr>hjLa1/view</a><br>
<br>
</span></blockquote>
<br>
You don't need to put any transcoding options into rtpengine_answer() - they should all go into rtpengine_offer()<br>
<br>
Since A supports all codecs that B supports except PCMU, you can add PCMU into the offer going to B with:<br>
<br>
rtpengine_offer("... transcode-PCMU")<br>
<br>
But most likely both sides will end up talking Opus (without transcoding) since they both support it and it's listed first. If B ends up talking PCMU to rtpengine, it will transcode it to Opus as A doesn't support PCMA and Opus is first in its list. If either side ends up talking PCMA, it's also passed through without transcoding since both sides support it.<br>
<br>
If you want to force PCMA on A's side and Opus on B's side, you need to:<br>
<br>
1) accept PCMA from A, but don't offer it to B: codec-mask-PCMA<br>
2) ignore that Opus was offered from A: codec-strip-opus<br>
3) offer Opus to B: transcode-opus<br>
<br>
Make sure you update your rtpengine code base as this use case has only just been implemented (previously the `transcode` option would simply negate the `codec-strip` which is not what you want). Full example:<br>
<br>
rtpengine_offer("... ICE=remove codec-mask-PCMA codec-strip-opus transcode-opus")<div class="HOEnZb"><div class="h5"><br>
<br>
Cheers<br>
<br>
______________________________<wbr>_________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi<wbr>-bin/mailman/listinfo/sr-users</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><br><div>BR</div><div>Denys Pozniak</div></div></div>
</div>