Re: [OpenSIPS-Devel] presence non-unique totag and more

2010-09-29 Thread Anca Vamanu




Hi Kennard,

I agree, the best solution is to generate a unique to tag in the
presence module - it is easy to do in tm module ( the b2b_entities
module already does this, it uses t_reply_with_body function), but in
sl there is no support to inject the to tag. I will speak with Bogdan
to see what solution we can find for this.

On 09/28/2010 09:47 PM, kennard_wh...@logitech.com wrote:

  Hi Anca,
  
There are some "big" issues that I don't think I can solve. I'll try to
describe:
  
1. Need to decide if indexing is based upon totag (if globally unique)
or the 5-tuple of from_uri,from_tag,to_uri,to_tag,callid. Whichever is
decided, should be used informally for hash  db, for all ops
(insert, search and delete). Current code has mixture. My own "vote" is
to make totag unique (within the sever), much the way PUBLISH's etag is
unique. Then a subscription can be identified by a single key (the
totag).
  
2. The unique totag needs to be generated *before* sending the
response. E.g., all the hashdb operations need to complete
successfully before sending reply message. With current code where the
totag is generated as side-effect of sending 2XX, the client thinks it
has a good subscription when in fact it has failed due to DB issue.
  
3. Consequence of above, my suggestion is generate totag within
presence module, complete DB ops, then send 2XX. Need new API so that
the totag can be passed into tm layer, instead of tm layer generating.
This is bigger change than I want to do (and even if I did, don't know
if patch would be accepted).
  
4. The totag generated by tm has a very long prefix that is GUID for
the opensips instance, and there is comment in code about this being
used to detect spirals. Is this used? If not, perhaps consider dropping
this prefix portion and making the dialog-specific portion longer (and
unique).
  
5. I don't understand why the totag is generated the way it is. The
method used makes sense for the sl module: the to tag (because hash of
prior hop state) will be the same for replies generated for
retransmits. But why do this in tm module? The whole "point" of tm is
that it keeps state to handle retransmits. And the whole "point" of the
totag is to provide a convenient handle to look up dialog state.
Clearly, I'm missing something here.
  
6. I only use the "presence_xml" module. The other presence modules
(e.g., pua) use the low-level APIs of the presence module. I'm just not
familiar with how these other modules work, and cannot assess impact of
changes to core presence module.
  

There is no other module to generate a to tag - only presence module
does this.

  
7. The startup order is messy. Currently the db-restore is done from
mod_init(). This has two problems: (a) the other modules may or may not
have been initialized, which leads to non-determinism in how the
get_auth_status() is handled, and (b) the statistics variables are not
ready. Suggest moving db-restore into the "first" child_init, assuming
stats are ready then. But really need a thread-join for all the
child-inits prior to handling traffic. E.g., need to block all PUB/SUB
traffic until restore is complete. (Ideally generating 5XX with
retry-after header). Don't really know how to implement this
join/blocking.
  
  

Indeed, get_auth_status might not be available in mod_init if the
modules that add events are not loaded before. We can move the reload
from db in the first child as you suggested.

I will let you know when I finish the unique to tag implementation.

Thanks and regards,
-- 
Anca Vamanu
www.voice-system.ro


  As a consequence of all the above, I don't think I can ever give
you a final patch, or even any much better than what you have now. I
just didn't want you to think my patch was good or ready for
production. Need to resolve above big issues. If you decide to go with
a global totag, then some of my changes will need to be backed out.
I'll happily deal with any version control conflicts if it gets us
closer to final solution.
  
Kennard
  
  "SourceForge.net"
---09/28/2010 02:30:29 AM---Patches item #3076805, was opened at
2010-09-28 00:00 Message generated for change (Comment added) m
  
  From: "SourceForge.net"
nore...@sourceforge.net
  To: nore...@sourceforge.net
  Date: 09/28/2010
02:30 AM
  Subject: [OpenSIPS-Devel]
[ opensips-Patches-3076805 ] presence non-unique totag and more
  Sent by: devel-boun...@lists.opensips.org
  
  
  
  
  Patches item #3076805, was opened at 2010-09-28 00:00
Message generated for change (Comment added) made by anca_vamanu
You can respond by visiting: 
  https://sourceforge.net/tracker/?func=detailatid=1086412aid=3076805group_id=232389
  
Please note that this message will contain a full copy of the comment
thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: trunk
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Kennard White (kennardwhite)
Assigned to: Anca Vamanu (anca_vamanu)

Re: [OpenSIPS-Devel] proposal of removal of lcr module (deprecated by drouting)

2010-09-29 Thread Iñaki Baz Castillo
2010/9/28 Ovidiu Sas o...@voipembedded.com:
 there is a proposal to remove the lcr module for the next release.

 Why:
  - lcr module was deprecated by drouting module
  - lcr module is no longer actively maintained

 If there are any objections, please let us know.

Just a question: What about loading contacts based on registration
;q parameter? LCR provides this feature by using load_contacts() and
next_contacts().




-- 
Iñaki Baz Castillo
i...@aliax.net

___
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel


Re: [OpenSIPS-Devel] [OpenSIPS-Users] proposal of removal of lcr module (deprecated by drouting)

2010-09-29 Thread Bogdan-Andrei Iancu
Iñaki Baz Castillo wrote:
 2010/9/28 Ovidiu Sas o...@voipembedded.com:
   
 there is a proposal to remove the lcr module for the next release.

 Why:
  - lcr module was deprecated by drouting module
  - lcr module is no longer actively maintained

 If there are any objections, please let us know.
 

 Just a question: What about loading contacts based on registration
 ;q parameter? LCR provides this feature by using load_contacts() and
 next_contacts().
   
See:

serialize_branches() http://www.opensips.org/Resources/DocsCoreFcn16#toc128
next_branches() http://www.opensips.org/Resources/DocsCoreFcn16#toc112


Regards,
Bogdan

-- 
Bogdan-Andrei Iancu
OpenSIPS Bootcamp
15 - 19 November 2010, Edison, New Jersey, USA
www.voice-system.ro


___
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel


[OpenSIPS-Devel] New OpenXCAP release 2.0.0 with support for OMA XDM SIP SIMPLE specifications

2010-09-29 Thread Adrian Georgescu
Hello,

There is a new release of OpenXCAP, version 2.0.0  It contains many bug fixes 
and buddy lists management based on OMA XDM specifications related to SIP 
SIMPLE presence.

openxcap (2.0.0) unstable; urgency=low

  * Added OMA XDM support for Buddy Lists Management
  * Unquote external references in resource-lists and pres-rules
  * Fixed resource lists and RLS services schemas
  * Added test case for conditional PUT with If-Match
  * Use allow_external_references setting also for entry-ref elements
  * Fixed PUT with If-Match header
  * Fixed UTF-8 encoding/decoding in SIPThor backend
  * Don't allow relative URIs to link to another users' resource list entry
  * Check external references for pres-rules and resource-lists
  * Use a single appusage for pres-rules
  * Don't allow external-ref paths which don't point to an 'entry'
  * Check entry-ref entries in resource-lists
  * Added test case for testing If-None-Match * in PUT requests
  * Don't allow PUT for xcap-caps
  * Added XPath tests to the test suite
  * Raise DocumentSelectorError if selector doesn't start with slash
  * Use appusages 'id' attribute as the AUID
  * Fixed support for XCAP default document namespace
  * Generate NodeParsingError when specified namespace is not found
  * Merged xcap-directory application definition with other applications
  * Fixed directory application AUID
  * Updated sample OpenSIPS mysql dburi

To update your installation see:

http://www.openxcap.org/wiki/Installation

Regards,
Adrian


___
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel