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!
