Hi,
Thanks. I've already been sniffing the network. The capture file of the
presence server (kamailio) and the ua (watcher) is attached.
Backend subscriptions must be sent to what CSCF of the presentity
domain? The S-CSCF? You wrote me that Kamailio uses dns queries in order
to determine the ip of the next IMS entity. In case of a subscription to
list(a)open-ims.test, what dns query will Kamalio do?
The subscription message is:
SUBSCRIBE sip:restricted_areas_presentities@open-ims.test SIP/2.0
Call-ID: nYhLl92BHRHtSTy3f8iNZ1v6irOhhfd2fNnFtSXTOlk.
CSeq: 1 SUBSCRIBE
From: "restricted_areas"
<sip:restricted_areas@open-ims.test>;tag=f733f739
To: <sip:restricted_areas_presentities@open-ims.test>
Via: SIP/2.0/TCP
155.54.190.245:8060;rport;branch=z9hG4bK-d8754z-a71d1c184df2d432-1---d8754z-
Max-Forwards: 70
Event: presence
Accept: multipart/related, application/rlmi+xml, application/pidf+xml,
application/auth-policy+xml
Expires: 30000
Contact: <sip:restricted_areas@155.54.190.245:8060>
Supported: eventlist
Route: <sip:orig@scscf.open-ims.test:6060;lr>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE,
SUBSCRIBE, INFO
User-Agent: X-Lite IMS-OSGi-Client 0.1 CVS-Mon_Jan_03_09-56-46_CET_2011
Content-Length: 0
And the XCAP document:
<?xml version="1.0" encoding="UTF-8"?><rls-services
xmlns:rl="urn:ietf:params:xml:ns:resource-lists"
xmlns="urn:ietf:params:xml:ns:rls-services"><service
uri="sip:restricted_areas_presentities@open-ims.test"><resource-list><list
name="friends"><rl:entry
uri="sip:testuser01@open-ims.test"/><rl:entry
uri="sip:testuser02@open-ims.test"/></list></resource-list><packages><package>presence</package></packages></service></rls-services>
The URI for the document is:
/xcap-root/rls-services/users/sip:restricted_areas@open-ims.test/index
Could anyone send me a capture file with the whole process of the
subscription to the rls and the notifies sent along with the
configuration files of Kamailio (if needed) and the xcap documents?
Thank you all,
Andrés.
El 04/01/11 15:08, Klaus Darilion escribió:
Am 04.01.2011 13:06, schrieb "Andrés S. García Ruiz":
Hello,
Thanks for your responses and happy new year!
Could anyone tell me how to make the RLS module work properly?
I've tried several different solutions, but I still don't know what's
the expected behaviour of the RLS.
I'm using the Kamailio integrated presence server + RLS. Then, the RLS
is supposed to send a SUBSCRIBE to each of the presentities in the
subscribed presence list?
Correct. So-called "backend subscriptions"
In that case, and if the domain of the presentity
is the same as the
used by the watcher, the SUBSCRIBE will go back to the Kamailio?
yes.
This is the reason why I don't receive the
notify. There are no dialogs
for the subscription:
5(13925) DEBUG: presence [notify.c:1302]: found 0 dialogs( 0 in database
and 0 in hash_table)
5(13925) DEBUG: presence [notify.c:1387]: Could not get subscription
dialog
5(13925) DEBUG: presence [notify.c:1461]: dialog info:
5(13925) DEBUG: presence [notify.c:122]:
[pres_uri]= sip:restricted_areas_presentities@open-ims.test
[to_user]= restricted_areas_presentities [to_domain]= open-ims.test
[w_user]= restricted_areas [w_domain]= open-ims.test
[event]= presence
[status]= active
[expires]= 0
[callid]= nYhLl92BHRHtSTy3f8iNZ1v6irOhhfd2fNnFtSXTOlk. [local_cseq]=1
[to_tag]= a6a1c5f60faecf035a1ae5b6e96e979a-5cc7 [from_tag]= f733f739
[contact]= sip:restricted_areas@155.54.190.245:8060 [record_route]=
<sip:mo@scscf.open-ims.test:6060;lr>,<sip:mo@pcscf.open-ims.test:4060;lr>
5(13925) DEBUG: presence [hash.c:471]: pres_uri=
sip:restricted_areas_presentities@open-ims.test
5(13925) DEBUG: presence [notify.c:643]: No record exists in hash_table
5(13925) DEBUG: presence [notify.c:1515]: Could not get the notify_body
5(13925) DEBUG: presence [notify.c:225]: state = terminated
5(13925) DEBUG: presence [notify.c:1555]: headers:
Max-Forwards: 70
Event: presence
Contact: <sip:155.54.190.245:5060;transport=udp>
Subscription-State: terminated;reason=timeout
Any hints?
That shouldn'T be the problem. You should see the backend subscription
by sniffing on the loopback interface, e.g. to sniff an all interfaces
(and in nice format) use:
ngrep -d any -W byline -t -P "" port 5060
regards
Klaus