Because you need to have an "exit;" after the sl_send_reply():


                if ($stat(active_dialogs)>=1){
                sl_send_reply("503", "Service Unavailable");
*   exit;*
                }

Otherwise the script execution will continue.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 15.07.2014 12:19, jing wrote:
hi,Bogdan.
I just want to limit the total number of active dialog. And now I have 2 questions .
I changed the script like this:
if (is_method("INVITE")) {
                xlog("active dialog is $stat(active_dialogs)");
                xlog("dlgcount is $DLG_count");
                if ($stat(active_dialogs)>=1){
                sl_send_reply("503", "Service Unavailable");

                }
                # create dialog with timeout
                if ( !create_dialog("B") ) {
                        send_reply("500","Internal Server Error");
                        exit;
                }
                setflag(ACC_DO); # do accounting
        }
Then I started 3 dialog, they were all successful , but no 503 sent. The log showed:
active dialog is 2
dlgcount is 2
I used opensipsctl fifo command to show the dialog statistics, it showed
dialog:active_dialogs = 3.
1.what is wrong in my script ?
2. How to end the dialogs which have been active long time ,but have no response.
Or is there other way to limit the total number of active dialog?
I am a newbie to opensips,  would you please tell me more detailed advice?
Very thanks!
kind regards


------------------ ???????? ------------------
*??????:* "Bogdan-Andrei Iancu"<[email protected]>;
*????????:* 2014??7??15??(??????) ????4:43
*??????:* "users"<[email protected]>; "jing "<[email protected]>;
*????:* Re: [OpenSIPS-Users] ?????? ?????? Dialog Concurrency Control Issue.

Hi,

I see you added the missing "exit" after the sl_send_reply() and you do create the dialog for each INVITE (hopefully only for the initial ones :) ).

What seems to be the exact problem now ?

Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 15.07.2014 05:21, jing wrote:
hi,Schneur.
Thanks for your advice.
But I did put the check before create_dialog("B") in the original oprnsips.cfg:
if (is_method("INVITE")) {
                xlog("active dialog is $stat(active_dialogs)");
                if ($stat(active_dialogs)>=1){
                sl_send_reply("503", "Service Unavailable");
                exit;
                }
                # create dialog with timeout
                if ( !create_dialog("B") ) {
                        send_reply("500","Internal Server Error");
                        exit;
                }
                setflag(ACC_DO); # do accounting
        }

So what is wrong in the script?
And I still want to know how to judge a call is "active_dialogs"?
Thanks a lot.
regards,
jing
------------------ ?????? ?? ------------------
*??????:* "Schneur Rosenberg";<[email protected]>;
*????????:* 2014??7??14??(??????) ????6:25
*??????:* "OpenSIPS users mailling list"<[email protected]>;
*????:* Re: [OpenSIPS-Users]?????? Dialog Concurrency Control Issue.

You need to do this before the create_dialog() call

On Jul 14, 2014 10:33 AM, "jing" <[email protected] <mailto:[email protected]>> wrote:

    Thanks for your reply.But I have another question, I used
     active_dialogs in the cfg file as this:
    if (is_method("INVITE")) {
                    if ($stat(active_dialogs)>=1){
                    sl_send_reply("503", "Service Unavailable");
                    }
    But it seems not right.
    I use sipp to test the limit ,but when the value of
    active_dialogs aim to the number I set ,
    opensips sent 503,but  the value of active_dialogssitll increase.
    So I want to know how the value of this paramer comefrom.
    Or is there something wrong in my cfg document?
    regards,
    Jing


    ------------------ ???? ?? ?? ------------------
    *??????:* "Schneur Rosenberg [via OpenSIPS (Open SIP
    Server)]"<[hidden email]
    <http://user/SendEmail.jtp?type=node&node=7592371&i=0>>;
    *????????:* 2014??7??14??(??????) ????2:08
    *??????:* "jing "<[hidden email]
    <http://user/SendEmail.jtp?type=node&node=7592371&i=1>>;
    *????:* Re: Dialog Concurrency Control Issue.

    Very simple, before creating a new dialog check how many open
    dialogs exist.

    On Jul 14, 2014 9:05 AM, "jing" <[hidden email]
    <http://user/SendEmail.jtp?type=node&node=7592369&i=0>> wrote:

        hi,Bogdan


         I want to limit the total number of active dialogs ,what
        should I do ?

        I found there are many questions about "Concurrent calls
        limitation " based
        on per user, it's not what I need.

        I appreciate your advice very much,  more detailed the better.

        Thanks,
        Regards,
        jing



        --
        View this message in context:
        
http://opensips-open-sip-server.1449251.n2.nabble.com/Dialog-Concurrency-Control-Issue-tp6172931p7592368.html
        Sent from the OpenSIPS - Users mailing list archive at
        Nabble.com.

        _______________________________________________
        Users mailing list
        [hidden email]
        <http://user/SendEmail.jtp?type=node&node=7592369&i=1>
        http://lists.opensips.org/cgi-bin/mailman/listinfo/users


    _______________________________________________
    Users mailing list
    [hidden email]
    <http://user/SendEmail.jtp?type=node&node=7592369&i=2>
    http://lists.opensips.org/cgi-bin/mailman/listinfo/users


    ------------------------------------------------------------------------
    If you reply to this email, your message will be added to the
    discussion below:
    
http://opensips-open-sip-server.1449251.n2.nabble.com/Dialog-Concurrency-Control-Issue-tp6172931p7592369.html

    To unsubscribe from Dialog Concurrency Control Issue., click here.
    NAML
    
<http://opensips-open-sip-server.1449251.n2.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>


    ------------------------------------------------------------------------
    View this message in context: ?????? Dialog Concurrency Control
    Issue.
    
<http://opensips-open-sip-server.1449251.n2.nabble.com/Dialog-Concurrency-Control-Issue-tp7592371.html>
    Sent from the OpenSIPS - Users mailing list archive
    
<http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSIPS-Users-f1449235.html>
    at Nabble.com.

    _______________________________________________
    Users mailing list
    [email protected] <mailto:[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


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to