Hello,
On 17.12.25 23:35, David Cunningham wrote:
> Hi Henning and Daniel,
>
> Thank you very much for the replies. We moved the following
> configuration to reply_route{}, and now it inserts "a=sendonly"
> immediately before the "a=sendrecv" rather than appending it to the
> SDP as before. This configuration does use RTPengine as the call is
> from a WebRTC client. Have you any further idea why it's not actually
> replacing the "a=sendonly"?
>
> replace_body_all( "a=sendrecv",
> "a=sendonly" );
> msg_apply_changes();
>
> Daniel, from reading the sdpops documentation it's not clear how to
> iterate through an SDP. Could you please give us a pointer on that?
the functions to remove/insert/append should show how to use the
iterator, e.g.,:
-
https://www.kamailio.org/docs/modules/stable/modules/sdpops.html#sdpops.f.sdp_iterator_rm
For example, to replace for all media sessions:
sdp_iterator_start("s1");
while(sdp_iterator_next("s1")) {
if($sdpitval(s1) =~ "^a=sendrecv") {
sdp_iterator_rm("s1");
sdp_iterator_append("s1", "a=sendonly\r\n");
}
}
sdp_iterator_end("s1");
Cheers,
Daniel
>
> Thanks again.
>
>
> On Thu, 18 Dec 2025 at 00:23, Daniel-Constantin Mierla
> <[email protected]> wrote:
>
> Hello,
>
>
> On 17.12.25 02:08, David Cunningham via sr-users wrote:
>> Hello,
>>
>> We need to replace a=sendrecv with a=sendonly in the 200 OK reply
>> to an INVITE. In theory it should be something straightforward,
>> like in the onreply_route using:
>>
>> replace_body_all( "a=sendrecv", "a=sendonly" );
>>
>> or:
>>
>> subst_body( '/^a=sendrecv/a=sendonly/' )
>>
>> Our first problem is that these both are appending a=sendonly to
>> the end of the SDP, not replacing values within it. Does anyone
>> know why this might happen?
>
> it could be because of conflicting operations with rtpengine (or
> rtpproxy). You could try the replacement in the core reply_route()
> and then use msg_apply_changes.
>
>
>>
>> Our second problem is that we really only want to do this for
>> video media, and not touch the audio media. Are there any text
>> tools that allow you to work with specific media within the SDP?
>>
> The sdpops has an sdp iterator that could help: once you match the
> video stream, look for the sendrecv attrbute and replace the line.
>
> Cheers,
> Daniel
>
>
> --
> Daniel-Constantin Mierla (@ asipto.com <http://asipto.com>)
> twitter.com/miconda <http://twitter.com/miconda> --
> linkedin.com/in/miconda <http://linkedin.com/in/miconda>
> Kamailio Consultancy, Training and Development Services -- asipto.com
> <http://asipto.com>
> Kamailio World Conference, May 7-8, 2026 - Berlin, Germany --
> kamailioworld.com <http://kamailioworld.com>
>
>
>
> --
> David Cunningham, Voisonics Limited
> http://voisonics.com/
> USA: +1 213 221 1092
> New Zealand: +64 (0)28 2558 3782
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
Kamailio World Conference, May 7-8, 2026 - Berlin, Germany -- kamailioworld.com
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions --
[email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the
sender!