In resolving XECS-1955, I've implemented it in the following manner but
have discovered other possible problems which need to be discussed to
see if it is intended operation or if some other fixes need to be done.

The solution that I coded to verify IMDB dependencies for Processes was
to check for the existence of the particular table in the database.  If
the table doesn't exist, then the resource is not satisfied and the
process will be blocked from starting.  If the table exists (regardless
of whether or not there are records in it - I assume some tables could
be empty) then the resource requirement is satisfied and the startup
procedure can continue.

With this implementation, I noticed that a few of the IMDB tables are
not created/replicated.  Two tables that are currently not created by
default are "caller-alias" and "userlocation".
Should "caller-alias" and "userlocation" tables be replicated (by
SipXConfig I assume during a replication) even if there are no records
to put in them?  If they're not to be created, then the process
definition files for SipXproxy and SipRegistrar will have to be changed
to not rely on them as IMDB Resources.

SipXSupervisor on startup preloads (which by default, causes them to be
created if they don't exist already) a list of IMDB databases in order
to ensure that there is always at least one user of the database.  This
will always ensure that the tables stay in memory. The list of tables
that are preloaded are:

1. Credential
2. Subscription
3. Registration
4. HuntGroup
5. Permission
6. Extension
7. Alias

I have a couple of questions about this.  First of all, should
Supervisor be doing this anymore or should the table get loaded during
the IMDB process resource check if and only if the table exists?  If it
doesn't exist, then all processes requiring it will be blocked until
SipXConfig replicates them. Secondly if Supervisor must continue to
preload these tables, should it not preload all tables (i.e. including
"caller-alias" and "userlocation"?  Thirdly, if Supervisor preloads all
tables, then why would we do an IMDB resource check anymore since all
tables will always be created?


Raymond  
_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to