Hi,
Quick (and simple) question:
Can someone provide a working RTPengine request, to enable Transcoding?
I know, this is possible, but I thought before looking into deep, how this should be configured for the rtpengine_offer() command, could someone provide an example?
Thanks, Carsten
On 2018-02-16 07:55 PM, Carsten Bock wrote:
Hi,
Quick (and simple) question:
Can someone provide a working RTPengine request, to enable Transcoding?
I know, this is possible, but I thought before looking into deep, how this should be configured for the rtpengine_offer() command, could someone provide an example?
It's pretty straight forward.
Example: A offers some SDP to B.
Let's say you think B probably speaks PCMU, so you want to make sure to offer it, even if A didn't offer it: forward transcoding. Add `transcode-PCMU`.
Let's say you also know B is allergic to PCMA, so you want to remove it from the offer to B, but still be able to speak it to A: backward transcoding. Add `codec-mask-PCMA`.
These two cases are really independent of each other, but can be combined.
Full example with some other options:
rtpengine_offer('ICE=remove rtcp-mux-demux codec-mask-PCMA transcode-PCMU')
Simple!
Cheers
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
On 17 February 2018 at 02:53, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-16 07:55 PM, Carsten Bock wrote:
Hi,
Quick (and simple) question:
Can someone provide a working RTPengine request, to enable Transcoding?
I know, this is possible, but I thought before looking into deep, how this should be configured for the rtpengine_offer() command, could someone provide an example?
It's pretty straight forward.
Example: A offers some SDP to B.
Let's say you think B probably speaks PCMU, so you want to make sure to offer it, even if A didn't offer it: forward transcoding. Add `transcode-PCMU`.
Let's say you also know B is allergic to PCMA, so you want to remove it from the offer to B, but still be able to speak it to A: backward transcoding. Add `codec-mask-PCMA`.
These two cases are really independent of each other, but can be combined.
Full example with some other options:
rtpengine_offer('ICE=remove rtcp-mux-demux codec-mask-PCMA transcode-PCMU')
Simple!
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hello,
with this command:
*rtpengine --codecs*
PCMA: fully supported PCMU: fully supported G723: fully supported G722: fully supported QCELP: supported for decoding only G729: supported for decoding only speex: fully supported GSM: fully supported iLBC: not supported opus: fully supported vorbis: fully supported ac3: fully supported eac3: fully supported ATRAC3: supported for decoding only ATRAC-X: supported for decoding only AMR: fully supported AMR-WB: fully supported PCM-S16LE: fully supported MP3: fully supported
you can see the list of codecs are supported or not and how use them
Regards
--- I'm SoCIaL, MayBe
El 19/02/2018 a las 05:48, Denys Pozniak escribió:
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
On 17 February 2018 at 02:53, Richard Fuchs <rfuchs@sipwise.com mailto:rfuchs@sipwise.com> wrote:
On 2018-02-16 07:55 PM, Carsten Bock wrote: Hi, Quick (and simple) question: Can someone provide a working RTPengine request, to enable Transcoding? I know, this is possible, but I thought before looking into deep, how this should be configured for the rtpengine_offer() command, could someone provide an example? It's pretty straight forward. Example: A offers some SDP to B. Let's say you think B probably speaks PCMU, so you want to make sure to offer it, even if A didn't offer it: forward transcoding. Add `transcode-PCMU`. Let's say you also know B is allergic to PCMA, so you want to remove it from the offer to B, but still be able to speak it to A: backward transcoding. Add `codec-mask-PCMA`. These two cases are really independent of each other, but can be combined. Full example with some other options: rtpengine_offer('ICE=remove rtcp-mux-demux codec-mask-PCMA transcode-PCMU') Simple! Cheers _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
--
BR Denys Pozniak
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
On 2018-02-19 05:48 AM, Denys Pozniak wrote:
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
As explained in the readme, the format generally follows the SDP format, including specifying sample rate and number of channels. As an additional parameter, the bitrate can be specified for codecs that support it.
Examples:
transcode-speex/32000
transcode-opus/48000/2/64000
Cheers
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
On 19 February 2018 at 13:56, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-19 05:48 AM, Denys Pozniak wrote:
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
As explained in the readme, the format generally follows the SDP format, including specifying sample rate and number of channels. As an additional parameter, the bitrate can be specified for codecs that support it.
Examples:
transcode-speex/32000
transcode-opus/48000/2/64000
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi Denys,
Am not much user of Kamilio, but am from Telecom background. The reason for your case is, in side A you have OPUS and in side B already OPUS is available and since both has the same codec as first priority it will negotiate itself with same codec and then it will look for other priority. Remove OPUS from side A and it will automatically go into transcoding mode.
On Tue, 20 Feb 2018 at 16:17 Denys Pozniak denys.pozniak@crazycall.com wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
On 19 February 2018 at 13:56, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-19 05:48 AM, Denys Pozniak wrote:
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
As explained in the readme, the format generally follows the SDP format, including specifying sample rate and number of channels. As an additional parameter, the bitrate can be specified for codecs that support it.
Examples:
transcode-speex/32000
transcode-opus/48000/2/64000
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Thank you for the answer, but from "SDP" point of view everything looks OK, I think issue is with my config or transcoding engine:
Side A INVITE-> Proxy/Rtpengine:
v=0 o=- 3543840537 1 IN IP4 s=SIPPER for PhonerLite c=IN IP4 side_a t=0 0 m=audio 55062 RTP/AVP 107 8 a=rtpmap:107 opus/48000/2 a=rtpmap:8 PCMA/8000 a=ssrc:1792443851 a=sendrecv
Proxy/Rtpengine OK -> Side A:
v=0 o=- 3728121777 3728121778 IN IP4 s=pjmedia b=AS:50 t=0 0 a=X-nat:0 m=audio 30254 RTP/AVP 8 c=IN IP4 rtpengine b=TIAS:32000 a=rtpmap:8 PCMA/8000 a=sendrecv a=rtcp:30255
So here must be PCMA in direction from Proxy/Rtpengine -> Side A, but I have opus.
On 20 February 2018 at 12:41, Gopalakrishnan N saigop@gmail.com wrote:
Hi Denys,
Am not much user of Kamilio, but am from Telecom background. The reason for your case is, in side A you have OPUS and in side B already OPUS is available and since both has the same codec as first priority it will negotiate itself with same codec and then it will look for other priority. Remove OPUS from side A and it will automatically go into transcoding mode.
On Tue, 20 Feb 2018 at 16:17 Denys Pozniak denys.pozniak@crazycall.com wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
On 19 February 2018 at 13:56, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-19 05:48 AM, Denys Pozniak wrote:
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
As explained in the readme, the format generally follows the SDP format, including specifying sample rate and number of channels. As an additional parameter, the bitrate can be specified for codecs that support it.
Examples:
transcode-speex/32000
transcode-opus/48000/2/64000
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Yes correct. RTP is good since the OPUS codec is available in both the sides its getting negotiated. Change your config in side A to take only PCMA effective.
On Tue, 20 Feb 2018 at 18:05 Denys Pozniak denys.pozniak@crazycall.com wrote:
Thank you for the answer, but from "SDP" point of view everything looks OK, I think issue is with my config or transcoding engine:
Side A INVITE-> Proxy/Rtpengine:
v=0 o=- 3543840537 1 IN IP4 s=SIPPER for PhonerLite c=IN IP4 side_a t=0 0 m=audio 55062 RTP/AVP 107 8 a=rtpmap:107 opus/48000/2 a=rtpmap:8 PCMA/8000 a=ssrc:1792443851 a=sendrecv
Proxy/Rtpengine OK -> Side A:
v=0 o=- 3728121777 3728121778 IN IP4 s=pjmedia b=AS:50 t=0 0 a=X-nat:0 m=audio 30254 RTP/AVP 8 c=IN IP4 rtpengine b=TIAS:32000 a=rtpmap:8 PCMA/8000 a=sendrecv a=rtcp:30255
So here must be PCMA in direction from Proxy/Rtpengine -> Side A, but I have opus.
On 20 February 2018 at 12:41, Gopalakrishnan N saigop@gmail.com wrote:
Hi Denys,
Am not much user of Kamilio, but am from Telecom background. The reason for your case is, in side A you have OPUS and in side B already OPUS is available and since both has the same codec as first priority it will negotiate itself with same codec and then it will look for other priority. Remove OPUS from side A and it will automatically go into transcoding mode.
On Tue, 20 Feb 2018 at 16:17 Denys Pozniak denys.pozniak@crazycall.com wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
On 19 February 2018 at 13:56, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-19 05:48 AM, Denys Pozniak wrote:
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
As explained in the readme, the format generally follows the SDP format, including specifying sample rate and number of channels. As an additional parameter, the bitrate can be specified for codecs that support it.
Examples:
transcode-speex/32000
transcode-opus/48000/2/64000
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
But I use *rtpengine_answer("codec-mask-opus codec-transcode-PCMA")* and as I understand it should mask opus in OK and enable transcoding to PCMA. "Change your config in side A to take only PCMA effective." - yes, I tested and it works well, but it is out of my scenario.
On 20 February 2018 at 14:54, Gopalakrishnan N saigop@gmail.com wrote:
Yes correct. RTP is good since the OPUS codec is available in both the sides its getting negotiated. Change your config in side A to take only PCMA effective.
On Tue, 20 Feb 2018 at 18:05 Denys Pozniak denys.pozniak@crazycall.com wrote:
Thank you for the answer, but from "SDP" point of view everything looks OK, I think issue is with my config or transcoding engine:
Side A INVITE-> Proxy/Rtpengine:
v=0 o=- 3543840537 1 IN IP4 s=SIPPER for PhonerLite c=IN IP4 side_a t=0 0 m=audio 55062 RTP/AVP 107 8 a=rtpmap:107 opus/48000/2 a=rtpmap:8 PCMA/8000 a=ssrc:1792443851 a=sendrecv
Proxy/Rtpengine OK -> Side A:
v=0 o=- 3728121777 3728121778 IN IP4 s=pjmedia b=AS:50 t=0 0 a=X-nat:0 m=audio 30254 RTP/AVP 8 c=IN IP4 rtpengine b=TIAS:32000 a=rtpmap:8 PCMA/8000 a=sendrecv a=rtcp:30255
So here must be PCMA in direction from Proxy/Rtpengine -> Side A, but I have opus.
On 20 February 2018 at 12:41, Gopalakrishnan N saigop@gmail.com wrote:
Hi Denys,
Am not much user of Kamilio, but am from Telecom background. The reason for your case is, in side A you have OPUS and in side B already OPUS is available and since both has the same codec as first priority it will negotiate itself with same codec and then it will look for other priority. Remove OPUS from side A and it will automatically go into transcoding mode.
On Tue, 20 Feb 2018 at 16:17 Denys Pozniak denys.pozniak@crazycall.com wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
On 19 February 2018 at 13:56, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-19 05:48 AM, Denys Pozniak wrote:
Hello!
Small note. In case of opus use: codec-transcode-opus (opus is lowercase).
As explained in the readme, the format generally follows the SDP format, including specifying sample rate and number of channels. As an additional parameter, the bitrate can be specified for codecs that support it.
Examples:
transcode-speex/32000
transcode-opus/48000/2/64000
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Ok I never tested with kamilio.
Probably someone can assist here using kamilio.
Thanks.
On Tue 20 Feb, 2018, 8:12 PM Denys Pozniak, denys.pozniak@crazycall.com wrote:
But I use *rtpengine_answer("codec-mask-opus codec-transcode-PCMA")* and as I understand it should mask opus in OK and enable transcoding to PCMA. "Change your config in side A to take only PCMA effective." - yes, I tested and it works well, but it is out of my scenario.
On 20 February 2018 at 14:54, Gopalakrishnan N saigop@gmail.com wrote:
Yes correct. RTP is good since the OPUS codec is available in both the sides its getting negotiated. Change your config in side A to take only PCMA effective.
On Tue, 20 Feb 2018 at 18:05 Denys Pozniak denys.pozniak@crazycall.com wrote:
Thank you for the answer, but from "SDP" point of view everything looks OK, I think issue is with my config or transcoding engine:
Side A INVITE-> Proxy/Rtpengine:
v=0 o=- 3543840537 1 IN IP4 s=SIPPER for PhonerLite c=IN IP4 side_a t=0 0 m=audio 55062 RTP/AVP 107 8 a=rtpmap:107 opus/48000/2 a=rtpmap:8 PCMA/8000 a=ssrc:1792443851 a=sendrecv
Proxy/Rtpengine OK -> Side A:
v=0 o=- 3728121777 3728121778 IN IP4 s=pjmedia b=AS:50 t=0 0 a=X-nat:0 m=audio 30254 RTP/AVP 8 c=IN IP4 rtpengine b=TIAS:32000 a=rtpmap:8 PCMA/8000 a=sendrecv a=rtcp:30255
So here must be PCMA in direction from Proxy/Rtpengine -> Side A, but I have opus.
On 20 February 2018 at 12:41, Gopalakrishnan N saigop@gmail.com wrote:
Hi Denys,
Am not much user of Kamilio, but am from Telecom background. The reason for your case is, in side A you have OPUS and in side B already OPUS is available and since both has the same codec as first priority it will negotiate itself with same codec and then it will look for other priority. Remove OPUS from side A and it will automatically go into transcoding mode.
On Tue, 20 Feb 2018 at 16:17 Denys Pozniak denys.pozniak@crazycall.com wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
On 19 February 2018 at 13:56, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-19 05:48 AM, Denys Pozniak wrote:
> Hello! > > Small note. > In case of opus use: codec-transcode-opus (opus is lowercase). >
As explained in the readme, the format generally follows the SDP format, including specifying sample rate and number of channels. As an additional parameter, the bitrate can be specified for codecs that support it.
Examples:
transcode-speex/32000
transcode-opus/48000/2/64000
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
BR Denys Pozniak _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
On 2018-02-20 05:46 AM, Denys Pozniak wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
You don't need to put any transcoding options into rtpengine_answer() - they should all go into rtpengine_offer()
Since A supports all codecs that B supports except PCMU, you can add PCMU into the offer going to B with:
rtpengine_offer("... transcode-PCMU")
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.
If you want to force PCMA on A's side and Opus on B's side, you need to:
1) accept PCMA from A, but don't offer it to B: codec-mask-PCMA 2) ignore that Opus was offered from A: codec-strip-opus 3) offer Opus to B: transcode-opus
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:
rtpengine_offer("... ICE=remove codec-mask-PCMA codec-strip-opus transcode-opus")
Cheers
Thank you, Richard! Works well!
On 20 February 2018 at 20:00, Richard Fuchs rfuchs@sipwise.com wrote:
On 2018-02-20 05:46 AM, Denys Pozniak wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
You don't need to put any transcoding options into rtpengine_answer() - they should all go into rtpengine_offer()
Since A supports all codecs that B supports except PCMU, you can add PCMU into the offer going to B with:
rtpengine_offer("... transcode-PCMU")
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.
If you want to force PCMA on A's side and Opus on B's side, you need to:
- accept PCMA from A, but don't offer it to B: codec-mask-PCMA
- ignore that Opus was offered from A: codec-strip-opus
- offer Opus to B: transcode-opus
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:
rtpengine_offer("... ICE=remove codec-mask-PCMA codec-strip-opus transcode-opus")
Cheers
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi,
I am trying the following scenario: - Caller (Side A) supports: G722 PCMA PCMU G729
Callee (Side B) supports: PCMA PCMU G729
I have configured like this: rtpengine_offer("...codec-mask-opus codec-mask-G722 codec-mask-PCMA codec-mask-PCMU codec-mask-G729 transcode-PCMA transcode-PCMU transcode-G729")
But both sides end up on PCMA; where as I would like G722 for Caller side and PCMA for Callee's end and rtpengine should transcode between G722 to PCMA and vice versa.
Please can someone guide me.
Thanks
Regards Muhammad Zaka
-----Original Message----- From: sr-users [mailto:sr-users-bounces@lists.kamailio.org] On Behalf Of Richard Fuchs Sent: 20 February 2018 19:01 To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] RTPengine - Transcoding example available?
On 2018-02-20 05:46 AM, Denys Pozniak wrote:
Hello!
Please explain how to achive next:
Side A supports: OPUS PCMA
Side B supports: OPUS PCMA PCMU
I need to transcode in direction A->B from PCMA to OPUS? So should be like this: A(PCMA) -> (PCMA)Rtpengine(OPUS)->B(OPUS)
I configured like this: rtpengine_offer("codec-mask-PCMA codec-transcode-opus"); rtpengine_answer("codec-mask-opus codec-transcode-PCMA");
But leg from Rtpengine to A has wrong codec (OPUS): https://drive.google.com/file/d/14GAIt8lL7Igj9S95b_RS6CXtmGVhjLa1/view
You don't need to put any transcoding options into rtpengine_answer() - they should all go into rtpengine_offer()
Since A supports all codecs that B supports except PCMU, you can add PCMU into the offer going to B with:
rtpengine_offer("... transcode-PCMU")
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.
If you want to force PCMA on A's side and Opus on B's side, you need to:
1) accept PCMA from A, but don't offer it to B: codec-mask-PCMA 2) ignore that Opus was offered from A: codec-strip-opus 3) offer Opus to B: transcode-opus
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:
rtpengine_offer("... ICE=remove codec-mask-PCMA codec-strip-opus transcode-opus")
Cheers
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users