peter,
when rls db_mode=2, the test described in previous email works fine and
very differently as in the case when db_mode=0.
the difference is that after presence/rls server receives from
sip:jh@test.fi subscribe on sip:jh-buddies@test.fi, it does NOT generate
notify to it before it has subscribed both members of the list
(sip:test@test.fi and sip:foo@test.fi) and gotten notify from both of
them:
Sep 9 13:41:42 siika /usr/sbin/sip-proxy[7469]: INFO: SUBSCRIBE
<sip:jh-buddies@test.fi> by <jh(a)test.fi> as <sip:jh@test.fi> from
<192.98.103.10> is authorized
Sep 9 13:41:42 siika /usr/sbin/sip-proxy[7469]: INFO: Routing SUBSCRIBE
<sip:jh-buddies@test.fi> to presence server
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7692]: INFO: Handling SUBSCRIBE
<sip:jh-buddies@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7692]: INFO: Routing locally generated SUBSCRIBE
<sip:test@test.fi> to <sip:test@test.fi> from <sip:jh@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7692]: INFO: <core> [tcp_main.c:2787]:
quick connect for 0x7f091036c340
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7692]: INFO: Routing locally generated SUBSCRIBE
<sip:foo@test.fi> to <sip:foo@test.fi> from <sip:jh@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: Handling SUBSCRIBE
<sip:test@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: Routing locally generated NOTIFY
<sip:rls@127.0.0.1:5082;transport=tcp> to <sip:jh@test.fi> from
<sip:test@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: presence [notify.c:1581]: NOTIFY
sip:jh@test.fi via sip:rls@127.0.0.1:5082;transport=tcp on behalf of sip:test@test.fi for
event presence
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: Handling SUBSCRIBE
<sip:foo@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: Routing locally generated NOTIFY
<sip:rls@127.0.0.1:5082;transport=tcp> to <sip:jh@test.fi> from
<sip:foo@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: presence [notify.c:1581]: NOTIFY
sip:jh@test.fi via sip:rls@127.0.0.1:5082;transport=tcp on behalf of sip:foo@test.fi for
event presence
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: Handling in-dialog NOTIFY
<sip:rls@127.0.0.1:5082;transport=tcp> from <sip:test@test.fi> to
<sip:jh@test.fi>
Sep 9 13:41:42 siika /usr/sbin/pres-serv[7693]: INFO: Handling in-dialog NOTIFY
<sip:rls@127.0.0.1:5082;transport=tcp> from <sip:foo@test.fi> to
<sip:jh@test.fi>
Sep 9 13:41:44 siika /usr/sbin/pres-serv[7690]: INFO: Routing locally generated NOTIFY
<sip:rbjfhkmc@192.98.103.10:40359;alias=192.98.103.10~41792~2;transport=tcp> to
<sip:jh@test.fi> from <sip:jh-buddies@test.fi>
Sep 9 13:41:44 siika /usr/sbin/pres-serv[7690]: INFO: <core> [tcp_main.c:2787]:
quick connect for 0x7f09103bad18
Sep 9 13:41:44 siika /usr/sbin/sip-proxy[7475]: INFO: Routing in-dialog NOTIFY
<sip:rbjfhkmc@192.98.103.10:40359;transport=tcp> from <sip:jh-buddies@test.fi>
to <sip:192.98.103.10:41792;transport=tcp>
the notify to sip:jh@test.fi thus contains real presence status of both of
the list members.
why the behavior changes depending on rls db_mode? pcap of this
db_mode=2 test is enclosed.
-- juha