<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1276" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>hi,</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>First we signed in <A
href="mailto:a@localhost.localdomain">a@localhost.localdomain</A> and which will
subscribe <A
href="mailto:b@localhost.localdomain's">b@localhost.localdomain's</A> presence
info.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Yes, we do receive 200 OK for that SUBSCRIBE. After that SER
keep sending NOTIFY to <A
href="mailto:a@localhost.localdomin">a@localhost.localdomin</A> with status
"closed", even after <A
href="mailto:b@localhost.localdomain">b@localhost.localdomain</A> signed in, and
b also get same staff.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Can you help us ? the ser.cfg is attached below.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>thanks,</FONT></DIV>
<DIV><FONT size=2>hong</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>-------------------</FONT></DIV>
<DIV>What exactly is not working ? Do you get any 200 OK for the
SUBSCRIBE<BR>followed by a NOTIFY ?<BR> <BR> Jan.<BR><BR>On 04-12 11:41, hong
cheng wrote:<BR>><I> hi all,<BR></I>><I> <BR></I>><I> Try to use
presence feature with MS messager 5.0, seems SUBSCRIBER can not
work.<BR></I>><I> Can anybody have a look for the attached ser.cfg
?<BR></I>><I> <BR></I>><I> Many thanks,<BR></I>><I> hong<BR></I>><I>
<BR></I>><I> ----------------------------------<BR></I>><I>
<BR></I>><I> #debug=4 # debug level
(cmd line: -dddddddddd)<BR></I>><I> #listen=192.168.8.96<BR></I>><I>
#fork=no<BR></I>><I>
#log_stderror=yes # (cmd line:
-E)<BR></I>><I> <BR></I>><I> #debug=7<BR></I>><I>
#fork=no<BR></I>><I> #log_stderror=yes<BR></I>><I> <BR></I>><I>
check_via=no # (cmd. line: -v)<BR></I>><I>
dns=no # (cmd. line:
-r)<BR></I>><I> rev_dns=no # (cmd. line:
-R)<BR></I>><I> port=5060<BR></I>><I> children=4<BR></I>><I>
fifo="/tmp/ser_fifo"<BR></I>><I> <BR></I>><I> # ------------------ module
loading ----------------------------------<BR></I>><I> <BR></I>><I> #
Uncomment this if you want to use SQL database<BR></I>><I> #loadmodule
"/usr/local/lib/ser/modules/mysql.so"<BR></I>><I> <BR></I>><I> loadmodule
"/usr/local/lib/ser/modules/sl.so"<BR></I>><I> loadmodule
"/usr/local/lib/ser/modules/tm.so"<BR></I>><I> loadmodule
"/usr/local/lib/ser/modules/rr.so"<BR></I>><I> loadmodule
"/usr/local/lib/ser/modules/maxfwd.so"<BR></I>><I> loadmodule
"/usr/local/lib/ser/modules/usrloc.so"<BR></I>><I> loadmodule
"/usr/local/lib/ser/modules/registrar.so"<BR></I>><I> loadmodule
"/usr/local/lib/ser/modules/pa.so"<BR></I>><I> <BR></I>><I>
<BR></I>><I> <BR></I>><I> # Uncomment this if you want digest
authentication<BR></I>><I> # mysql.so must be loaded !<BR></I>><I>
#loadmodule "/usr/local/lib/ser/modules/auth.so"<BR></I>><I> #loadmodule
"/usr/local/lib/ser/modules/auth_db.so"<BR></I>><I> # -----------------
setting module-specific parameters ---------------<BR></I>><I>
<BR></I>><I> # -- usrloc params --<BR></I>><I> <BR></I>><I>
modparam("usrloc", "db_mode", 0)<BR></I>><I> <BR></I>><I> #
Uncomment this if you want to use SQL database<BR></I>><I> # for persistent
storage and comment the previous line<BR></I>><I> #modparam("usrloc",
"db_mode", 2)<BR></I>><I> <BR></I>><I> # -- auth params --<BR></I>><I>
# Uncomment if you are using auth module<BR></I>><I> #<BR></I>><I>
#modparam("auth_db", "calculate_ha1", yes)<BR></I>><I> #<BR></I>><I> # If
you set "calculate_ha1" parameter to yes (which true in this
config),<BR></I>><I> # uncomment also the following parameter)<BR></I>><I>
#<BR></I>><I> #modparam("auth_db", "password_column",
"password")<BR></I>><I> <BR></I>><I> # -- rr params --<BR></I>><I> #
add value to ;lr param to make some broken UAs happy<BR></I>><I>
modparam("rr", "enable_full_lr", 1)<BR></I>><I> #
------------------------- request routing logic
-------------------<BR></I>><I> <BR></I>><I> # main routing
logic<BR></I>><I> <BR></I>><I> <BR></I>><I> route{<BR></I>><I>
<BR></I>><I> # initial sanity
checks -- messages
with<BR></I>><I> #
max_forwards==0, or excessively long
requests<BR></I>><I> if
(!mf_process_maxfwd_header("10"))
{<BR></I>><I>
sl_send_reply("483","Too Many
Hops");<BR></I>><I>
break;<BR></I>><I>
};<BR></I>><I> if ( msg:len
> max_len )
{<BR></I>><I>
sl_send_reply("513", "Message too
big");<BR></I>><I>
break;<BR></I>><I>
};<BR></I>><I>
<BR></I>><I> # we
record-route all messages -- to make sure
that<BR></I>><I> # subsequent
messages will go through our proxy;
that's<BR></I>><I> #
particularly good if upstream and downstream
entities<BR></I>><I> # use
different transport
protocol<BR></I>><I>
record_route();<BR></I>><I> #
loose-route
processing<BR></I>><I> if
(loose_route())
{<BR></I>><I>
t_relay();<BR></I>><I>
break;<BR></I>><I>
};<BR></I>><I>
<BR></I>><I> # if the request
is for other domain use
UsrLoc<BR></I>><I> # (in
case, it does not work, use the following
command<BR></I>><I> # with
proper names and addresses in
it)<BR></I>><I> if
(uri==myself) {<BR></I>><I>
<BR></I>><I>
if (method=="REGISTER") {<BR></I>><I> <BR></I>><I> # Uncomment this if you
want to use digest authentication<BR></I>><I>
#
if (!www_authorize("iptel.org", "subscriber")) {<BR></I>><I>
#
www_challenge("iptel.org", "0");<BR></I>><I>
#
break;<BR></I>><I>
#
};<BR></I>><I>
<BR></I>><I>
save("location");<BR></I>><I>
break;<BR></I>><I>
};<BR></I>><I>
<BR></I>><I>
if (method=="SUBSCRIBE")
{<BR></I>><I>
if (t_newtran())
{<BR></I>><I>
handle_subscription("registrar");<BR></I>><I>
};<BR></I>><I>
break;<BR></I>><I>
};<BR></I>><I>
<BR></I>><I>
# native SIP destinations are handled using our USRLOC
DB<BR></I>><I>
if (!lookup("location"))
{<BR></I>><I>
sl_send_reply("404", "Not
Found");<BR></I>><I>
break;<BR></I>><I>
};<BR></I>><I>
};<BR></I>><I> # forward to
current uri now; use stateful forwarding;
that<BR></I>><I> # works
reliably even if we forward from TCP to
UDP<BR></I>><I> if
(!t_relay())
{<BR></I>><I>
sl_reply_error();<BR></I>><I>
};<BR></I>><I> <BR></I>><I> }<BR></I></DIV></BODY></HTML>