#
# Call Gap Simulation using Asychronous Elastic sampled Catch Up Call Generator - AESCUCG
#
# Use View source to see the JavaScript used.
# Do a save of the source and edit the
# parameters and run the page locally on your PC.
#
# You can edit the call rate, the number of SSP and the number of call gappers configured.
#
# In the telephony books, calls are said to be spaced by an interArrivalTime
#
# The interArrivalTime is often modelled based on a negative exponetial.
# interArrivalTime = -log(1-rand( )) / CallsPerSecond
#
# The negative exponetial distribution has the properties that when a call starts does not depend on history.
#
# The CallsPerSecond is the mean call rate.
#
# A simple call generator can be built that makes a call and waits for the interArrivalTime,
#
# Most real time systems allow timer interupts.
#
# These can be either regular ticks or started for the wanted duration.
# This AWK script models what happens if the interArrivalTime required is less that the
# smallest timer tick.
#
# It is possible to model the simple call generator in non real time by looping the simple
# call generator, and incrementing the simulatedTime by adding interArrivalTime to simulatedTime.
#
# This script combines the simulation and a constant time time method and uses a catch up while loop
# to catch up the simulatedTime each timerTick.
#
# This script also models a Call Gapping loosely based on ITU INAP Call Gapping.
# NOTE: However, instead of storing the gapInterval in each call gapper it is global
# NOTE: CallGap Messages are not sent to the simulated ,
# call gapping is applied to all simulated ssp and numbers.
#
# Time is stored in a variable called simulatedTime and realTime
#
# simulatedTime is incremented by the interArrivalTimes once per simulated call
# tickedTime is incremented by the timerticks once per timer tick or interupt
#
#
# Every time the tickTimer ticks I would normally call a function called timerTickTimeSliceCode()
# Every time a simulated call is required I call a function called nextCallOpportunityTimeSlice( simulatedTime )
#
#
# The Timer ticks are at a constant interval. This script uses a loop, and does not wait for real time.
#
EDIT
configuration parameters |