[OpenSIPS-Users] dlg_val before create_dialog
M S
medeanwz at gmail.com
Wed Jan 8 17:16:32 UTC 2025
Thank you - which versions the fix is pushed to?
This change may break some configurations (anybody like me using dlg_val
before dialog creation) so it might be worth mentioning something about
this in release notes...
On Wed, Jan 8, 2025 at 5:58 PM Răzvan Crainea <razvan at opensips.org> wrote:
> I've just pushed a fix, thanks for helping us identify this issue.
>
> Best regards,
>
> Răzvan Crainea
> OpenSIPS Core Developer / SIPhub CTO
> http://www.opensips-solutions.com / https://www.siphub.com
>
> On 1/8/25 6:49 PM, Bogdan-Andrei Iancu wrote:
> > Hi,
> >
> > Thanks for the info, Razvan identified the issue - indeed, the
> > rtpproxy_offer() forces the dialog creation, without actually of any
> > need of it. He will push a fix on this within the next days.
> >
> > Best regards,
> >
> > Bogdan-Andrei Iancu
> >
> > OpenSIPS Founder and Developer
> > https://www.opensips-solutions.com
> > https://www.siphub.com
> >
> > On 17.12.2024 19:27, M S wrote:
> >> So I did that, and it is very strange:
> >>
> >> if (is_method("INVITE") && !has_totag()) xlog("L_WARN", "$ci|
> >> route|$Ts:$Tsm|DLG_status3 $DLG_status");
> >> if(!rtpproxy_offer("froc")) xlog("L_WARN", "$ci|route|$Ts:
> >> $Tsm|rtpproxy_offer failed for: $mb\n");
> >> if (is_method("INVITE") && !has_totag()) xlog("L_WARN", "$ci|
> >> route|$Ts:$Tsm|DLG_status4 $DLG_status");
> >>
> >> 32ac0d41383090087a573dd766679bcc at 10.201.54.109:5060|route|
> >> 1734456172:140520|DLG_status3 <null>
> >> 32ac0d41383090087a573dd766679bcc at 10.201.54.109:5060|route|
> >> 1734456172:140879|DLG_status4 1
> >>
> >> But what does rtpproxy_offer has to do with dialog?
> >>
> >> On Tue, Dec 17, 2024 at 5:06 PM Bogdan-Andrei Iancu
> >> <bogdan at opensips.org> wrote:
> >>
> >> That means some other script function created the dialog in
> >> advance. you can find which one by adding something like this on
> >> top of your request route:
> >> script_trace( 1, "$rm from $si, dlg is $DLG_status", "dbg");
> >>
> >> And see where the print changes from NULL to 1 ;)
> >>
> >> Regards,
> >>
> >> Bogdan-Andrei Iancu
> >>
> >> OpenSIPS Founder and Developer
> >> https://www.opensips-solutions.com
> >> https://www.siphub.com
> >>
> >> On 17.12.2024 17:58, M S wrote:
> >>> Thank you for your answer. I tried that and it shows DLG_status
> >>> 1, which means the dialog is created but I definitely didn't
> >>> create a dialog before that line. Also, the dialog is created
> >>> further down with create_dialog("pPB") command because I see
> >>> OPTIONS being sent to both caller and callee (pP working).
> >>> Why would DLG_status print 1? I will try to print it at different
> >>> lines of script to see where it changes... I have a t_newtran and
> >>> some $acc_extra lines befores (other than some standard processing)
> >>>
> >>> On Tue, Dec 17, 2024 at 4:39 PM Bogdan-Andrei Iancu
> >>> <bogdan at opensips.org> wrote:
> >>>
> >>> Hi,
> >>>
> >>> Yes, the dlg_val assignment fails if there is no current
> >>> dialog. Maybe
> >>> the dialog is created (internally) by some other script
> >>> function you are
> >>> using. Try prinitng the $DLG_status before the assignment,
> >>> just to see
> >>> if there is a dialog or not
> >>>
> >>> Regards,
> >>>
> >>> Bogdan-Andrei Iancu
> >>>
> >>> OpenSIPS Founder and Developer
> >>> https://www.opensips-solutions.com
> >>> https://www.siphub.com
> >>>
> >>> On 17.12.2024 14:08, M S wrote:
> >>> > Hi list,
> >>> > I have a script like this:
> >>> >
> >>> > ..... some processing
> >>> > if (is_method("INVITE") && !has_totag()) {
> >>> > $dlg_val(x)="y";
> >>> > }
> >>> > .... some processing
> >>> > if (is_method("INVITE") && !has_totag()) {
> >>> > create_dialog("pPB")
> >>> > }
> >>> >
> >>> > My first question is, why does this work?! documents say
> >>> $dlg_val
> >>> > cannot be used before dialog is created, and create_dialog
> >>> is called
> >>> > after dlg_val here.
> >>> > I have verified that indeed dialog is created using
> >>> create_dialog, and
> >>> > indeed $dlg_val(x) stores the value (it is available later
> >>> in the dialog).
> >>> >
> >>> > Second question, once or two times a day (after thousands
> >>> of calls) I
> >>> > see a do_assign setting PV failed error message on the
> >>> $dlg_val(x)="y"
> >>> > line. Since this shouldn't have worked to begin with, I
> >>> don't know how
> >>> > to debug this. Any suggestions?
> >>> >
> >>> > Thank you!
> >>> >
> >>> > _______________________________________________
> >>> > Users mailing list
> >>> > Users at lists.opensips.org
> >>> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >>>
> >>
> >
> > Hi,
> >
> > Thanks for the info, Razvan identified the issue - indeed, the
> > rtpproxy_offer() forces the dialog creation, without actually of any
> > need of it. He will push a fix on this within the next days.
> >
> > Best regards,
> >
> > Bogdan-Andrei Iancu
> >
> > OpenSIPS Founder and Developer
> > https://www.opensips-solutions.com
> > https://www.siphub.com
> >
> > On 17.12.2024 19:27, M S wrote:
> >> So I did that, and it is very strange:
> >>
> >> if (is_method("INVITE") && !has_totag()) xlog("L_WARN", "$ci|
> >> route|$Ts:$Tsm|DLG_status3 $DLG_status");
> >> if(!rtpproxy_offer("froc")) xlog("L_WARN", "$ci|route|$Ts:
> >> $Tsm|rtpproxy_offer failed for: $mb\n");
> >> if (is_method("INVITE") && !has_totag()) xlog("L_WARN", "$ci|
> >> route|$Ts:$Tsm|DLG_status4 $DLG_status");
> >>
> >> 32ac0d41383090087a573dd766679bcc at 10.201.54.109:5060|route|
> >> 1734456172:140520|DLG_status3 <null>
> >> 32ac0d41383090087a573dd766679bcc at 10.201.54.109:5060|route|
> >> 1734456172:140879|DLG_status4 1
> >>
> >> But what does rtpproxy_offer has to do with dialog?
> >>
> >> On Tue, Dec 17, 2024 at 5:06 PM Bogdan-Andrei Iancu
> >> <bogdan at opensips.org> wrote:
> >>
> >> That means some other script function created the dialog in
> >> advance. you can find which one by adding something like this on
> >> top of your request route:
> >> script_trace( 1, "$rm from $si, dlg is $DLG_status", "dbg");
> >>
> >> And see where the print changes from NULL to 1 ;)
> >>
> >> Regards,
> >>
> >> Bogdan-Andrei Iancu
> >>
> >> OpenSIPS Founder and Developer
> >> https://www.opensips-solutions.com
> >> https://www.siphub.com
> >>
> >> On 17.12.2024 17:58, M S wrote:
> >>> Thank you for your answer. I tried that and it shows DLG_status
> >>> 1, which means the dialog is created but I definitely didn't
> >>> create a dialog before that line. Also, the dialog is created
> >>> further down with create_dialog("pPB") command because I see
> >>> OPTIONS being sent to both caller and callee (pP working).
> >>> Why would DLG_status print 1? I will try to print it at different
> >>> lines of script to see where it changes... I have a t_newtran and
> >>> some $acc_extra lines befores (other than some standard processing)
> >>>
> >>> On Tue, Dec 17, 2024 at 4:39 PM Bogdan-Andrei Iancu
> >>> <bogdan at opensips.org> wrote:
> >>>
> >>> Hi,
> >>>
> >>> Yes, the dlg_val assignment fails if there is no current
> >>> dialog. Maybe
> >>> the dialog is created (internally) by some other script
> >>> function you are
> >>> using. Try prinitng the $DLG_status before the assignment,
> >>> just to see
> >>> if there is a dialog or not
> >>>
> >>> Regards,
> >>>
> >>> Bogdan-Andrei Iancu
> >>>
> >>> OpenSIPS Founder and Developer
> >>> https://www.opensips-solutions.com
> >>> https://www.siphub.com
> >>>
> >>> On 17.12.2024 14:08, M S wrote:
> >>> > Hi list,
> >>> > I have a script like this:
> >>> >
> >>> > ..... some processing
> >>> > if (is_method("INVITE") && !has_totag()) {
> >>> > $dlg_val(x)="y";
> >>> > }
> >>> > .... some processing
> >>> > if (is_method("INVITE") && !has_totag()) {
> >>> > create_dialog("pPB")
> >>> > }
> >>> >
> >>> > My first question is, why does this work?! documents say
> >>> $dlg_val
> >>> > cannot be used before dialog is created, and create_dialog
> >>> is called
> >>> > after dlg_val here.
> >>> > I have verified that indeed dialog is created using
> >>> create_dialog, and
> >>> > indeed $dlg_val(x) stores the value (it is available later
> >>> in the dialog).
> >>> >
> >>> > Second question, once or two times a day (after thousands
> >>> of calls) I
> >>> > see a do_assign setting PV failed error message on the
> >>> $dlg_val(x)="y"
> >>> > line. Since this shouldn't have worked to begin with, I
> >>> don't know how
> >>> > to debug this. Any suggestions?
> >>> >
> >>> > Thank you!
> >>> >
> >>> > _______________________________________________
> >>> > Users mailing list
> >>> > Users at lists.opensips.org
> >>> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >>>
> >>
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20250108/54ccfe58/attachment-0001.html>
More information about the Users
mailing list