I figured I'd try the support forums before opening a TAC case and digging in myself.
Are PTZ presets stored within the VSOM database? Is there additional data stored elsewhere? If so, where? Is this configuration informtion carried over cleanly in the event of Backup/Restore (server failure event)?
PTZ presets are stored in the MySQL database in the VSOM server (and in the camera itself of course). So, when you have a backup of your VSOM server, the presets should be there as the backup contains a dump of VSOM's MySQL database.
I thought so as well... but a client of ours recently experienced a VSOM server failure and we had to quickly transition in a replacement server using a recent ( < 24hr old ) VSOM backup for recovery.
Everything appeared to have gone quite smooth, except we've had to redo what seems to be *all* of the PTZ presets that had been configured. They were still listed within VSOM... the actual shots just didn't match the original presets at all.
No other components changed.
Dirk, you haven't actually peeled back any of the application itself to see what's *actually* stored in the VSOM database as far as PTZ preset data have you?
I want to... I just won't have time for a while. :-S
It is strange that it didn't work for your client. I have just reinstalled VSOM (6.3.2-MR2), wiped the database with a blank, new database and then restored a previous backup and all presets for my Cisco 2900 camera are back and working.
VSOM merely stores the label you give to the preset and to which camera and preset thereon it maps to, but the coordinates of the actual shot and which preset it belongs to (on the camera) are normally stored inside the camera only.
Below are my presets in the VSOM MySQL database. As you can see the information that VSOM stores is very minimal. It's the camera that knows which actual shot belongs to which preset.
mysql> select * from pub_camera_presets_view;
| camera_id | name | position | label |
| 8 | lab-2900-1 | 1 | left |
| 8 | lab-2900-1 | 2 | right |
| 8 | lab-2900-1 | 3 | front |
| 8 | lab-2900-1 | 4 | down |
| 8 | lab-2900-1 | 5 | up |
| 8 | lab-2900-1 | 6 | test |
6 rows in set (0.00 sec)
mysql> select * from bas_camera_presets;
| id | camera_id | position | label |
| 1 | 8 | 1 | left |
| 2 | 8 | 2 | right |
| 3 | 8 | 3 | front |
| 4 | 8 | 4 | down |
| 5 | 8 | 5 | up |
| 6 | 8 | 6 | test |
6 rows in set (0.00 sec)
Interesting. In my case, these were single channel analogue encoders, and not IP PTZs. I wonder if there are any differences there that would explain what was observed.
Thanks for the feedback.
Indeed I can. They are some of the original "Stream Manager" encoders:
using Pelco-D over simplex RS-422 if memory serves.
Discovering that the "chain IDs" are 0 indexed in VSOM was an adventure! (i.e. - If I camera was physically set to chain ID 4, the chain ID needed to be set to 3 within VSOM)
I have verified this again, but for an encoder this time and it works the same way as for an IP camera.
This is what gets inserted in the VSOM MySQL database upon creating a new preset (test1). This can be seen by setting the operations manager log level to 'Debug' from within VSMC and then tailing vsom.log:
2012-07-26 09:54:36 10.55.228.86 [debug] INSERT INTO bas_camera_presets (label, position, camera_id) VALUES ('test1', 1, 13)
To see preset communication between VSOM and VSMS/Endpoint you can f.e. tail mediaout_access.log on the VSMS server:
Setting preset label 1 to 'test1':
10.55.228.86 [26/Jul/12 00:54:20 -0700] "GET /camera.bwt?command=S1,test1&model=pelco_d&comport=COM1firstname.lastname@example.org&srctype=cisco_smsg&priority=100&protocol=D HTTP/1.0" PROXIED
command=S1 means 'set/store preset 1'
Testing preset label 1:
10.55.228.86 [26/Jul/12 00:54:27 -0700] "GET /camera.bwt?model=pelco_d&comport=COM1email@example.com&number=0&speed=50&protocol=D&priority=100&command=G1 HTTP/1.0" PROXIED
command=G1 means 'go to preset 1'
So, VSOM does not hold any information about the actual shot itself. VSOM is merely acting as a remote control here to select/set the desired preset, while the programming of the actual shot and associated preset happens in the endpoint only.
Interesting. Thanks for the thorough digging Dirk. Well... it certainly doesn't appear the VSOM server stored the actual telemetry of the shots, so I'm at a real loss as far as explaining what's happened here. I'm wondering if the PTZs themselves have somehow been reset...
I *may* get time to do some lab work on this today.... hopefully. Thanks for the considerable head start :-D
VSOM does indeed store the Preset POSITIONS in the DB... i.e. that a Particular PTZ camera has Presets 1,2,3, but not its X, Y, Z co-ordinates.
The Camera is the one that ties together a "preset 1" to a particular Co-ordinate. That Co_ordinate Info is stored on the Camera itself, and tied to "preset 1" command from VSOM.