the starcal function, time-cal carries the time consuming by "Timer A and B" and also indicates the time attribute of each token, which is an important value for further calculation and analysis. C 2009 by Taylor & Francis Group, LLC SIP Modeling and Simulation RTPNONE Message U1toU2 intruder intruder U2toU1 OK200 Message RTPNONE Top level model U2toU1 U1toU2 RTPCONN Message Message RTPCONN intruder G BYE Message Intruder model Message RTPCONN Incoming1 RTPNONE RTPCONN OK200 RTPCONN R_BYE D_ATTACK System OK200 OK200 RTPNONE RTPCONN Store2 Alarming System Message Message Message RTPNONE Outgoing1 A_BYE OK200 RTPNONE UA1 model Message Message RTPCONN Incoming2 Outgoing2 RTPCONN S RTP R_ACK @ ++1 RTPCONN G RTP Store Message System RTPCONN C_RTP RTPNONE Busy486 UA2 model FIGURE 16.10 BYE attack model through simplified modeling method. C 2009 by Taylor & Francis Group, LLC SIP Handbook: Services, Technologies, and Security INVITE 1' INVITE@ 1500 Message INVITE if OT(time_cal) time_pass then 1 'Timeout408 else 1' INVITE 1 2000@ 1500 time_cal Timer A and B time_cal time_cons @ + (if OT (time_cal) +time_pass time_cons 1 ' 1000@1500 then 0 else time_pass) if OT (time_cal) Message then empty else 1 'INVITE Transport Layer 1 INVITE@1500+++ 1 INVITE @ 150 FIGURE 16.11 Timer modeling for INVITE client transaction. fun startcal (t:time_cons) = val time_stamp = ModelTime.add(time(),ModelTime.fromInt(t) val new_cal=Intlnf.tolnt(time_stamp) (new_cal) INVITE Message if OT(time_cal) INVITE time_pass then 1 ' Timeout408 else 1' , INVITE @+time_pass Timer A and B input (time_pass); output (time_cal); time_cons action startcal(time_pass); if OT(time_cal) then empty else 1 ' INVITE Transport layer Message FIGURE 16.12 Timer modeling with code segment of time transition. C 2009 by Taylor & Francis Group, LLC SIP Modeling and Simulation 16.3.4 Simulation and Analysis As CPN tools is based on CPN, it offers specific tools to analyze properties of modeled net, such as boundness and liveness properties shown in the sim- ulation report, aut