Hello all!  I had mentioned this topic previously as a tangent on
another topic, but I am finally addressing it directly and I think I
have enough information to form a reasonable question.  My goal is to be
able to change all of the call forwarding ring timers (defaulted to 20
sec) to a different value, either by changing the value for each user
(in a reasonably programmatic, bulk way) or by changing the default.

 

* Background

Here is how I understand things work so far

 

1.  There is a "Call Forwarding" setting on the left side of the SipXecs
UI "User" menu entry for any particular user, and it shows "20" by
default.

2.  The actual values are set in PostgreSQL, first by having a
value_storage_id assigned to a user and then having a corresponding
entry in the "setting_value" table that has a path of "callfwd/timer"
(is this all that must happen in the database?).

3.  There is a "my/forward" REST API to set "forward" values including
this one, but it must operate on the currently logged in user.

4.  I do not know where the default value is derived from when there is
no set value in "setting_value".  I assume it is set by code.  In the
source I looked at I only found a location where
"CALL_FORWARD_TIMER_SETTING" is actually set to 27 upon creation of the
forwarding object.  This makes me question whether it is the right
place.

 

* Approaches

A. Ideally I would like to simply change the default value.  However, if
it is set in code upon creation as I suspect that seems to require a
code change and rebuild.  Can anyone confirm this?

 

B. The next possibility is to change the value for every user in the
database.  I described above what I thought was involved in this setting
(the foreign key field in users to setting value and the corresponding
entry).  Is this all that is involved?  And if I manually add new rows
to setting_value will the key generation used for adding entries to
"users" through the normal modes just use the next key available from
the setting_value table?  Or am I breaking something that actually
tracks the creation of the next key for setting_value?

 

As an aside, I noticed that creating two users with the same timer value
caused two separate entries to be created in the setting_value table.
Am I right to assume the system does not actually try to reuse common
entries in the table?

 

C. The last possibility I came up with was to add a new REST API call
that would allow admin ability to set the user call forward timer, and
then to make a bunch of one-time calls for all current users and then
upon creation.  I have not jumped to this yet mainly for the reason that
it requires a code change and rebuild like option A

 

* Questions

Please give me any comments or insights on

1.  How correct or incorrect is my above knowledge

2.  Any preferences for or against the above approaches

3.  Any confirmations (reassurances ^_^) that Approach B is valid

4.  Any other input is also welcome

 

As always, thanks for all input!

 

 

Daniel Chang

Lead Programmer

PATLive
1.800.775.7790 x750 office

1.800.556.6498 fax
[email protected] <mailto:[email protected]> 

 

Hosted Communications | Friendly Service  www.patlive.com
<http://www.patlive.com> 

 

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

Reply via email to