I tried updating from Opensips 3.2 to Opensips 3.4.2 as I saw that there was some re-invite fixes. Still doesn't seem to resolve this issue. What am I missing to handle this correctly?
Thank you. Kevin On Fri, Nov 3, 2023 at 12:51 PM Kevin Kennedy <[email protected]> wrote: > Dmitry, > Thank you for your response, it does appear to work this way and is > absorbing the ACK now, but when a Re-INVITE happens, it responds correctly > with the updated Cseq in the 100 Trying, but the 200 OK (using the > t_reply_with_body), still has the same Cseq as the initial INVITE. How can > I make adjustments for this? > > Thank you. > > Kevin > > On Fri, Nov 3, 2023 at 5:10 AM Dmitry Ponomaryov <[email protected]> > wrote: > >> It turns out that this is no early_media, there were simply successful >> attempts with 183 Session Progress, which is why there was such a >> misunderstanding, I’ll attach the snippet code again in plain text: >> route { if (is_method("INVITE")) { create_dialog(); route(media); exit; >> } } route[media] { if (has_body("application/sdp")) { rtpengine_offer(); >> } $json(reply) := $rtpquery; >> $var(port)=$json_pretty(reply/tags/$ft/medias[0]/streams[0]/local port); >> remove_body_part(); append_to_reply("Contact: >> <sip:$rU@$socket_in(ip):$socket_in(port);transport=udp;did=$DLG_did>\r\n"); >> >> append_to_reply("Content-Type: application/sdp\r\n"); $var(body) = >> $(rb{re.subst,/(IP4.).*/\1$socket_in(ip)/g}); $var(body) = >> $(var(body){re.subst,/(audio.)...../\1$var(port)/g}); >> t_reply_with_body(200, "OK", $var(body)); >> rtpengine_play_media("call-id=$ci from-tag=$ft >> file=/etc/rtpengine/media.wav"); async(sleep(10), after_media); } >> route[after_media] { if (t_was_cancelled()) { rtpengine_delete(); exit; >> } else { rtpengine_delete(); sl_send_reply(486,"Busy here"); exit; } } >> >> and pined previous posts below :) >> >> > ---------------------------------------------------------------------- >> > Message: 2 >> > Date: Fri, 3 Nov 2023 16:00:22 +0500 >> > From: Dmitry Ponomaryov<[email protected]> >> > To:[email protected] >> > Subject: Re: [OpenSIPS-Users] Opensips and rtpengine_play_media not >> > absorbing ACK >> > Message-ID:<[email protected]> >> > Content-Type: text/plain; charset="utf-8"; Format="flowed" >> > >> > Hello everyone, I would like to show my part of the code when playing >> > early media after 200OK, when creating dialogs, I substituted $DLG_did >> > in the contact of my dialog, and received the same $DLG_did for my >> > dialog in ACK, but OpenSIPS also continued to send 200OK , despite >> > having already received an ACK response. >> > >> > route { >> > >> > # initial invite >> > >> > if (is_method("INVITE")) { >> > >> > create_dialog(); >> > >> > route(early_media); >> > >> > exit; >> > >> > } >> > >> > } route[early_media] { if (has_body("application/sdp")) { >> > rtpengine_manage(); } $json(reply) := $rtpquery; >> > $var(port)=$json_pretty(reply/tags/$ft/medias[0]/streams[0]/local port); >> > remove_body_part(); >> > >> > append_to_reply("Contact: >> > <sip:$rU@ >> $socket_in(ip):$socket_in(port);transport=udp;did=$DLG_did>\r\n"); >> > >> > append_to_reply("Content-Type: application/sdp\r\n"); $var(body) = >> > $(rb{re.subst,/(IP4.).*/\1$socket_in(ip)/g}); $var(body) = >> > $(var(body){re.subst,/(audio.)...../\1$var(port)/g}); >> > t_reply_with_body(200, "OK", $var(body)); >> > rtpengine_play_media("call-id=$ci from-tag=$ft >> > file=/etc/rtpengine/media.wav"); async(sleep(10), after_early_media); } >> > route[after_early_media] { if (t_was_cancelled()) { rtpengine_delete(); >> > exit; } else { rtpengine_delete(); sl_send_reply(486,"Busy here"); exit; >> > } } >> > >> > I don’t know if Kevin example was with creating a dialog, but I also >> > noticed this problem through transaction... thanks >> > -------------- next part -------------- >> > An HTML attachment was scrubbed... >> > URL:< >> http://lists.opensips.org/pipermail/users/attachments/20231103/059cb479/attachment-0001.html >> > >> > ---------------------------------------------------------------------- >> > >> > Message: 1 >> > Date: Thu, 2 Nov 2023 16:32:02 -0700 >> > From: Kevin Kennedy<[email protected]> >> > To: OpenSIPS users mailling list<[email protected]> >> > Subject: [OpenSIPS-Users] Opensips and rtpengine_play_media not >> > absorbing ACK >> > Message-ID: >> > < >> cabdxsrxltp2_uex_upx1adg16af6gaetzjujutpki8c7h3k...@mail.gmail.com> >> > Content-Type: text/plain; charset="utf-8" >> > >> > I am trying to build a solution where Opensips 3.2+ with RTPengine acts >> as >> > a UAC, answers a call with 200OK, plays media from file, and will >> terminate >> > the call right after playing announcement. >> > >> > Opensips is responding with 200OK with SDP body and making the >> > correct changes for the IP, but when the ACK comes back from the UAS, >> > Opensips doesn't seem to absorb it and retransmits the 200OK. >> > >> > Code snippet handling this scenario >> > >> > rtpengine_manage("from-tag=$ft replace-session-connection >> > trust-address replace-origin codec-strip-g729",,$var(body)); >> > append_to_reply("Contact:<sip:$socket_out>\r\n"); >> > append_to_reply("Content-Type: application/sdp\r\n"); >> > t_reply_with_body(200, "OK", $var(body)); >> > rtpengine_play_media("from-tag=$ft >> > file=/etc/rtpengine/unk_num.wav"); >> > sleep(10); >> > rtpengine_delete("from-tag=$ft"); >> > #t_reply(603, "Decline"); >> > exit(); >> > >> > >> > What do I need to add to handle this scenario correctly? >> > >> > Note: I was able to get this to work with Early Media (183 >> > reply_with_body, and send t_reply(603, "Decline")), but we have >> customers >> > using late media invite as well, so the Early Media option wouldn't >> work in >> > that case. >> > >> > Thank you. >> > >> > Kevin Kennedy >> > -------------- next part -------------- >> > An HTML attachment was scrubbed... >> > URL:< >> http://lists.opensips.org/pipermail/users/attachments/20231102/dd52d307/attachment-0001.html >> > >> > >> > ------------------------------ >> > >> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
