/[resiprocate]/main/resip/dum/ServerRegistration.hxx
ViewVC logotype

Log of /main/resip/dum/ServerRegistration.hxx

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 9633 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 2 19:27:38 2012 UTC (7 years, 6 months ago) by sgodin
File length: 11579 byte(s)
Diff to previous 9154
-merge work from branches/b-repro-enh-20120205

-up repro version number 0.9
-added new Settings page to repro web interface to show current command line / files settings in use
 - will also display some some low level stack info and congestion stats (if enabled)
-added new config setting StatisticsLogInterval to specify how often statistics are dumped to 
 the log files
-cleaned up the WebAdmin constructor to take a Proxy object
-added new KeyValueStore class for highly efficient generic storage
 - keys are simple integer indexes into a vector and must be allocated 
   before they are used
 - currently supports storage and retrieval of the following types:
   Data, bool, short, unsigned short, int, unsigned int, and UInt64
-Converted ConfigParse storage from std::multimap to HashMultiMap
-removed print in TcpConnection that could end up printing garbage at the end of 
 messages that are not null terminated
-added KeyValueStore to three strategic locations in repro, allowing custom Processors 
 (Monkeys, Lemurs and Baboons) to store state scoped as follows:
     -Global Proxy Scope - Proxy::getKeyValueStore
     -Request Scope - RequestContext::getKeyValueStore
     -Target Scope - Target::getKeyValueStore
 Before this storage can be used you must statically allocate a storage key.
 See mFromTrustedNodeKey use in the IsTrustedNode class for an example.
-major changes to how repro is started up, to allow easier additions of
 custom startup logic, such as adding custom Processors (Monkeys, Lemurs and 
 Baboons) to the default Processor chains
  - almost all logic that was in repro.cxx has been moved out to a new class
    (ReproRunner), and split into smaller virtual methods that can be overridden
  - see comments at the top of repro.cxx for an example of how to add custom
    processors
-added option to enable some basic P-Asserted-Identity header handling
 - After auth is successful 
   - if P-Perferred-Identity header is present remove it
   - if no P-Asserted-Identity header is present, then add one
 - Removal of P-Asserted-Identity if Privacy header is set to "id"
   Note: Since we have no better mechanism to determine if destination is 
         trusted or not we assume that all destinations outside our domain 
         are not-trusted and will remove the P-Asserted-Identity header
-modified how ;lr param on routes are processed - moved logic from StaticRoute 
 to ResponseContext - this slightly changes the behaviour
 - previous implementation used to stop the processing chain as soon
   as the first matching route with a ;lr is found, new implementation
   does not stop Target processing if a ;lr is present
 - Multiple targets can now have a ;lr on them and be processed
   properly.  The ;lr parameter is now examined in 
   ResponseContext::beginClientTransaction, and if present the RequestUri
   is not altered and a Route header is added instead
-fixed a duplicate removeContact call in OutboundTargetHandler (a merge conflict
 victim)
-avoid unnecessary iteration through target list in StaticRoute when try to determine
 if auth is required
-added two new constructors to QValueTarget to make is easier to form targets from 
 a NameAddr or Uri only
-removed some unused code in ResponseContext:  addOutboundBatch and mOutboundMap
-renamed Target::targetPtrCompare to Target::priorityMetricCompare to be more descriptive
-implement proper q-value processing of contacts in a redirect response

-fix for a long standing issue in repro that started in rev6794, where
 repro can be over protective and issue 403 responses for legitimate 
 mid-dialog requests.  The issue occurs when a repro domain user forms
 a dialog with a user in another external domain.  Any mid-dialog
 requests coming from the external domain would get 403'd.  This 
 was due to the logic in the AmIResponsible monkey, and the fact that 
 such requests have the repro endpoints contact address in the 
 RequestUri (typically the endpoints IP address), so not belonging
 to repro's domain, and the From user is not being from repro's domain.

 The original code to only do these checks for out of dialog requests
 was reintroduced with the following comments:

         // only perform relay check for out-of-dialog requests
         // !bwc! Um, then all anyone has to do to get us to be their relay
         //       is throw in a spurious to-tag...
         //       This smells funny. I am commenting it out.
         // .slg. Putting code back in and clarifying the funny smell.....
         //       We only want to do this check for out of dialog requests, since 
         //       mid-dialog requests could be 403'd otherwise.  Consider
         //       an INVITE request from a repro domain user to a user in 
         //       another domain.  The resulting ACK/200, BYE or any other
         //       mid-dialog request coming from the remote domain, will contain
         //       the repro users contact address in the RequestUri and a 
         //       foreign domain in the from header.  We want to ensure these
         //       requests are not 403'd.  Byron's comment about an endpoint getting
         //       us to relay by placing a spurious to tag in the request still 
         //       stands. Perhaps we ought to be checking the To header domain in 
         //       this case - however that is also weak, since the To header is not
         //       used in routing and easily be set to a URI in our domain to trick
         //       repro into forwarding.  Note:  From header domain checking is
         //       stronger than To header domain checking, since if the domain is 
         //       ours, then it must pass Digest Authentication (at least for non 
         //       ACK and BYE requests).

-add ability for a repro admin to add manual / permanent registrations - such
 manually added registrations are persisted to the database, and loaded at startup
 - Manual registrations can be added on the Registration Web Page
-add display of registered contact's QValue on registrations web page
-added ability to specify a Path on new static registration feature
-cleanup some old hacks now that we have the ability to manually add registrations
  - ParallelForkStaticRoutes no longer combines StaticRoutes Targets and LocationServer
    Targets
  - Static Routes are no longer added as QValueTargets, they are now added as simple Targets.
    So they are no longer susceptible to the various QValue Settings - ie. QValueMsBeforeCancel.
  - Added new ContinueProcessingAfterRoutesFound setting:
    By default (false) we will stop looking for more Targets if we have found
    matching routes.  Setting this value to true will allow the LocationServer Monkey
    to run after StaticRoutes have been found.  In this case the matching
    StaticRoutes become fallback targets, processed only after all location server 
    Targets fail.

-added new Helper method:  Tuple getClientPublicAddress(const SipMessage& request)
  - look at Via headers, and finds the first public IP address closest to the sending
    client.
-added loopback address checking to Tuple::isPrivateAddress
-modified ServerRegistration:
 - Ensure that ContactInstanceRecord::mReceivedFrom is always populated - not just 
   in outbound use cases - added a new flag to indicate when flow routing is required
 - Added a new mPublicAddress flag member to ContactInstanceRecord - this will assist
   with an upcoming feature to do geo proximity routing
-added new ContactInstanceRecord::mPublicAddress to regsync process
-removed a chatty log line in DialogSetId
-used Symbols::COMMA in a few spots it wasn't being used in
-removed unimplemented targetCount method on ResponseContext
-renamed Helper::isSenderBehindNAT to isClientBehindNAT for consistency
-ensure we only skip the Monkey chain in StaticRoute if we actual found routes
-added missing license block to ForkControlMessage
-adding new Baboon:  GeoProximityTargetSorter
 If enabled, then this baboon can post-process the target list.  
 This includes targets from the StaticRoute monkey and/or targets
 from the LocationServer monkey.  Requests that meet the filter 
 criteria will have their Target list, flatened (serialized) and
 ordered based on the proximity of the target to the client sending
 the request.  Proximity is determined by looking for a 
 x-repro-geolocation="<latitude>,<longitude>" parameter on the Contact
 header of a received request, or the Contact headers of Registration
 requests.  If this parameter is not found, then this processor will
 attempt to determine the public IP address closest to the client or
 target and use the MaxMind Geo IP library to lookup the geo location.
-requires floating point support for geo proximity calculations
-resip TCP transports can crash repro on uncaught exception - if garbage is received
 on the socket, and there is no Content-Length header, then SipMessage::Exception can
 throw, and it was not caught with the existing ParseException catch handler.  Changed
 to catch BaseException instead.
-removed unsafe logging statement in DumTimeout - if DUM and stack are in different threads, then
 crash could occur
-enable Inserter functionality for collections that store pointers
 to items.  Use InsertP instead of Inserter for such collections.
 For example:  
 std::vector<std::string*> v;
 ... populate vector ...
 std::cout << InserterP(v) << std::endl;
-statictize strings in Inserter/InserterP
-add InserterP test cases to rutil/test/testInserter.cxx
-cleaned up Processor and ProcessorChain classes
 - added mName property in anticipation of a future capability to define processor 
   chains in the configuration file
 - simplified operator<< for processors, to use Name
-modified some Inserter uses to use new InserterP function
-allow custom repro implementations to add themselves to the RegistrarHandler so that
 registration messages can be processed and reacted to
-added a singleResultQuery API to MySqlDb
-series of interfaces to make is easier to implement new Asynchronous Monkey's / Processors that utilize a common thread pool
-removed getTransactionId from ForkControlMessage - method exists on base class, so it's not needed
-removed getTransactionId and tid() from UserInfoMessage - getTransactionId method exists on base class, so they are not needed
-made Worker and abstract base class
-modified ConfigParser to throw a resip style exception when failing to open configuration file
-minor cleanups to ConfigParser configuration file parsing routine

-added new RequestFilter monkey
 - allows user to configure conditions under which an inbound request should be rejected or not
 - allows two regular expression conditions that can be applied to any SIP message header:
   this includes the request-line, standard SIP headers and custom SIP headers.  If a header
   that can appear multiple time is specified, then each instance of the header is checked.
 - When conditions are met, allows the action carried out to be defined:
   - Accept - accepts this request and stops further processing in Request Filter monkey 
   - Reject - rejects this request with the provided SIP status code and reason text
   - SQL query - only available when MySQL support is compiled in - runs an arbitrary stored
     procedure or query, using replacement strings from the 2 condition regular expressions
     - query must return an empty string or "0" to instruct repro to Accept the request, or a 
       string containing "<SIP Reject Status Code>[, <SIP Reject Reason>]" to Reject the request
     - using the repro configuration file the SQL Query can be configured to operate on a
       completely different my SQL instance/server than the repro configuration
   - Filters are defined in the HTTP web interface via new Add Filter, Edit Filter and Show
     Filters web pages.  There is an ability to test the condition regular expressions from 
     the web page as well.
   - other Monkey settings are configured in the repro configuration file or via command line:
     DisableRequestFilterProcessor, RequestFilterDefaultNoMatchBehavior, 
     RequestFilterDefaultDBErrorBehavior, RequestFilterMySQLServer (and other mySQL related settings) 
   - can be used to implement a User Blocking functionality - ie. calls and instant messages 
     from user X to user Y should always be blocked, because user X is in user Y's block list
   - introduced new FilterStore configuration database table to store the Filters configured
     on the web pages

-added AsyncProcessorDispatcher / thread pool to repro that be shared by all AsyncProcessors
 - currently only used by new RequestFilter monkey
-cleaned up some implementation in AbstractDb to remove some code duplication
-catch config file parse, and missing file errors (exceptions) at repro startup
-RouteStore 
  - stop webpage from being able to add two routes with the same Key
  - optimized data fetch for displaying routes on web page
-Repro Web Interface
 - added new Add Filter, Edit Filter and Show Filters pages
 - made use of HTML tables consistent across all pages
 - made table backgrounds white to improved appearance
 - added title to right hand side pane
 - cleaned up formatting on many pages
 - ordered methods in source to match ordering on web page 
 - added warning to Domains page, that repro must be restarted

-added version information to startup logs and to display on web interface
-added bottom footer on web interface with link to www.resiprocate.org
-added new RequestFilter files to all Visual Studio projects and linux Makefile
-upped repro version to 0.9

-fix a bug in repro web interface, where fragmented HTTP messages were not being handled correctly
-fixed possible assert if a transport error is seen after trying to send an ACK message

-added optional MessageSilo support to repro
 - stores IM's (ie. SIP MESSAGE requests) for offline users
 - replays messages to users when they register (ie. come back online)
 - records are persisted to a database table, so they survive shutdowns
 - configurable filters exist for DestUri, MimeType, MessageBody size

-moved CommandServer from repro to reprolib
-added restart command to reprocmd - allows restarting repro to apply configuration changes while leaving 
 the in memory registration database in tact
-propagate db insert/update failures to callers - web interface now shows errors if record fails to update in db
-remove unused AbstractDb API's: writeRoute and writeFilter
-added ability for tables to have non-unique keys (ie. duplicate records)
-modified WorkerThread to support work that does not require a response to be queued back to the stack
-added database transaction support to BerekelyDb and MySQL implementations
-reorganized repro runner startup ordering so that DUM TU is started before Proxy and added new 
 virtual createDatastore method - in order to facility new Silo Monkey startup that requires access to 
 the Registrar object
-make RequestFilter monkey options - use config flag
-allow a DateCategory to be created from time_t

-build fixes for linux, add --with-geoip option to autotools configure
-added --with-popt to configure so that test projects can be build easily with popt support
-added autodetection of epoll support on unix and automatic addition of HAVE_EPOLL define

-added ability for repro to report a 404 error when attempting to reach a user that does not exist
 - previously repro would always send a 480 response when attempting to reach an AOR that wasn't
   registered
-removed unused SipStack parameter to DigestAuthenticator monkey

-allow reprocmd to run defaulting to 127.0.0.1:5081 for server connection

-added secondary database support to BerkeleyDb - allows tables with a secondary index
 - my sql implementation of AVPs with two indexes was added as well
-message silo records can now be deleted by referencing a unique key (ie. timestamp+tid)
 - transaction support is no longer required
-optimized data copies when reading records from BerkeleyDb
-increase MySQL AVP table size for value field from 1024 to 4096
-implemented logic to periodically cleanup Silo records that have expired


Revision 9154 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 13 14:55:20 2011 UTC (8 years, 6 months ago) by bcampen
File length: 11381 byte(s)
Diff to previous 9050
Merge the less disruptive/more critical changes from b-TKLC-SIPit28-stuff


Revision 9050 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 5 17:06:07 2011 UTC (8 years, 8 months ago) by sgodin
File length: 11229 byte(s)
Diff to previous 8920
-added client and server(repro) side support for RFC5626 (outbound) Flow-Timer header
-Server side (repro)
  -added new Header Flow-Timer to HeaderHash
  -two new InteropHelper settings: 
     -setFlowTimerSeconds - if set to greater than 0 then a Flow-Timer header is 
      added to local generated REGISTER/200 response or a proxied one if outbound 
      is being used (this is the edge proxy case)
     -setFlowTimerGracePeriodSeconds - this value is used by the stack to decide 
      when connections that are using a flow-timer have timed out.  Default is 10 seconds.
  -added a new ConnectionManager::EnableAgressiveGc static member setting - if enabled 
   this will cause the connection garbage collection to run every time a new connection 
   is formed, instead of just when we run out of FD's
  -added a new enableFlowTimer method on the SipStack - this takes a Tuple parameter 
   and will "tag" the specified connection as being one in which we want to implement 
   flow-timer timeout logic on
  -modified the connection manager to keep two LRU lists - one for flow-timer enabled 
   connections and another generic one - this is to facilitate fast timeouts of flow-timer 
   enabled connections (ones where we know it is safe to expect keepalives and ones where 
   we have provided the keepalive timer value to the farend in a Flow-Timer header), and 
   a different connection timeout for non flow-timer enabled connections
  -added IntrusiveListElement3 in order to support Connection being a member in 4 different
   Intrusive lists
  -new commandline option to repro --flow-timer=X - that will enable the following settings:
   - ConnectionManager::EnableAgressiveGc
   - InteropHelper::setFlowTimerSeconds(X)
   - ConnectionManager::MinimumGcAge = 7200000; // Timeout connections not related to a flow 
                                                // timer after 2 hours of inactivity
-Client side (dum)
  - The Flow-Timer header will be read from Registration responses that have an indication 
    that the first hop proxy supports outbound
  - Flow-Timer value is then used in place of the profile keepalive timeout settings
  - If a keepalive is for an "outbound" enabled connection, then the keepalives are sent
    sometime between 80% and 100% of either the Flow-Timer header (if present) or the 
    configured keepalive time - as specified in RFC5626



Revision 8920 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 22 19:41:10 2010 UTC (8 years, 10 months ago) by jmatthewsr
File length: 11221 byte(s)
Diff to previous 8845
Fix possible memory corruption and resulting dump/crash in asynchronous DNS handler.  Occurs when calling reject() while processing a ServerRegistrationHandler::async* handler function.  Also fixes an issue if the async code is used in a non-asynchronous way (ie calling ServerRegistration::asyncProvideContacts() from a handler).

Revision 8845 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 4 16:43:34 2010 UTC (9 years ago) by sgodin
File length: 10452 byte(s)
Diff to previous 8735
-remove compiler warnings when building 64-bit

Revision 8735 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 17 23:12:00 2010 UTC (9 years, 9 months ago) by sgodin
File length: 10438 byte(s)
Diff to previous 8721
-removed recently added API isInitialContacts since it wasn't clear
-added new getOriginalContacts API

Revision 8721 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 30 18:14:56 2009 UTC (9 years, 10 months ago) by sgodin
File length: 10410 byte(s)
Diff to previous 8604
-added ability for a registration server to query if there are an initial list of contacts
 - useful when doing registration query processing, if for example you want to return a 404 for
   unregistered endpoints instead of a 200, with no contacts

Revision 8604 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 21 18:16:51 2009 UTC (10 years, 1 month ago) by bcampen
File length: 10179 byte(s)
Diff to previous 8443
Work on outbound (fixing/tweaking record-routing behavior, and updates for latest version
of outbound).


Revision 8443 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 24 14:17:30 2009 UTC (10 years, 7 months ago) by jmatthewsr
File length: 10013 byte(s)
Diff to previous 8161
Add support for asynchronous database queries during registration.

Revision 8161 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 25 20:54:42 2008 UTC (11 years, 3 months ago) by jmatthewsr
File length: 3650 byte(s)
Diff to previous 7463
Stream performance enhancements for encoding objects.  New encoding code should use 'EncodeStream','resipCerr' and 'resipCout' for encoding any resip objects.  Merge from b-jmatthewsr-streamperf2 -r 8137:8160.  

Revision 7463 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 27 23:16:08 2007 UTC (11 years, 11 months ago) by bcampen
File length: 3650 byte(s)
Diff to previous 7344
Merge work from b-Outbound (proxy/registrar outbound support). Includes Path
support. No client support for either of these.


Revision 7344 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 20 00:02:52 2007 UTC (12 years ago) by jason
File length: 3663 byte(s)
Diff to previous 5948
added better debug dump methods


Revision 5948 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 17 15:30:16 2006 UTC (13 years, 8 months ago) by dworley
File length: 3601 byte(s)
Diff to previous 5929
Setting more svn: properties, and adding EOLs to the ends of files
that need it.


Revision 5929 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 16 22:36:43 2006 UTC (13 years, 8 months ago) by dworley
File length: 3601 byte(s)
Diff to previous 5876
Start cleaning up svn:eol-style and EOLs in files.
Note that text and program files that can be used on both Un*x and Windows
should have svn:eol-style=native so they check out correctly on both
platforms.


Revision 5876 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 10 21:06:47 2006 UTC (13 years, 9 months ago) by bcampen
File length: 3601 byte(s)
Diff to previous 5295
Merge of b-bwc-ProcessorReorg into main at revision 5875. (New Processor architecture for repro, and nifty new stuff like q-value processing.))

Revision 5295 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 22 00:30:05 2005 UTC (14 years, 2 months ago) by jason
File length: 3599 byte(s)
Copied from: branches/b-directory-reorg/resip/dum/ServerRegistration.hxx revision 5294
Diff to previous 5283
merged 5270:HEAD from b-directory-reorg

Revision 5283 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 19 01:27:14 2005 UTC (14 years, 2 months ago) by derek
Original Path: branches/b-directory-reorg/resip/dum/ServerRegistration.hxx
File length: 3599 byte(s)
Diff to previous 5276
finished resip/sip -> resip/stack rename

Revision 5276 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 19 00:23:17 2005 UTC (14 years, 2 months ago) by jason
Original Path: branches/b-directory-reorg/resip/dum/ServerRegistration.hxx
File length: 3597 byte(s)
Diff to previous 5273
compiles now

Revision 5273 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 18 23:50:54 2005 UTC (14 years, 2 months ago) by jason
Original Path: branches/b-directory-reorg/resip/dum/ServerRegistration.hxx
File length: 3611 byte(s)
Diff to previous 5272
initial reorg - more to come

Revision 5272 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 18 23:49:50 2005 UTC (14 years, 2 months ago) by jason
Original Path: branches/b-directory-reorg/resip/resiprocate/dum/ServerRegistration.hxx
File length: 3611 byte(s)
Diff to previous 5271
initial reorg - more to come

Revision 5271 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 18 23:43:07 2005 UTC (14 years, 2 months ago) by jason
Original Path: branches/b-directory-reorg/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3611 byte(s)
Diff to previous 4599
new directory reorg proposal

Revision 4599 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 11 23:10:19 2005 UTC (14 years, 6 months ago) by derek
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3611 byte(s)
Diff to previous 4335
set svn:eol-style to LF

Revision 4335 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 12 21:40:15 2005 UTC (14 years, 7 months ago) by jason
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3611 byte(s)
Diff to previous 3938
merged changes from b-dev-repro from rev 4155:4334
used cmd: svn merge -r 4155:4334 https://scm.sipfoundry.org/rep/ resiprocate/branches/b-dev-repro-20050401


Revision 3938 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 3 05:54:38 2005 UTC (14 years, 8 months ago) by adam
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3610 byte(s)
Diff to previous 3924
Updates after extremely rudimentary testing


Revision 3924 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 28 06:47:26 2005 UTC (14 years, 8 months ago) by adam
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3677 byte(s)
Diff to previous 3923
Added include for RegistrationPersistenceManager


Revision 3923 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 28 06:43:42 2005 UTC (14 years, 8 months ago) by adam
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3615 byte(s)
Diff to previous 3919
Code complete for very simple server-side handling of
REGISTER requests. This code has not yet been tested
in any way except to verify that it compiles, so
caveat implementor.

I think I got all this largely correct and consistent
with the rest of the DUM (although it's a bit unclear
what was intended with the registration persistence
class, so I had to kind of make up an API there; I think
it should be very easy to derive an object from what
I currently have for storage to disk, storage to
a relational database, and/or sharing with a mated
pair over a message bus). For testing purposes, I added
a rudimentary persistence class (InMemoryRegistrationDatabase)
that doesn't actually persist data anywhere but the heap.

Also, it's really unclear to me who is responsible
for cleaning up the BaseUsage/NonDialogUsage objects
in general (and the ServerRegistration objects in
particular), so there may be a memory leak in this
at the moment. Once I figure out how these objects
are managed, I'll verify that the ServerRegistration
objects get cleaned up properly, and fix it if
they dont.

Finally, the current interface to the Persistence
manager is a bit rudimentary: it only handles the
URI and expires values. Discarding the display name
portion of contact headers is hardly a problem,
and not keeping around unknown parameters is unlikely
to ever cause issues; however, this code really should
remember q= values. This oversight should be relatively
easy to fix if it becomes important to anyone. In
fact, I'll probably address it myself at some point
in the near future, but my goal for this weekend is
to get something that works, not something that is
100% perfect.


Revision 3919 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 27 07:04:53 2005 UTC (14 years, 8 months ago) by adam
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3439 byte(s)
Diff to previous 3089
makeRegistrationResponse doesn't appear to be implemented
yet; however, when it is, the argument to it should be
const.


Revision 3089 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 12 02:36:14 2004 UTC (15 years, 4 months ago) by derek
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3433 byte(s)
Diff to previous 2941
Moved non-Dialog creating usages into DialogSet: Registration, Publication and OutOfDialog
Involved re-factory BaseUsage.
Some Handle bug-fixes


Revision 2941 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 7 00:44:01 2004 UTC (15 years, 5 months ago) by jason
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3414 byte(s)
Diff to previous 2909
refactored Handle code
streamlined header includes


Revision 2909 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 1 22:49:31 2004 UTC (15 years, 5 months ago) by derek
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3688 byte(s)
Diff to previous 2885
BaseUsage now holds the BaseUsageHandle...ugly casting in subclasses will be moved to .cxx soon.
DialogUsageManager's destructor will work now.

Revision 2885 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 30 21:12:28 2004 UTC (15 years, 5 months ago) by jason
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3746 byte(s)
Diff to previous 2858
moved make... into Dialog



Revision 2858 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 30 03:51:09 2004 UTC (15 years, 5 months ago) by derek
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3756 byte(s)
Diff to previous 2833
beginnings of Usage, Dialog, DialogSet lifetime management

Revision 2833 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 29 21:41:48 2004 UTC (15 years, 5 months ago) by alan
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3712 byte(s)
Diff to previous 2727
phase 1/2 DumTimer rename

Revision 2727 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 10 01:12:46 2004 UTC (15 years, 6 months ago) by jason
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3710 byte(s)
Diff to previous 2726
added some Profile stuff


Revision 2726 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 9 22:46:50 2004 UTC (15 years, 6 months ago) by jason
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3694 byte(s)
Diff to previous 2604
compiles again


Revision 2604 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 11 23:51:48 2004 UTC (15 years, 7 months ago) by davidb
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3557 byte(s)
Diff to previous 2603
slouching towards compile...


Revision 2603 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 11 23:41:33 2004 UTC (15 years, 7 months ago) by davidb
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3494 byte(s)
Diff to previous 2587
slouching towards compile...


Revision 2587 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 11 18:30:11 2004 UTC (15 years, 7 months ago) by davidb
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3291 byte(s)
Diff to previous 2581
handles, creeping toward compile...


Revision 2581 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 11 02:25:23 2004 UTC (15 years, 7 months ago) by davidb
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3198 byte(s)
Diff to previous 2580
adding handles


Revision 2580 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 11 02:16:47 2004 UTC (15 years, 7 months ago) by fluffy
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 3104 byte(s)
Diff to previous 2579
*** empty log message ***


Revision 2579 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 11 01:43:41 2004 UTC (15 years, 7 months ago) by davidb
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 2921 byte(s)
Diff to previous 2576
adding handles


Revision 2576 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 11 00:59:48 2004 UTC (15 years, 7 months ago) by davidb
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 2904 byte(s)
Diff to previous 2558
adding handles


Revision 2558 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 4 21:49:56 2004 UTC (15 years, 7 months ago) by jason
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 285 byte(s)
Diff to previous 2516
*** empty log message ***


Revision 2516 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 3 22:45:36 2004 UTC (15 years, 7 months ago) by rjsparks
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 523 byte(s)
Diff to previous 2515
Added the Handle inner class to the _rest_ of the
BaseUsage things.


Revision 2515 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 3 22:42:17 2004 UTC (15 years, 7 months ago) by rjsparks
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 469 byte(s)
Diff to previous 2510
Added the Handle inner-class to each of the concrete
BaseUsage things.


Revision 2510 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 3 22:05:29 2004 UTC (15 years, 7 months ago) by rjsparks
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 513 byte(s)
Diff to previous 2503
Fleshing out interface of the Registration related things


Revision 2503 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 3 17:46:58 2004 UTC (15 years, 7 months ago) by fluffy
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 229 byte(s)
Diff to previous 2502
added guards


Revision 2502 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 3 17:46:58 2004 UTC (15 years, 7 months ago) by fluffy
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 117 byte(s)
Diff to previous 2493
added guards


Revision 2493 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 3 16:29:53 2004 UTC (15 years, 7 months ago) by rjsparks
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 118 byte(s)
Diff to previous 2491
established minimal classes


Revision 2491 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 3 16:20:42 2004 UTC (15 years, 7 months ago) by rjsparks
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 67 byte(s)
Diff to previous 2489
Building out starting point


Revision 2489 - (view) (download) (annotate) - [select for diffs]
Added Sat Apr 3 15:59:31 2004 UTC (15 years, 7 months ago) by fluffy
Original Path: main/sip/resiprocate/dum/ServerRegistration.hxx
File length: 1 byte(s)
*** empty log message ***


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

webmaster AT resiprocate DOT org
ViewVC Help
Powered by ViewVC 1.1.27