Hi There everyone,
 
I have a wierd one for you!  I have SER 8-12.0  running on redhat 9 i386.
 
MySQL and Ser MySQL are installed and working.  Authentication works fine
 
The problem is that none of my users can call each other (via X-lite) or see each other on Messenger!
 
I have two Win 2000 client machines each running xlite and MS Messenger  both registered okay.
 
UL list shows the following  (Numeric aor's are the XLite and Named aor are from Messenger)  In this example both machines are behind the same NAT firewall but it's the same if I take on of the clients onto a seperate direct internet connection.
 
Ser.cfg is below also
 
Anyone seen this before?
 
Thanks for your help!
 
Darren
 
[root@gandalf root]# serctl ul show
Dumping all contacts may take long: are you sure you want to proceed? [Y|N] y
===Domain list===
---Domain---
name : 'location'
size : 512
table: 0x422b65f8
d_ll {
    n    : 4
    first: 0x422b88c0
    last : 0x422b8858
}
 
...Record(0x422b88c0)...
domain: 'location'
aor   : 'carol'
~~~Contact(0x422b8900)~~~
domain : 'location'
aor    : 'carol'
Contact: 'sip:192.168.1.3:6947;transport=tcp'
Expires: 3528
q      :       0.00
Call-ID: 'fcea449f7e5d44b7a771532a25b503f9@192.168.1.3'
CSeq   : 2
replic : 0
State  : CS_SYNC
Flags  : 0
next   : (nil)
prev   : (nil)
~~~/Contact~~~~
.../Record...
...Record(0x422b86e8)...
domain: 'location'
aor   : '35315550002'
~~~Contact(0x422b8730)~~~
domain : 'location'
aor    : '35315550002'
Contact: 'sip:35315550002@213.94.241.163:5060'
Expires: 55
q      :       0.00
Call-ID: '3DE292F416D24680935A388546142A90@webtalk.ie'
CSeq   : 9927
replic : 0
State  : CS_DIRTY
Flags  : 0
next   : (nil)
prev   : (nil)
~~~/Contact~~~~
.../Record...
...Record(0x422b87d8)...
domain: 'location'
aor   : '35315550001'
~~~Contact(0x422b8818)~~~
domain : 'location'
aor    : '35315550001'
Contact: 'sip:35315550001@192.168.1.1:5060'
Expires: 31
q      :       0.00
Call-ID: '75A9644B8C15443EA76FE9DE8C93F6EE@webtalk.ie'
CSeq   : 18470
replic : 0
State  : CS_NEW
Flags  : 0
next   : (nil)
prev   : (nil)
~~~/Contact~~~~
.../Record...
...Record(0x422b8858)...
domain: 'location'
aor   : 'darren'
~~~Contact(0x422b8648)~~~
domain : 'location'
aor    : 'darren'
Contact: 'sip:192.168.1.1:8659;transport=tcp'
Expires: 3590
q      :       0.00
Call-ID: 'b07cccb850204540b16bb26fea6b8ff9@192.168.1.1'
CSeq   : 2
replic : 0
State  : CS_NEW
Flags  : 0
next   : (nil)
prev   : (nil)
~~~/Contact~~~~
.../Record...
 
---/Domain---
===/Domain list===
[root@gandalf root]#
 
My ser.cfg is basically as per the 'How To' Document see below
 
#
# $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=3         # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no        # (cmd line: -E)
 
# listening IP's
listen=213.168.225.230
listen=127.0.0.1
 
# hostname aliases
alias="webtalk.ie"
alias="gandalf.webtalk.ie"
alias=213.168.225.230
 
#Uncomment these lines to enter debugging mode
debug=7
fork=yes
log_stderror=yes
 

check_via=no    # (cmd. line: -v)
dns=no           # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
 
# ------------------ module loading ----------------------------------
 
# Uncomment this if you want to use SQL database
loadmodule "/usr/lib/ser/modules/mysql.so"
 
loadmodule "/usr/lib/ser/modules/nathelper.so"
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
 
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/lib/ser/modules/auth_db.so"
 
# ----------------- setting module-specific parameters ---------------
 
# -- usrloc params --
 
# Uncomment this if you want to use Memory Storage only and
# comment the next line
#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", 2)
 
# -- 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)
 
# -------------------------  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)
        if (uri==myself) {
 
                if (method=="REGISTER") {
 
# Uncomment this if you want to use digest authentication
                        if (!www_authorize("webtalk.ie", "subscriber")) {
                                www_challenge("webtalk.ie", "0");
                                break;
                        };
 
                        save("location");
                        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();
        };
 
}