True!

Got it, working great now!

Thanks a lot!


David

On Fri, Jun 6, 2008 at 5:54 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro> wrote:
Hi David,

This is because you do not use loose_route() at all, even if you do record_route(). See the dialog module documentation.

Regards,
Bogdan

David Villasmil wrote:
Hello List,

    I have a simple load balancer with dispatcher. I'm using the DIALOG module, it is supposed to store in db all info about ongoing dialogs. But my setup must be wrong, because a lot of dialogs are not removed when the call is hung up.

Here's my cfg:


#
# $Id: openser.cfg 1827 2007-03-12 15:22:53Z bogdan_iancu $
#
# simple quick-start config script
# Please refer to the Core CookBook at http://www.openser.org/dokuwiki/doku.php
# for a explanation of possible statements, functions and parameters.
#

# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no   # (cmd line: -E)
children=4
check_via=no
dns=no
rev_dns=no
listen=a.b.c.d
disable_dns_blacklist=true
port=5060

#set module path
mpath="/lib/openser/modules/"

# ------------------ module loading ----------------------------------
loadmodule "mysql.so"
loadmodule "maxfwd.so"
loadmodule "sl.so"
loadmodule "dispatcher.so"
loadmodule "tm.so"
loadmodule "mi_fifo.so"
loadmodule "textops.so"
loadmodule "xlog.so"
loadmodule "rr.so"
loadmodule "dialog.so"
loadmodule "avpops.so"

modparam("mi_fifo","fifo_name", "/tmp/openser_fifo")
modparam("tm", "fr_timer", 5)

modparam("dispatcher", "list_file", "/etc/openser/dispatcher.list")
modparam("dispatcher", "flags", 2)
modparam("dispatcher", "force_dst", 1)
modparam("dispatcher", "dst_avp", "$avp(i:271)")
modparam("dispatcher", "grp_avp", "$avp(i:272)")
modparam("dispatcher", "cnt_avp", "$avp(i:273)")

modparam("dialog", "dlg_flag", 4)
modparam("dialog", "db_mode", 1)
modparam("dialog", "table_name", "dialog")
modparam("dialog", "db_url", "mysql://user:pass@localhost/openser")

modparam("avpops","avp_url","mysql://user:pass@localhost/openser")
modparam("avpops", "avp_table", "dialog")

route{
   # initial sanity checks -- messages with
   # max_forwards==0, or excessively long requests
   if (!mf_process_maxfwd_header("10")) {
       sl_send_reply("483","Too Many Hops");
       exit;
   };

   if (msg:len >=  2048 ) {
       sl_send_reply("513", "Message too big");
       exit;
   };

    if (!method=="REGISTER")
         record_route();

    if (method=="INVITE") { setflag(4); }

   if ( method=="INVITE" || method=="ACK" || method=="BYE" || method=="OPTIONS" || method=="CANCEL" ) {
         ds_select_dst("1","2");
         t_on_failure("1");
         t_relay();
         exit;
    };

}

failure_route[1] {

        if (t_check_status("408")) {
                xlog("L_INFO","Marking GW as failed...\n");
                ds_mark_dst("p");
                ds_next_dst();
                t_on_failure("1");
                t_relay();
        } else{
                t_reply("501","Not Implemented");
        }
}


As far as I know, using the record_route assures that all messages are passed through the proxy so that dialogs must be removed... but they'r not



Any ideas?


Thanks a lot.



David Villasmil
------------------------------------------------------------------------

_______________________________________________
Users mailing list
Users@lists.openser.org
http://lists.openser.org/cgi-bin/mailman/listinfo/users