Thanks Daniel. I had been looking at the documentation for 5.2 since that's
what the customer uses, and it appears that those functions are new in 5.8.
We'll upgrade and give it a try.


On Fri, 19 Dec 2025 at 05:39, Daniel-Constantin Mierla <[email protected]>
wrote:

> 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)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
>>
>>
>
> --
> 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
>
>

-- 
David Cunningham, Voisonics Limited
http://voisonics.com/
USA: +1 213 221 1092
New Zealand: +64 (0)28 2558 3782
__________________________________________________________
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!

Reply via email to