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