Enable/Disable "Notify Surveillance Center" via ISAPI

You dont need wireshark for this

Developer tools any browser / Network tab, click the option you want on camera web interface(save optional) and check for url and body if its put or post
 
  • Like
Reactions: rug4096
I'm interested too, but I can't find the HTTP command:

Howdy @123456 ...

I used Wireshark and Postman and came up with this on a DS-2CD2387G2-LU camera firmware version V5.7.19 build 241207... it successfully toggles "Notify Surveillance Center" on/off for "Intrusion Detection" Rule 1... IP Adress/Port is NVR virtual host PoE port 1 (192.168.154.5:65001)...

Toggle "Notify Surveillance Center" on:

Screenshot 2025-10-28 133133.png


Toggle "Notify Surveillance Center" off:

Screenshot 2025-10-28 132937.png


Here is the body code so you don't have to retype it...

Code:
<?xml version="1.0" encoding="UTF-8"?>
<EventTrigger>
    <id>fielddetection-1</id>
    <eventType>fielddetection</eventType>
    <videoInputChannelID>1</videoInputChannelID>
    <EventTriggerNotificationList>
        <EventTriggerNotification>
            <id>center</id>
            <notificationMethod>center</notificationMethod>
        </EventTriggerNotification>
    </EventTriggerNotificationList>
</EventTrigger>

Code:
<?xml version="1.0" encoding="UTF-8"?>
<EventTrigger>
    <id>fielddetection-1</id>
    <eventType>fielddetection</eventType>
    <videoInputChannelID>1</videoInputChannelID>
    <EventTriggerNotificationList/>
</EventTrigger>
 
One thing to note...

All the "Linkage Method" items need to be set together, so the above "off" body code actually toggles off "Send Email", "Notify Surveillance Center", "Upload to FTP/Memory Card/NAS", "Supplement Light", and "Recording Linkage"... the "on" body code only turns "Notify Surveillance Center" back on.

So, let me know if you want me to adjust the code so that the other items (besides "Notify Surveillance Center") should be on or off, and I will adjust the code.

Screenshot 2025-10-28 144320.png
 
Thanks for your help.
After your help, for camera setting I used the browser developer mode to select "Network" and then "Payload." I was able to see the code I needed to insert to enable and disable the various links.

Now the problem is if I activate "Notify Surveillance Center" from the NVR always via Postman PUT, the "Area settings" configuration of the camera is also overwritten, and I would like to keep it because the draw areas set by the camera have more points than those of the NVR

1761787131303.png
 
NVR Device Model DS-7608NXI-I2 / 8P/S
Firmware Version V4.62.225 build 240123
1761933381363.png

for enable enable Notify Surveillance Center send HTTP PUT ....
<?xml version
"1.0" encoding="UTF-8"?>
<EventTrigger>
<id>fielddetection-4
</id>
<eventType>fielddetection
</eventType>
<dynVideoInputChannelID>4
</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>record-4
</id>
<notificationMethod>record
</notificationMethod>
<dynVideoInputID>4
</dynVideoInputID>
</EventTriggerNotification>
<EventTriggerNotification>
<id>center
</id>
<notificationMethod>center
</notificationMethod>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>

for disable Notify Surveillance Center HTTP PUT ....
<?xml version
"1.0" encoding="UTF-8"?>
<EventTrigger>
<id>fielddetection-4
</id>
<eventType>fielddetection
</eventType>
<dynVideoInputChannelID>4
</dynVideoInputChannelID>
<EventTriggerNotificationList>
<EventTriggerNotification>
<id>record-4
</id>
<notificationMethod>record
</notificationMethod>
<dynVideoInputID>4
</dynVideoInputID>
</EventTriggerNotification>
</EventTriggerNotificationList>
</EventTrigger>

To enable or disable the "Surveillance Center" notification, which HTTP PUT should I send without modifying other parts?
Sending the above strings strangely overwrites the "Area Settings" previously configured by the camera because the draw areas set by the camera have more points than those of the NVR.
 
To enable or disable the "Surveillance Center" notification, which HTTP PUT should I send without modifying other parts?

This code turns everything on:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<EventTrigger>
    <id>FieldDetection-1</id>
    <eventType>FieldDetection</eventType>
    <dynVideoInputChannelID>1</dynVideoInputChannelID>
    <EventTriggerNotificationList>
        <EventTriggerNotification>
            <id>record-1</id>
            <notificationMethod>record</notificationMethod>
            <dynVideoInputID>1</dynVideoInputID>
        </EventTriggerNotification>
        <EventTriggerNotification>
            <id>email</id>
            <notificationMethod>email</notificationMethod>
        </EventTriggerNotification>
        <EventTriggerNotification>
            <id>monitorAlarm</id>
            <notificationMethod>monitorAlarm</notificationMethod>
        </EventTriggerNotification>
        <EventTriggerNotification>
            <id>beep</id>
            <notificationMethod>beep</notificationMethod>
        </EventTriggerNotification>
        <EventTriggerNotification>
            <id>center</id>
            <notificationMethod>center</notificationMethod>
        </EventTriggerNotification>
        <EventTriggerNotification>
            <id>audio</id>
            <notificationMethod>audio</notificationMethod>
        </EventTriggerNotification>
    </EventTriggerNotificationList>
</EventTrigger>

If an <EventTriggerNotification> block is omitted, then that option is turned off... for example, this code will only turn on "Notify Surveillance Center" and "Buzzer":

Code:
<?xml version="1.0" encoding="UTF-8"?>
<EventTrigger>
    <id>FieldDetection-1</id>
    <eventType>FieldDetection</eventType>
    <dynVideoInputChannelID>1</dynVideoInputChannelID>
    <EventTriggerNotificationList>
        <EventTriggerNotification>
            <id>beep</id>
            <notificationMethod>beep</notificationMethod>
        </EventTriggerNotification>
        <EventTriggerNotification>
            <id>center</id>
            <notificationMethod>center</notificationMethod>
        </EventTriggerNotification>
    </EventTriggerNotificationList>
</EventTrigger>

Therefore, this code turns everything off:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<EventTrigger>
    <id>FieldDetection-1</id>
    <eventType>FieldDetection</eventType>
    <dynVideoInputChannelID>1</dynVideoInputChannelID>
    <EventTriggerNotificationList>
    </EventTriggerNotificationList>
</EventTrigger>
 
Sending the above strings strangely overwrites the "Area Settings" previously configured by the camera because the draw areas set by the camera have more points than those of the NVR.

Are you sure that is happening? The "Area Settings" are on a different tab/page... are you also possibly using ISAPI to toggle "Enable"?

Screenshot 2025-10-31 184929.png


I see that toggling "Enable" on/off with ISAPI can cause the draw area to be reset... Here is what I see being sent in Wireshark when I toggle "Enable" on/off and hit "Save" (<enabled>true</enabled> for on, <enabled>false</enabled> for off):

Code:
<?xml version="1.0" encoding="UTF-8"?>
<FieldDetection xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
    <id>1</id>
    <enabled>true</enabled>
    <normalizedScreenSize>
        <normalizedScreenWidth>1000</normalizedScreenWidth>
        <normalizedScreenHeight>1000</normalizedScreenHeight>
    </normalizedScreenSize>
    <FieldDetectionRegionList size="4">
        <FieldDetectionRegion>
            <id>1</id>
            <sensitivityLevel>50</sensitivityLevel>
            <timeThreshold>5</timeThreshold>
            <detectionTarget>all</detectionTarget>
            <alarmConfidence>mediumHigh</alarmConfidence>
            <RegionCoordinatesList xmlns="">
                <RegionCoordinates>
                    <positionX>263</positionX>
                    <positionY>868</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>508</positionX>
                    <positionY>865</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>633</positionX>
                    <positionY>813</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>792</positionX>
                    <positionY>675</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>888</positionX>
                    <positionY>513</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>904</positionX>
                    <positionY>312</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>820</positionX>
                    <positionY>186</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>625</positionX>
                    <positionY>202</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>477</positionX>
                    <positionY>296</positionY>
                </RegionCoordinates>
                <RegionCoordinates>
                    <positionX>395</positionX>
                    <positionY>434</positionY>
                </RegionCoordinates>
            </RegionCoordinatesList>
        </FieldDetectionRegion>
        <FieldDetectionRegion>
            <id>2</id>
            <sensitivityLevel>50</sensitivityLevel>
            <timeThreshold>0</timeThreshold>
            <detectionTarget>all</detectionTarget>
            <alarmConfidence>low</alarmConfidence>
            <RegionCoordinatesList xmlns=""/>
        </FieldDetectionRegion>
        <FieldDetectionRegion>
            <id>3</id>
            <sensitivityLevel>50</sensitivityLevel>
            <timeThreshold>0</timeThreshold>
            <detectionTarget>human,human</detectionTarget>
            <alarmConfidence>low</alarmConfidence>
            <RegionCoordinatesList xmlns=""/>
        </FieldDetectionRegion>
        <FieldDetectionRegion>
            <id>4</id>
            <sensitivityLevel>50</sensitivityLevel>
            <timeThreshold>0</timeThreshold>
            <detectionTarget>human,human</detectionTarget>
            <alarmConfidence>low</alarmConfidence>
            <RegionCoordinatesList xmlns=""/>
        </FieldDetectionRegion>
    </FieldDetectionRegionList>
</FieldDetection>


Sometimes body co tains multipart, you dont necesarilly need to send post put entire body, just part of it that you need

I think in this case, the entire body needs to be sent, or the draw area is lost?


Sending the above strings strangely overwrites the "Area Settings" previously configured by the camera because the draw areas set by the camera have more points than those of the NVR.

What model number/firmware version is the camera? I suspect it's a newer model camera... I think the NVR firmware has not "kept up" with full support for this newer camera...