I have an idea for you. Bare with me here as this is just a thought right now in my head.
Lets say the UN dudes are west and the side that will shoot will be from the east.
In your init.sqs script put the line: shotsfired = false
Create a gamelogic unit and name it "basegl". Place it in the center of your UN base.
Create a trigger that covers ALL of the eastern units on the map. Set it to "east present".
In the on activation field type:
"[_x] exec ""shotdetect.sqs""" foreach units thislist
Now for the "shotdetect.sqs" script.
_unit = _this select 0
_weapons = weapons _unit
_gun = _weapons select 0
_ammo = (_unit ammo _gun)
#loop
@!shotsfired
@((_unit ammo _gun) < _ammo) && ((_unit distance basegl) < 900)
shotsfired = true
location = getpos _unit
goto "loop"
Now the first time an eastern soldier fires off a round, the variable "shotfired" will be set yo true as long as he is within 900 meters of the gamelogic called basegl. The location of the shots will be placed in a variable called "location". you can set up a trigger that causes a squad to be sent to the location of the shots or to just go to aware behaviour.
You could also set up a trigger that resets the shotsfired variable after a period of time.
Set it to repeat and make it's condition "shotsfired"
set it to countdown however long you want it to wait. In the on activation field put "shotsfired=false"
None of this has been tested but I know it could work. If you want to try something like this let me know if you ahve any more questions.