26 okt 2012 kl. 19:07 skrev Peter Dunkley <peter.dunk...@crocodile-rcs.com>:
> Hi, > > External anchors are not currently supported by the Kamailio RLS module. The > presence of these do not explain all of the symptoms you are seeing - but you > are not going to be able to get your resource-lists working properly if they > are in there - at best these will be ignored, at worst they will cause errors. > > For each <entry /> in your resource list the RLS module will create a > back-end subscription (using the PUA module) to a Presence Server. When > using Kamailio it is often the case that this Presence Server is actually the > Kamailio presence module running on the same instance of Kamailio as RLS and > PUA - but even in this case Kamailio will create and send a real SUBSCRIBE > request (it'll just loop to itself). > > After logging in with an RLS capable client you should end up with the > following: > One presentity in the presentity table > One presence.winfo dialog in the active_watchers table > One presence dialog in the rls_watchers table > One presence dialog for each <entry /> in the resource-list in the pua table > One presence dialog for each <entry /> in the resource-list in the > active_watchers table > One entry in the watchers table for each watcher/presentity relationship > indicating state (active, pending, terminated, etc) - these are the cached > (to avoid the overhead of continually re-parsing the same XML document) > results of the presence module processing pres-rules for each presence > subscription > The rls_presentity table will be empty until you have multiple clients signed > in concurrently and are sharing presence between them. > Peter, I know the weekend is coming up, but I would love seeing this in the RLS README. Could you put that on your to-do list? We can't have TOO MUCH documentation... Thanks, /O > Regards, > > Peter > > On Fri, 2012-10-26 at 10:44 -0500, Sangeeta Shah wrote: >> >> Hugh, >> Thanks for the response. >> >> When the client subscribes to the presence.winfo event - it does >> result in an entry in the active_watchers table. >> >> Then it is sending a subscribe to the presence event with the >> supported header set to "eventlist" >> >> Also I am starting from an empty database. So as you said, the client >> is getting a 404 back and then putting the pres-rules, rls-services, >> and resource-lists documents. The client that is connecting has no >> contacts. All 3 documents have external anchors which I unfortunately >> cannot disable :( >> >> So the resource-list XML is as follows: >> <resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"> >> <list name="rcs"> >> <display-name>All Contacts</display-name> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22doubango%22%5D" >> /> >> <entry uri="sip:8475551001@ip" /> >> </list> >> <list name="rcs_blockedcontacts"> >> <display-name>Blocked Contacts</display-name> >> </list> >> <list name="rcs_revokedcontacts"> >> <display-name>Revoked Contacts</display-name> >> </list> >> <list name="oma_allcontacts"> >> <display-name>OMA All Contacts</display-name> >> </list> >> <list name="oma_blockedcontacts"> >> <display-name>OMA Blocked Contacts</display-name> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22rcs_blockedcontacts%22%5D" >> /> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22rcs_revokedcontacts%22%5D" >> /> >> </list> >> <list name="oma_buddylist"> >> <display-name>OMA BuddyList</display-name> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22rcs%22%5D" >> /> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22oma_pocbuddylist%22%5D" >> /> >> </list> >> <list name="oma_grantedcontacts"> >> <display-name>OMA Granted Contacts</display-name> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22rcs%22%5D" >> /> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22oma_buddylist%22%5D" >> /> >> </list> >> <list name="oma_pocbuddylist"> >> <display-name>OMA POC BuddyList</display-name> >> </list> >> <list name="doubango"> >> <display-name>My Default Contacts</display-name> >> </list> >> </resource-lists> >> >> Now when I run tcpdump on the loopback interface I see a ton of >> messages generated from the server - to the server as follows >> (excerpt), there are a ton of presence subscribes and corresponding >> notifies that are going back to the server, only one instance of the >> publish below: >> >> PUBLISH sip:8475551001@ip SIP/2.0 >> >> Via: SIP/2.0/UDP kamailio-ip;branch=z9hG4bK6596.773f3d36.0 >> >> To: sip:8475551001@kamailio-ip >> >> From: sip:8475551001@kamailio-ip;tag=533cb9e91f4b999cf76861cbb9ed54ed-404e >> >> CSeq: 10 PUBLISH >> >> Call-ID: 3a1e3ea20824a642-1670@127.0.0.1 >> >> Content-Length: 499 >> >> User-Agent: kamailio (3.3.2 (x86_64/linux)) >> >> Max-Forwards: 70 >> >> Event: reg >> >> Expires: 3601 >> >> Content-Type: application/reginfo+xml >> >> >> >> <?xml version="1.0"?> >> <reginfo xmlns="urn:ietf:params:xml:ns:reginfo" version="0" state="full"> >> <registration aor="sip:8475551001@kamailio-ip" id="0x7f62677013a0" >> state="active"> >> <contact id="0x7f6267701410" state="active" event="created" >> expires="600000" callid="ea899804-de89-fdff-2f22-176bd8996221" >> cseq="15648" received="" path="" user_agent="IM-client/OMA1.0 >> Boghe/v2.0.97.687"> >> <uri>sip:8475551001@10.51.2.181:63311;transport=udp</uri> >> </contact> >> </registration> >> </reginfo> >> SIP/2.0 200 OK >> >> Via: SIP/2.0/UDP kamailio-ip;branch=z9hG4bK6596.773f3d36.0 >> >> To: sip:8475551001@kamailio-ip;tag=a6a1c5f60faecf035a1ae5b6e96e979a-a070 >> >> From: sip:8475551001@kamailio-ip;tag=533cb9e91f4b999cf76861cbb9ed54ed-404e >> >> CSeq: 10 PUBLISH >> >> Call-ID: 3a1e3ea20824a642-1670@127.0.0.1 >> >> Expires: 3600 >> >> SIP-ETag: a.1351264309.1668.1.0 >> >> Server: kamailio (3.3.2 (x86_64/linux)) >> >> Content-Length: 0 >> >> >> >> SUBSCRIBE sip:8475551001@kamailio-ip SIP/2.0 >> >> Via: SIP/2.0/UDP kamailio-ip;branch=z9hG4bK761d.6ebf4355.0 >> >> To: sip:8475551001@kamailio-ip >> >> From: sip:8475551001@kamailio-ip;tag=533cb9e91f4b999cf76861cbb9ed54ed-bfdd >> >> CSeq: 10 SUBSCRIBE >> >> Call-ID: 3a1e3ea20824a642-1668@127.0.0.1 >> >> Content-Length: 0 >> >> User-Agent: kamailio (3.3.2 (x86_64/linux)) >> >> Max-Forwards: 70 >> >> Event: presence >> >> Contact: <sip:kamailio-ip:5060> >> >> Expires: 7210 >> >> Supported: eventlist >> >> Accept: application/pidf+xml, application/rlmi+xml, >> application/watcherinfo+xml, multipart/related >> >> >> >> SIP/2.0 200 OK >> >> Via: SIP/2.0/UDP kamailio-ip;branch=z9hG4bK761d.6ebf4355.0 >> >> To: sip:8475551001@kamailio-ip;tag=a6a1c5f60faecf035a1ae5b6e96e979a-8fd4 >> >> From: sip:8475551001@kamailio-ip;tag=533cb9e91f4b999cf76861cbb9ed54ed-bfdd >> >> CSeq: 10 SUBSCRIBE >> >> Call-ID: 3a1e3ea20824a642-1668@127.0.0.1 >> >> Expires: 7200 >> >> Contact: <sip:kamailio-ip:5060> >> >> Require: eventlist >> >> Server: kamailio (3.3.2 (x86_64/linux)) >> >> Content-Length: 0 >> >> >> >> SUBSCRIBE sip:8475551001@kamailio-ip SIP/2.0 >> >> Via: SIP/2.0/UDP kamailio-ip;branch=z9hG4bK25f.0e3d3f64.0 >> >> To: sip:8475551001@kamailio-ip >> >> From: sip:8475551001@kamailio-ip;tag=533cb9e91f4b999cf76861cbb9ed54ed-62f4 >> >> CSeq: 10 SUBSCRIBE >> >> Call-ID: 3a1e3ea20824a642-1672@127.0.0.1 >> >> Content-Length: 0 >> >> User-Agent: kamailio (3.3.2 (x86_64/linux)) >> >> Max-Forwards: 70 >> >> Event: presence >> >> Contact: <sip:kamailio-ip:5060> >> >> Expires: 7210 >> >> Supported: eventlist >> >> Accept: application/pidf+xml, application/rlmi+xml, >> application/watcherinfo+xml, multipart/related >> >> >> >> SIP/2.0 200 OK >> >> Via: SIP/2.0/UDP kamailio-ip;branch=z9hG4bK25f.0e3d3f64.0 >> >> To: sip:8475551001@kamailio-ip;tag=a6a1c5f60faecf035a1ae5b6e96e979a-ceeb >> >> From: sip:8475551001@kamailio-ip;tag=533cb9e91f4b999cf76861cbb9ed54ed-62f4 >> >> CSeq: 10 SUBSCRIBE >> >> Call-ID: 3a1e3ea20824a642-1672@127.0.0.1 >> >> Expires: 7200 >> >> Contact: <sip:kamailio-ip:5060> >> >> Require: eventlist >> >> Server: kamailio (3.3.2 (x86_64/linux)) >> >> Content-Length: 0 >> >> I am not sure if it's the nature of the resource-list document or >> something in the config file that's causing this loop. I am guessing >> it might be the following entry: >> <list name="rcs"> >> <display-name>All Contacts</display-name> >> <external >> anchor="http://10.50.251.13:5060/xcap-root/resource-lists/users/sip:8475551001@ip/index/~~/resource-lists/list%5B@name=%22doubango%22%5D" >> /> >> <entry uri="sip:8475551001@ip" /> >> </list> >> >> But why would all these subscribes go back to the server? Should I be >> handling them in the routing code in the config file. They all have >> unique to tags/from tags/and call ids. >> >> I am willing to modify the code with some direction on how to better >> handle this. >> >> Thanks, >> Sangeeta >> >> On Fri, Oct 26, 2012 at 9:36 AM, Hugh Waite >> <hugh.wa...@crocodile-rcs.com> wrote: >> > Hi, >> > >> > I don't know what might cause exactly the issues you are seeing, but here's >> > what I would do to track it down. >> > >> > 1. If no xcap documents exist on the system, the client will get a 404 and >> > should usually PUT some new (empty) documents. >> > >> > Assuming these 'empty' documents exist, the following should happen when >> > the >> > client logs in. >> > a. When the SUBSCRIBE to presence.winfo arrives it should create a single >> > entry in the 'active-watchers' table. It should show a single subscription >> > to presence.winfo where the watcher and presentity URI are the same user. >> > c. When the SUBSCRIBE to RLS arrives, it should create a single entry in >> > 'rls_watchers'. As there are no contacts in the resource-list doc, there >> > are >> > no rls subscriptions. >> > >> > My questions to try and debug would be: >> > 1. Does the above happen when starting from a clean database and not having >> > any contacts or external links in the resource-list? >> > >> > 2. If that works, can you add contacts directly to the resource-list (like >> > below) and try again. Does that cause a problem? You should see entries in >> > 'pua' and 'active-watchers' for the added contacts. >> > >> > <?xml version="1.0" encoding="UTF-8"?> >> > <resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists"> >> > <list name="oma_buddylist"> >> > <entry uri="sip:160...@example.com"> >> > <display-name>160000</display-name> >> > </entry> >> > <entry uri="sip:160...@example.com"> >> > <display-name>160001</display-name> >> > </entry> >> > </list> >> > </resource-lists> >> > >> > 3. Finally add the external documents and external anchors and try again. >> > >> > I haven't personally used anything that uses the external anchors feature, >> > but if it is only the external URIs that are causing the problem, kamailio >> > may think it is subscribing to the same URI each time causing a recursive >> > loop. This may be visible on a network trace taken on the loopback >> > interface. >> > >> > Regards, >> > Hugh >> > >> > >> > >> > On 26/10/2012 13:36, Sangeeta Shah wrote: >> > >> > Did anyone get a chance to look at this post. I upgraded to Kamailio >> > 3.3.2 since the changelog indicated several RLS fixes. But as soon as >> > I bring my client up I see 4000 entries in my PUA table and about 500+ >> > entries in the rls_watchers table for the same presentity. >> > >> > What would trigger behavior like this? Either I have an error or am >> > missing something in the config file or it's my XML. Any thoughts. I >> > have included my config params in this email chain and my >> > rls-services, pres-rules and resource-lists documents are from the OMA >> > specs with external anchors etc. >> > >> > Thanks, >> > Sangeeta >> > >> > On Mon, Oct 22, 2012 at 3:32 PM, Sangeeta Shah <sangeeta.s...@gmail.com> >> > wrote: >> > >> > Hello All, >> > I am hoping the authors of the RLS/PUA modules can answer this >> > question since I am not sure what's going on. I have the rls module >> > enabled, with the following config spec: >> > >> > # ------rls module params ------ >> > modparam("rls", "db_url", DBURL) >> > modparam("rls", "db_mode", 2) >> > modparam("rls", "integrated_xcap_server", 1) >> > modparam("rls", "to_presence_code" ,10) >> > modparam("rls", "server_address", "sip:rls@ip:5060") >> > >> > >> > #!endif >> > >> > and >> > modparam("pua_reginfo", "default_domain", "ip") >> > modparam("pua_reginfo", "server_address", "sip:reginfo@ip") >> > modparam("pua", "db_mode", 2) >> > >> > So for both I have DB_MODE set to DB ONLY. For whatever reason, even >> > though all I am doing is bringing up my client I see over 250+ entries >> > in the rls_watchers table for the same watcher and over 100 entries in >> > the pua list table for the same presentity? >> > >> > Anyone have any idea what would be triggering this. There is >> > definitely not anymore more than the normal messaging going on between >> > the client and the server. >> > >> > Only error I see in the syslog: >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11745]: ERROR: >> > db_mysql [km_dbase.c:122]: driver error on query: Duplicate entry >> > '1350937406' for key 'expires_idx' >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11744]: DEBUG: >> > presence [subscribe.c:1216]: subs->contact= sip:rls@ip:5060 - len = 25 >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11761]: DEBUG: >> > <core> [db_val.c:117]: converting STRING [8475551001] >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11746]: DEBUG: >> > <core> [parser/msg_parser.c:626]: method: <SUBSCRIBE> >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11745]: ERROR: >> > <core> [db_query.c:210]: error while submitting query >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11744]: DEBUG: >> > rls [rls.h:241]: did= >> > 41826031568472f9-11752@127.0.0.1;533cb9e91f4b999cf76861cbb9ed54ed-93a3;a6a1c5f60faecf035a1ae5b6e96e979a-464d >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11761]: DEBUG: >> > <core> [db_val.c:117]: converting STRING [10.50.251.12] >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11746]: DEBUG: >> > <core> [parser/msg_parser.c:628]: uri: <sip:8475551001@ip> >> > Oct 22 15:22:22 RCS-Presence /usr/local/sbin/kamailio[11745]: ERROR: >> > pua [pua_db.c:1149]: DB insert failed >> > >> > >> > >> > -- >> > Sangeeta Shah >> > >> > >> > >> > >> > -- >> > Hugh Waite >> > Principal Design Engineer >> > Crocodile RCS Ltd. >> > >> > >> > _______________________________________________ >> > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >> > sr-users@lists.sip-router.org >> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >> > >> >> >> > > -- > Peter Dunkley > Technical Director > Crocodile RCS Ltd > _______________________________________________ > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list > sr-users@lists.sip-router.org > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users