[Serusers] ser multi-domain support SOLVED

satish patel linuxtrap at yahoo.co.in
Tue Dec 18 13:07:48 CET 2007


Dear all

           I have solve my multidomain configuration with ser-0.9.6 and it is working fine for me and i am sending you my configuration for incomming users whos want do some stuff wid ser i have find many document on multi-support and i have consolidate all document and make my ser.cfg script or config

cat /usr/local/etc/ser/ser.cfg

#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
#
# simple quick-start config script
#

# ----------- global configuration parameters ------------------------

#debug=7         # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=yes        # (cmd line: -E)

/* Uncomment these lines to enter debugging mode
debug=7
fork=no
log_stderror=yes
*/

check_via=no    # (cmd. line: -v)
dns=no           # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
listen=192.168.104.20
port=5060
#children=4
fifo="/tmp/ser_fifo"

# ------------------ module loading ----------------------------------

# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/domain.so"

loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
#loadmodule "/usr/local/lib/ser/modules/call.so"
#loadmodule "/usr/local/lib/ser/modules/vm.so"

# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"

# ----------------- setting module-specific parameters ---------------

# -- usrloc params --

#modparam("usrloc", "db_mode",   0)

# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 0)

# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)

modparam("auth_db", "password_column", "password")

# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)


modparam("domain", "db_url", "mysql://root:mypasswd@localhost/ser")
modparam("domain", "db_mode", 1)   # Use chaching
modparam("domain", "domain_table", "domain")
modparam("domain", "domain_col", "domain")

modparam("usrloc|registrar|auth_db|avpops|group", "use_domain", 1)
#modparam("usrloc", "use_domain", 1)
#modparam("registrar", "use_domain", 1)

# -------------------------  request routing logic -------------------

# main routing logic

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");
               break;
       };
       if ( msg:len > max_len ) {
               sl_send_reply("513", "Message too big");
               break;
       };

       # we record-route all messages -- to make sure that
       # subsequent messages will go through our proxy; that's
       # particularly good if upstream and downstream entities
       # use different transport protocol
       record_route();
       # loose-route processing
       if (loose_route()) {
               t_relay();
               break;
       };

       # if the request is for other domain use UsrLoc
       # (in case, it does not work, use the following command
       # with proper names and addresses in it)
       #-----------Multi-domain Logic work blow in stanza--------#
       if (is_from_local()) {

               if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
                       if (!www_authorize("", "subscriber")) {
                               www_challenge("", "0");
                               break;
                       };

                       save("location");
                       break;
                       save("aliases");
                       break;
               };

#----Alias check---

#               lookup("aliases");
#                if (!uri==myself) {
#                        route(1);
#                        break;
#                };


               # native SIP destinations are handled using our USRLOC DB
               if (!lookup("location")) {
                       sl_send_reply("404", "Not Found");
                       break;
               };
       };
       # forward to current uri now; use stateful forwarding; that
       # works reliably even if we forward from TCP to UDP
       if (!t_relay()) {
               sl_reply_error();
       };

}


#-----END---#


Now to test configuration start ser

#serctl start
#serctl domain add abc.com
#serctl add 222 at abc.com tulip 222 at abc.com
#serctl add 333 at abc.com tulip 333 at abc.com

this to user 222 and 333 for domain abc.com

**Notes:- you should configure SRV recode on your DNS otherwise it will not work for you 

NOW configure your Xlite and try to call each other

Then try to add new domain and do same thing which u have done before abc.com

Thanks and Best of Luck




$ cat ~/satish/url.txt                                                      

http://www.linuxbug.org
_____________________________________________________________________________________________________

       
---------------------------------
 Share files, take polls, and discuss your passions - all under one roof.  Click here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20071218/87a342a5/attachment.htm>


More information about the sr-users mailing list